Bug 793125 - Crash due to popup menus left attached too long
[evolution.git] / src / calendar / gui / e-alarm-list.h
blobd99935cfceeb8c554c58135a73b15642e5177cb1
1 /*
3 * EAlarmList - list of calendar alarms with GtkTreeModel interface.
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 * Hans Petter Jansson <hpj@ximian.com>
21 * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
25 #ifndef E_ALARM_LIST_H
26 #define E_ALARM_LIST_H
28 #include <gtk/gtk.h>
29 #include <libecal/libecal.h>
31 G_BEGIN_DECLS
33 #define E_TYPE_ALARM_LIST (e_alarm_list_get_type ())
34 #define E_ALARM_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_ALARM_LIST, EAlarmList))
35 #define E_ALARM_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), E_TYPE_ALARM_LIST, EAlarmListClass))
36 #define E_IS_ALARM_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), E_TYPE_ALARM_LIST))
37 #define E_IS_ALARM_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), E_TYPE_ALARM_LIST))
38 #define E_ALARM_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), E_TYPE_ALARM_LIST, EAlarmListClass))
40 typedef struct _EAlarmList EAlarmList;
41 typedef struct _EAlarmListClass EAlarmListClass;
43 typedef enum
45 E_ALARM_LIST_COLUMN_DESCRIPTION,
47 E_ALARM_LIST_NUM_COLUMNS
49 EAlarmListColumnType;
51 struct _EAlarmList
53 GObject parent;
55 /* Private */
57 gint stamp;
58 GList *list;
60 guint columns_dirty : 1;
63 struct _EAlarmListClass
65 GObjectClass parent_class;
68 GType e_alarm_list_get_type (void);
69 EAlarmList *e_alarm_list_new (void);
71 const ECalComponentAlarm *e_alarm_list_get_alarm (EAlarmList *alarm_list, GtkTreeIter *iter);
72 void e_alarm_list_set_alarm (EAlarmList *alarm_list, GtkTreeIter *iter,
73 const ECalComponentAlarm *datetime);
74 void e_alarm_list_append (EAlarmList *alarm_list, GtkTreeIter *iter,
75 const ECalComponentAlarm *datetime);
76 void e_alarm_list_remove (EAlarmList *alarm_list, GtkTreeIter *iter);
77 void e_alarm_list_clear (EAlarmList *alarm_list);
79 G_END_DECLS
81 #endif /* E_ALARM_LIST_H */