aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-calendar-table.h
diff options
context:
space:
mode:
authorDamon Chaplin <damon@helixcode.com>2001-01-14 09:54:40 +0800
committerDamon Chaplin <damon@src.gnome.org>2001-01-14 09:54:40 +0800
commitaeee1c7d97529df56361602e299af7d9284895dc (patch)
tree35849b553f3b75b99c0d78b727f424157ba6381d /calendar/gui/e-calendar-table.h
parentaee2e69158e4e55662b310894406d16a38d629de (diff)
downloadgsoc2013-evolution-aeee1c7d97529df56361602e299af7d9284895dc.tar
gsoc2013-evolution-aeee1c7d97529df56361602e299af7d9284895dc.tar.gz
gsoc2013-evolution-aeee1c7d97529df56361602e299af7d9284895dc.tar.bz2
gsoc2013-evolution-aeee1c7d97529df56361602e299af7d9284895dc.tar.lz
gsoc2013-evolution-aeee1c7d97529df56361602e299af7d9284895dc.tar.xz
gsoc2013-evolution-aeee1c7d97529df56361602e299af7d9284895dc.tar.zst
gsoc2013-evolution-aeee1c7d97529df56361602e299af7d9284895dc.zip
moved #include <cal-client/cal-client.h> to the .h file.
2001-01-14 Damon Chaplin <damon@helixcode.com> * gui/dialogs/task-editor.[hc]: moved #include <cal-client/cal-client.h> to the .h file. * gui/e-tasks.c: load & save the Tasks folders' ETable layout. Added an option menu to filter tasks by category. * gui/gnome-cal.c: use the "Tasks" folder for the TaskPad. (We may make the actual tasks folder shown a per-calendar option.) * gui/tasks-control.c (tasks_control_new_task_cmd): added support for the New Task icon on the toolbar. * gui/e-calendar-table.[hc]: we now use an ETableSubsetVariable model to filter the tasks by a category. And tidied up a little. * gui/calendar-model.[hc]: added way to get all the categories used by the tasks, so we can show an option menu of them. Also a signal which is emitted when they are changed. Also allows a default category to be set, which is used to initialize the 'click-to-add' row. Also made sure the initialize_value()/get_value() functions don't return NULL since that can cause a SEGV. * gui/e-week-view.c: * gui/e-day-view.c: set the "fill_color_rgba" arg of the EText items to black since it doesn't seem to set up a default color properly. Hopefully this fixes the bug on Solaris where the items appear with strange colors. * gui/widget-util.c (date_edit_new): use the calendar_config function to set most of the options. It wasn't setting the 12/24 hour option before. * gui/dialogs/task-editor-dialog.glade: added "Undefined" priority. svn path=/trunk/; revision=7483
Diffstat (limited to 'calendar/gui/e-calendar-table.h')
-rw-r--r--calendar/gui/e-calendar-table.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/calendar/gui/e-calendar-table.h b/calendar/gui/e-calendar-table.h
index 1265a80a72..6ca8a32515 100644
--- a/calendar/gui/e-calendar-table.h
+++ b/calendar/gui/e-calendar-table.h
@@ -53,16 +53,30 @@ typedef enum
typedef struct _ECalendarTable ECalendarTable;
typedef struct _ECalendarTableClass ECalendarTableClass;
+
+typedef gboolean (*ECalendarTableFilterFunc) (ECalendarTable *cal_table,
+ CalComponent *comp,
+ gpointer data);
+
struct _ECalendarTable
{
GtkTable table;
+ /* This is the underlying model which contains all the tasks/events. */
CalendarModel *model;
+
+ /* This is the model that we use when filtering the tasks/events. */
+ ETableModel *subset_model;
GtkWidget *etable;
/* Colors for drawing. */
GdkColor colors[E_CALENDAR_TABLE_COLOR_LAST];
+
+ /* Data for filtering the Tasks. */
+ ECalendarTableFilterFunc filter_func;
+ gpointer filter_data;
+ GDestroyNotify filter_data_destroy;
};
struct _ECalendarTableClass
@@ -85,6 +99,15 @@ void e_calendar_table_load_state (ECalendarTable *cal_table,
void e_calendar_table_save_state (ECalendarTable *cal_table,
gchar *filename);
+void e_calendar_table_set_filter_func (ECalendarTable *cal_table,
+ ECalendarTableFilterFunc filter_func,
+ gpointer filter_data,
+ GDestroyNotify filter_data_destroy);
+gboolean e_calendar_table_filter_by_category (ECalendarTable *cal_table,
+ CalComponent *comp,
+ gpointer filter_data);
+
+
#ifdef __cplusplus
}
#endif /* __cplusplus */