Bug 793125 - Crash due to popup menus left attached too long
[evolution.git] / src / calendar / gui / e-cal-model-calendar.h
blobc5d6833b9d39226029ac4134ed8388323f2659b8
1 /*
3 * Evolution calendar - Data model for ETable
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU Lesser General Public License as published by
7 * the Free Software Foundation.
9 * This program is distributed in the hope that it will be useful, but
10 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
11 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * for more details.
14 * You should have received a copy of the GNU Lesser General Public License
15 * along with this program; if not, see <http://www.gnu.org/licenses/>.
18 * Authors:
19 * Rodrigo Moya <rodrigo@ximian.com>
21 * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
25 #ifndef E_CAL_MODEL_CALENDAR_H
26 #define E_CAL_MODEL_CALENDAR_H
28 #include "e-cal-model.h"
30 /* Standard GObject macros */
31 #define E_TYPE_CAL_MODEL_CALENDAR \
32 (e_cal_model_calendar_get_type ())
33 #define E_CAL_MODEL_CALENDAR(obj) \
34 (G_TYPE_CHECK_INSTANCE_CAST \
35 ((obj), E_TYPE_CAL_MODEL_CALENDAR, ECalModelCalendar))
36 #define E_CAL_MODEL_CALENDAR_CLASS(cls) \
37 (G_TYPE_CHECK_CLASS_CAST \
38 ((cls), E_TYPE_CAL_MODEL_CALENDAR, ECalModelCalendarClass))
39 #define E_IS_CAL_MODEL_CALENDAR(obj) \
40 (G_TYPE_CHECK_INSTANCE_TYPE \
41 ((obj), E_TYPE_CAL_MODEL_CALENDAR))
42 #define E_IS_CAL_MODEL_CALENDAR_CLASS(cls) \
43 (G_TYPE_CHECK_CLASS_TYPE \
44 ((cls), E_TYPE_CAL_MODEL_CALENDAR))
45 #define E_CAL_MODEL_CALENDAR_GET_CLASS(obj) \
46 (G_TYPE_INSTANCE_GET_CLASS \
47 ((obj), E_TYPE_CAL_MODEL_CALENDAR, ECalModelCalendarClass))
49 G_BEGIN_DECLS
51 typedef struct _ECalModelCalendar ECalModelCalendar;
52 typedef struct _ECalModelCalendarClass ECalModelCalendarClass;
53 typedef struct _ECalModelCalendarPrivate ECalModelCalendarPrivate;
55 typedef enum {
56 /* If you add new items here or reorder them, you have to update the
57 * .etspec files for the tables using this model */
58 E_CAL_MODEL_CALENDAR_FIELD_DTEND = E_CAL_MODEL_FIELD_LAST,
59 E_CAL_MODEL_CALENDAR_FIELD_LOCATION,
60 E_CAL_MODEL_CALENDAR_FIELD_TRANSPARENCY,
61 E_CAL_MODEL_CALENDAR_FIELD_LAST
62 } ECalModelCalendarField;
64 struct _ECalModelCalendar {
65 ECalModel parent;
66 ECalModelCalendarPrivate *priv;
69 struct _ECalModelCalendarClass {
70 ECalModelClass parent_class;
73 GType e_cal_model_calendar_get_type (void);
74 ECalModel * e_cal_model_calendar_new (ECalDataModel *data_model,
75 ESourceRegistry *registry,
76 EShell *shell);
78 G_END_DECLS
80 #endif /* E_CAL_MODEL_CALENDAR_H */