aboutsummaryrefslogtreecommitdiffstats
path: root/calendar
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2013-06-18 23:54:15 +0800
committerMatthew Barnes <mbarnes@redhat.com>2013-06-19 08:32:06 +0800
commit78c9f356f97f0b40cbd3ad730b8931f75d0649a2 (patch)
treec2cef75d392b1deae3cfc44c3d6bb7b43c417d70 /calendar
parentc6ccd45a0ef07b12a0313deb3abee032d89eec0a (diff)
downloadgsoc2013-evolution-78c9f356f97f0b40cbd3ad730b8931f75d0649a2.tar
gsoc2013-evolution-78c9f356f97f0b40cbd3ad730b8931f75d0649a2.tar.gz
gsoc2013-evolution-78c9f356f97f0b40cbd3ad730b8931f75d0649a2.tar.bz2
gsoc2013-evolution-78c9f356f97f0b40cbd3ad730b8931f75d0649a2.tar.lz
gsoc2013-evolution-78c9f356f97f0b40cbd3ad730b8931f75d0649a2.tar.xz
gsoc2013-evolution-78c9f356f97f0b40cbd3ad730b8931f75d0649a2.tar.zst
gsoc2013-evolution-78c9f356f97f0b40cbd3ad730b8931f75d0649a2.zip
Convert ETableModel to an interface.
Similar to what was recently done to ETreeModel.
Diffstat (limited to 'calendar')
-rw-r--r--calendar/gui/e-cal-model-calendar.c56
-rw-r--r--calendar/gui/e-cal-model-memos.c58
-rw-r--r--calendar/gui/e-cal-model-tasks.c60
-rw-r--r--calendar/gui/e-cal-model.c46
-rw-r--r--calendar/gui/e-cal-model.h4
5 files changed, 142 insertions, 82 deletions
diff --git a/calendar/gui/e-cal-model-calendar.c b/calendar/gui/e-cal-model-calendar.c
index 114ffd4a7e..cc1e5a46e0 100644
--- a/calendar/gui/e-cal-model-calendar.c
+++ b/calendar/gui/e-cal-model-calendar.c
@@ -35,10 +35,19 @@
#include "dialogs/recur-comp.h"
#include "dialogs/send-comp.h"
-G_DEFINE_TYPE (
+/* Forward Declarations */
+static void e_cal_model_calendar_table_model_init
+ (ETableModelInterface *interface);
+
+static ETableModelInterface *table_model_parent_interface;
+
+G_DEFINE_TYPE_WITH_CODE (
ECalModelCalendar,
e_cal_model_calendar,
- E_TYPE_CAL_MODEL)
+ E_TYPE_CAL_MODEL,
+ G_IMPLEMENT_INTERFACE (
+ E_TYPE_TABLE_MODEL,
+ e_cal_model_calendar_table_model_init))
static ECellDateEditValue *
get_dtend (ECalModelCalendar *model,
@@ -232,7 +241,7 @@ cal_model_calendar_value_at (ETableModel *etm,
g_return_val_if_fail (row >= 0 && row < e_table_model_row_count (etm), NULL);
if (col < E_CAL_MODEL_FIELD_LAST)
- return E_TABLE_MODEL_CLASS (e_cal_model_calendar_parent_class)->value_at (etm, col, row);
+ return table_model_parent_interface->value_at (etm, col, row);
comp_data = e_cal_model_get_component_at (E_CAL_MODEL (model), row);
if (!comp_data)
@@ -270,7 +279,7 @@ cal_model_calendar_set_value_at (ETableModel *etm,
registry = e_cal_model_get_registry (E_CAL_MODEL (model));
if (col < E_CAL_MODEL_FIELD_LAST) {
- E_TABLE_MODEL_CLASS (e_cal_model_calendar_parent_class)->set_value_at (etm, col, row, value);
+ table_model_parent_interface->set_value_at (etm, col, row, value);
return;
}
@@ -362,7 +371,7 @@ cal_model_calendar_is_cell_editable (ETableModel *etm,
g_return_val_if_fail (row >= -1 || (row >= 0 && row < e_table_model_row_count (etm)), FALSE);
if (col < E_CAL_MODEL_FIELD_LAST)
- return E_TABLE_MODEL_CLASS (e_cal_model_calendar_parent_class)->is_cell_editable (etm, col, row);
+ return table_model_parent_interface->is_cell_editable (etm, col, row);
if (!e_cal_model_test_row_editable (E_CAL_MODEL (etm), row))
return FALSE;
@@ -385,7 +394,7 @@ cal_model_calendar_duplicate_value (ETableModel *etm,
g_return_val_if_fail (col >= 0 && col < E_CAL_MODEL_CALENDAR_FIELD_LAST, NULL);
if (col < E_CAL_MODEL_FIELD_LAST)
- return E_TABLE_MODEL_CLASS (e_cal_model_calendar_parent_class)->duplicate_value (etm, col, value);
+ return table_model_parent_interface->duplicate_value (etm, col, value);
switch (col) {
case E_CAL_MODEL_CALENDAR_FIELD_DTEND :
@@ -415,7 +424,7 @@ cal_model_calendar_free_value (ETableModel *etm,
g_return_if_fail (col >= 0 && col < E_CAL_MODEL_CALENDAR_FIELD_LAST);
if (col < E_CAL_MODEL_FIELD_LAST) {
- E_TABLE_MODEL_CLASS (e_cal_model_calendar_parent_class)->free_value (etm, col, value);
+ table_model_parent_interface->free_value (etm, col, value);
return;
}
@@ -436,7 +445,7 @@ cal_model_calendar_initialize_value (ETableModel *etm,
g_return_val_if_fail (col >= 0 && col < E_CAL_MODEL_CALENDAR_FIELD_LAST, NULL);
if (col < E_CAL_MODEL_FIELD_LAST)
- return E_TABLE_MODEL_CLASS (e_cal_model_calendar_parent_class)->initialize_value (etm, col);
+ return table_model_parent_interface->initialize_value (etm, col);
switch (col) {
case E_CAL_MODEL_CALENDAR_FIELD_DTEND :
@@ -457,7 +466,7 @@ cal_model_calendar_value_is_empty (ETableModel *etm,
g_return_val_if_fail (col >= 0 && col < E_CAL_MODEL_CALENDAR_FIELD_LAST, TRUE);
if (col < E_CAL_MODEL_FIELD_LAST)
- return E_TABLE_MODEL_CLASS (e_cal_model_calendar_parent_class)->value_is_empty (etm, col, value);
+ return table_model_parent_interface->value_is_empty (etm, col, value);
switch (col) {
case E_CAL_MODEL_CALENDAR_FIELD_DTEND :
@@ -478,7 +487,7 @@ cal_model_calendar_value_to_string (ETableModel *etm,
g_return_val_if_fail (col >= 0 && col < E_CAL_MODEL_CALENDAR_FIELD_LAST, g_strdup (""));
if (col < E_CAL_MODEL_FIELD_LAST)
- return E_TABLE_MODEL_CLASS (e_cal_model_calendar_parent_class)->value_to_string (etm, col, value);
+ return table_model_parent_interface->value_to_string (etm, col, value);
switch (col) {
case E_CAL_MODEL_CALENDAR_FIELD_DTEND :
@@ -495,21 +504,26 @@ static void
e_cal_model_calendar_class_init (ECalModelCalendarClass *class)
{
ECalModelClass *model_class;
- ETableModelClass *etm_class;
model_class = E_CAL_MODEL_CLASS (class);
model_class->fill_component_from_model = cal_model_calendar_fill_component_from_model;
+}
- etm_class = E_TABLE_MODEL_CLASS (class);
- etm_class->column_count = cal_model_calendar_column_count;
- etm_class->value_at = cal_model_calendar_value_at;
- etm_class->set_value_at = cal_model_calendar_set_value_at;
- etm_class->is_cell_editable = cal_model_calendar_is_cell_editable;
- etm_class->duplicate_value = cal_model_calendar_duplicate_value;
- etm_class->free_value = cal_model_calendar_free_value;
- etm_class->initialize_value = cal_model_calendar_initialize_value;
- etm_class->value_is_empty = cal_model_calendar_value_is_empty;
- etm_class->value_to_string = cal_model_calendar_value_to_string;
+static void
+e_cal_model_calendar_table_model_init (ETableModelInterface *interface)
+{
+ table_model_parent_interface =
+ g_type_interface_peek_parent (interface);
+
+ interface->column_count = cal_model_calendar_column_count;
+ interface->value_at = cal_model_calendar_value_at;
+ interface->set_value_at = cal_model_calendar_set_value_at;
+ interface->is_cell_editable = cal_model_calendar_is_cell_editable;
+ interface->duplicate_value = cal_model_calendar_duplicate_value;
+ interface->free_value = cal_model_calendar_free_value;
+ interface->initialize_value = cal_model_calendar_initialize_value;
+ interface->value_is_empty = cal_model_calendar_value_is_empty;
+ interface->value_to_string = cal_model_calendar_value_to_string;
}
static void
diff --git a/calendar/gui/e-cal-model-memos.c b/calendar/gui/e-cal-model-memos.c
index dc3440e54d..c6fecc2e4b 100644
--- a/calendar/gui/e-cal-model-memos.c
+++ b/calendar/gui/e-cal-model-memos.c
@@ -35,10 +35,19 @@
#define d(x) (x)
-G_DEFINE_TYPE (
+/* Forward Declarations */
+static void e_cal_model_memos_table_model_init
+ (ETableModelInterface *interface);
+
+static ETableModelInterface *table_model_parent_interface;
+
+G_DEFINE_TYPE_WITH_CODE (
ECalModelMemos,
e_cal_model_memos,
- E_TYPE_CAL_MODEL)
+ E_TYPE_CAL_MODEL,
+ G_IMPLEMENT_INTERFACE (
+ E_TYPE_TABLE_MODEL,
+ e_cal_model_memos_table_model_init))
static void
cal_model_memos_fill_component_from_model (ECalModel *model,
@@ -78,7 +87,7 @@ cal_model_memos_value_at (ETableModel *etm,
g_return_val_if_fail (row >= 0 && row < e_table_model_row_count (etm), NULL);
if (col < E_CAL_MODEL_FIELD_LAST)
- return E_TABLE_MODEL_CLASS (e_cal_model_memos_parent_class)->value_at (etm, col, row);
+ return table_model_parent_interface->value_at (etm, col, row);
comp_data = e_cal_model_get_component_at (E_CAL_MODEL (model), row);
if (!comp_data)
@@ -102,7 +111,7 @@ cal_model_memos_set_value_at (ETableModel *etm,
g_return_if_fail (row >= 0 && row < e_table_model_row_count (etm));
if (col < E_CAL_MODEL_FIELD_LAST) {
- E_TABLE_MODEL_CLASS (e_cal_model_memos_parent_class)->set_value_at (etm, col, row, value);
+ table_model_parent_interface->set_value_at (etm, col, row, value);
return;
}
@@ -143,7 +152,7 @@ cal_model_memos_is_cell_editable (ETableModel *etm,
return FALSE;
if (col < E_CAL_MODEL_FIELD_LAST)
- retval = E_TABLE_MODEL_CLASS (e_cal_model_memos_parent_class)->is_cell_editable (etm, col, row);
+ retval = table_model_parent_interface->is_cell_editable (etm, col, row);
return retval;
}
@@ -156,7 +165,7 @@ cal_model_memos_duplicate_value (ETableModel *etm,
g_return_val_if_fail (col >= 0 && col < E_CAL_MODEL_MEMOS_FIELD_LAST, NULL);
if (col < E_CAL_MODEL_FIELD_LAST)
- return E_TABLE_MODEL_CLASS (e_cal_model_memos_parent_class)->duplicate_value (etm, col, value);
+ return table_model_parent_interface->duplicate_value (etm, col, value);
return NULL;
}
@@ -169,7 +178,7 @@ cal_model_memos_free_value (ETableModel *etm,
g_return_if_fail (col >= 0 && col < E_CAL_MODEL_MEMOS_FIELD_LAST);
if (col < E_CAL_MODEL_FIELD_LAST) {
- E_TABLE_MODEL_CLASS (e_cal_model_memos_parent_class)->free_value (etm, col, value);
+ table_model_parent_interface->free_value (etm, col, value);
return;
}
}
@@ -181,7 +190,7 @@ cal_model_memos_initialize_value (ETableModel *etm,
g_return_val_if_fail (col >= 0 && col < E_CAL_MODEL_MEMOS_FIELD_LAST, NULL);
if (col < E_CAL_MODEL_FIELD_LAST)
- return E_TABLE_MODEL_CLASS (e_cal_model_memos_parent_class)->initialize_value (etm, col);
+ return table_model_parent_interface->initialize_value (etm, col);
return NULL;
}
@@ -194,7 +203,7 @@ cal_model_memos_value_is_empty (ETableModel *etm,
g_return_val_if_fail (col >= 0 && col < E_CAL_MODEL_MEMOS_FIELD_LAST, TRUE);
if (col < E_CAL_MODEL_FIELD_LAST)
- return E_TABLE_MODEL_CLASS (e_cal_model_memos_parent_class)->value_is_empty (etm, col, value);
+ return table_model_parent_interface->value_is_empty (etm, col, value);
return TRUE;
}
@@ -207,7 +216,7 @@ cal_model_memos_value_to_string (ETableModel *etm,
g_return_val_if_fail (col >= 0 && col < E_CAL_MODEL_MEMOS_FIELD_LAST, g_strdup (""));
if (col < E_CAL_MODEL_FIELD_LAST)
- return E_TABLE_MODEL_CLASS (e_cal_model_memos_parent_class)->value_to_string (etm, col, value);
+ return table_model_parent_interface->value_to_string (etm, col, value);
return g_strdup ("");
}
@@ -216,21 +225,28 @@ static void
e_cal_model_memos_class_init (ECalModelMemosClass *class)
{
ECalModelClass *model_class;
- ETableModelClass *etm_class;
model_class = E_CAL_MODEL_CLASS (class);
model_class->fill_component_from_model = cal_model_memos_fill_component_from_model;
+}
+
+static void
+e_cal_model_memos_table_model_init (ETableModelInterface *interface)
+{
+ table_model_parent_interface =
+ g_type_interface_peek_parent (interface);
+
+ interface->column_count = cal_model_memos_column_count;
+
+ interface->value_at = cal_model_memos_value_at;
+ interface->set_value_at = cal_model_memos_set_value_at;
+ interface->is_cell_editable = cal_model_memos_is_cell_editable;
- etm_class = E_TABLE_MODEL_CLASS (class);
- etm_class->column_count = cal_model_memos_column_count;
- etm_class->value_at = cal_model_memos_value_at;
- etm_class->set_value_at = cal_model_memos_set_value_at;
- etm_class->is_cell_editable = cal_model_memos_is_cell_editable;
- etm_class->duplicate_value = cal_model_memos_duplicate_value;
- etm_class->free_value = cal_model_memos_free_value;
- etm_class->initialize_value = cal_model_memos_initialize_value;
- etm_class->value_is_empty = cal_model_memos_value_is_empty;
- etm_class->value_to_string = cal_model_memos_value_to_string;
+ interface->duplicate_value = cal_model_memos_duplicate_value;
+ interface->free_value = cal_model_memos_free_value;
+ interface->initialize_value = cal_model_memos_initialize_value;
+ interface->value_is_empty = cal_model_memos_value_is_empty;
+ interface->value_to_string = cal_model_memos_value_to_string;
}
static void
diff --git a/calendar/gui/e-cal-model-tasks.c b/calendar/gui/e-cal-model-tasks.c
index a3e6cb8107..bb9e8f4bbf 100644
--- a/calendar/gui/e-cal-model-tasks.c
+++ b/calendar/gui/e-cal-model-tasks.c
@@ -55,10 +55,19 @@ enum {
PROP_COLOR_OVERDUE
};
-G_DEFINE_TYPE (
+/* Forward Declarations */
+static void e_cal_model_tasks_table_model_init
+ (ETableModelInterface *interface);
+
+static ETableModelInterface *table_model_parent_interface;
+
+G_DEFINE_TYPE_WITH_CODE (
ECalModelTasks,
e_cal_model_tasks,
- E_TYPE_CAL_MODEL)
+ E_TYPE_CAL_MODEL,
+ G_IMPLEMENT_INTERFACE (
+ E_TYPE_TABLE_MODEL,
+ e_cal_model_tasks_table_model_init))
/* This makes sure a task is marked as complete.
* It makes sure the "Date Completed" property is set. If the completed_date
@@ -878,7 +887,7 @@ cal_model_tasks_value_at (ETableModel *etm,
g_return_val_if_fail (row >= 0 && row < e_table_model_row_count (etm), NULL);
if (col < E_CAL_MODEL_FIELD_LAST)
- return E_TABLE_MODEL_CLASS (e_cal_model_tasks_parent_class)->value_at (etm, col, row);
+ return table_model_parent_interface->value_at (etm, col, row);
comp_data = e_cal_model_get_component_at (E_CAL_MODEL (model), row);
if (!comp_data)
@@ -925,7 +934,7 @@ cal_model_tasks_set_value_at (ETableModel *etm,
g_return_if_fail (row >= 0 && row < e_table_model_row_count (etm));
if (col < E_CAL_MODEL_FIELD_LAST) {
- E_TABLE_MODEL_CLASS (e_cal_model_tasks_parent_class)->set_value_at (etm, col, row, value);
+ table_model_parent_interface->set_value_at (etm, col, row, value);
return;
}
@@ -976,7 +985,7 @@ cal_model_tasks_is_cell_editable (ETableModel *etm,
g_return_val_if_fail (row >= -1 || (row >= 0 && row < e_table_model_row_count (etm)), FALSE);
if (col < E_CAL_MODEL_FIELD_LAST)
- return E_TABLE_MODEL_CLASS (e_cal_model_tasks_parent_class)->is_cell_editable (etm, col, row);
+ return table_model_parent_interface->is_cell_editable (etm, col, row);
if (!e_cal_model_test_row_editable (E_CAL_MODEL (etm), row))
return FALSE;
@@ -1004,7 +1013,7 @@ cal_model_tasks_duplicate_value (ETableModel *etm,
g_return_val_if_fail (col >= 0 && col < E_CAL_MODEL_TASKS_FIELD_LAST, NULL);
if (col < E_CAL_MODEL_FIELD_LAST)
- return E_TABLE_MODEL_CLASS (e_cal_model_tasks_parent_class)->duplicate_value (etm, col, value);
+ return table_model_parent_interface->duplicate_value (etm, col, value);
switch (col) {
case E_CAL_MODEL_TASKS_FIELD_GEO :
@@ -1042,7 +1051,7 @@ cal_model_tasks_free_value (ETableModel *etm,
g_return_if_fail (col >= 0 && col < E_CAL_MODEL_TASKS_FIELD_LAST);
if (col < E_CAL_MODEL_FIELD_LAST) {
- E_TABLE_MODEL_CLASS (e_cal_model_tasks_parent_class)->free_value (etm, col, value);
+ table_model_parent_interface->free_value (etm, col, value);
return;
}
@@ -1073,7 +1082,7 @@ cal_model_tasks_initialize_value (ETableModel *etm,
g_return_val_if_fail (col >= 0 && col < E_CAL_MODEL_TASKS_FIELD_LAST, NULL);
if (col < E_CAL_MODEL_FIELD_LAST)
- return E_TABLE_MODEL_CLASS (e_cal_model_tasks_parent_class)->initialize_value (etm, col);
+ return table_model_parent_interface->initialize_value (etm, col);
switch (col) {
case E_CAL_MODEL_TASKS_FIELD_GEO :
@@ -1104,7 +1113,7 @@ cal_model_tasks_value_is_empty (ETableModel *etm,
g_return_val_if_fail (col >= 0 && col < E_CAL_MODEL_TASKS_FIELD_LAST, TRUE);
if (col < E_CAL_MODEL_FIELD_LAST)
- return E_TABLE_MODEL_CLASS (e_cal_model_tasks_parent_class)->value_is_empty (etm, col, value);
+ return table_model_parent_interface->value_is_empty (etm, col, value);
switch (col) {
case E_CAL_MODEL_TASKS_FIELD_GEO :
@@ -1136,7 +1145,7 @@ cal_model_tasks_value_to_string (ETableModel *etm,
g_return_val_if_fail (col >= 0 && col < E_CAL_MODEL_TASKS_FIELD_LAST, g_strdup (""));
if (col < E_CAL_MODEL_FIELD_LAST)
- return E_TABLE_MODEL_CLASS (e_cal_model_tasks_parent_class)->value_to_string (etm, col, value);
+ return table_model_parent_interface->value_to_string (etm, col, value);
switch (col) {
case E_CAL_MODEL_TASKS_FIELD_GEO :
@@ -1165,7 +1174,6 @@ e_cal_model_tasks_class_init (ECalModelTasksClass *class)
{
GObjectClass *object_class;
ECalModelClass *cal_model_class;
- ETableModelClass *table_model_class;
g_type_class_add_private (class, sizeof (ECalModelTasksPrivate));
@@ -1178,17 +1186,6 @@ e_cal_model_tasks_class_init (ECalModelTasksClass *class)
cal_model_class->get_color_for_component = cal_model_tasks_get_color_for_component;
cal_model_class->fill_component_from_model = cal_model_tasks_fill_component_from_model;
- table_model_class = E_TABLE_MODEL_CLASS (class);
- table_model_class->column_count = cal_model_tasks_column_count;
- table_model_class->value_at = cal_model_tasks_value_at;
- table_model_class->set_value_at = cal_model_tasks_set_value_at;
- table_model_class->is_cell_editable = cal_model_tasks_is_cell_editable;
- table_model_class->duplicate_value = cal_model_tasks_duplicate_value;
- table_model_class->free_value = cal_model_tasks_free_value;
- table_model_class->initialize_value = cal_model_tasks_initialize_value;
- table_model_class->value_is_empty = cal_model_tasks_value_is_empty;
- table_model_class->value_to_string = cal_model_tasks_value_to_string;
-
g_object_class_install_property (
object_class,
PROP_HIGHLIGHT_DUE_TODAY,
@@ -1231,6 +1228,25 @@ e_cal_model_tasks_class_init (ECalModelTasksClass *class)
}
static void
+e_cal_model_tasks_table_model_init (ETableModelInterface *interface)
+{
+ table_model_parent_interface =
+ g_type_interface_peek_parent (interface);
+
+ interface->column_count = cal_model_tasks_column_count;
+
+ interface->value_at = cal_model_tasks_value_at;
+ interface->set_value_at = cal_model_tasks_set_value_at;
+ interface->is_cell_editable = cal_model_tasks_is_cell_editable;
+
+ interface->duplicate_value = cal_model_tasks_duplicate_value;
+ interface->free_value = cal_model_tasks_free_value;
+ interface->initialize_value = cal_model_tasks_initialize_value;
+ interface->value_is_empty = cal_model_tasks_value_is_empty;
+ interface->value_to_string = cal_model_tasks_value_to_string;
+}
+
+static void
e_cal_model_tasks_init (ECalModelTasks *model)
{
model->priv = E_CAL_MODEL_TASKS_GET_PRIVATE (model);
diff --git a/calendar/gui/e-cal-model.c b/calendar/gui/e-cal-model.c
index 288a896f9d..02020ae2cf 100644
--- a/calendar/gui/e-cal-model.c
+++ b/calendar/gui/e-cal-model.c
@@ -193,11 +193,21 @@ enum {
LAST_SIGNAL
};
+/* Forward Declarations */
+static void e_cal_model_table_model_init
+ (ETableModelInterface *interface);
+
static guint signals[LAST_SIGNAL];
G_DEFINE_TYPE_WITH_CODE (
- ECalModel, e_cal_model, E_TYPE_TABLE_MODEL,
- G_IMPLEMENT_INTERFACE (E_TYPE_EXTENSIBLE, NULL))
+ ECalModel,
+ e_cal_model,
+ G_TYPE_OBJECT,
+ G_IMPLEMENT_INTERFACE (
+ E_TYPE_EXTENSIBLE, NULL)
+ G_IMPLEMENT_INTERFACE (
+ E_TYPE_TABLE_MODEL,
+ e_cal_model_table_model_init))
G_DEFINE_TYPE (
ECalModelComponent,
@@ -1672,7 +1682,6 @@ static void
e_cal_model_class_init (ECalModelClass *class)
{
GObjectClass *object_class;
- ETableModelClass *etm_class;
g_type_class_add_private (class, sizeof (ECalModelPrivate));
@@ -1686,19 +1695,6 @@ e_cal_model_class_init (ECalModelClass *class)
class->get_color_for_component = cal_model_get_color_for_component;
class->fill_component_from_model = NULL;
- etm_class = E_TABLE_MODEL_CLASS (class);
- etm_class->column_count = cal_model_column_count;
- etm_class->row_count = cal_model_row_count;
- etm_class->append_row = cal_model_append_row;
- etm_class->value_at = cal_model_value_at;
- etm_class->set_value_at = cal_model_set_value_at;
- etm_class->is_cell_editable = cal_model_is_cell_editable;
- etm_class->duplicate_value = cal_model_duplicate_value;
- etm_class->free_value = cal_model_free_value;
- etm_class->initialize_value = cal_model_initialize_value;
- etm_class->value_is_empty = cal_model_value_is_empty;
- etm_class->value_to_string = cal_model_value_to_string;
-
g_object_class_install_property (
object_class,
PROP_COMPRESS_WEEKEND,
@@ -2013,6 +2009,24 @@ e_cal_model_class_init (ECalModelClass *class)
}
static void
+e_cal_model_table_model_init (ETableModelInterface *interface)
+{
+ interface->column_count = cal_model_column_count;
+ interface->row_count = cal_model_row_count;
+ interface->append_row = cal_model_append_row;
+
+ interface->value_at = cal_model_value_at;
+ interface->set_value_at = cal_model_set_value_at;
+ interface->is_cell_editable = cal_model_is_cell_editable;
+
+ interface->duplicate_value = cal_model_duplicate_value;
+ interface->free_value = cal_model_free_value;
+ interface->initialize_value = cal_model_initialize_value;
+ interface->value_is_empty = cal_model_value_is_empty;
+ interface->value_to_string = cal_model_value_to_string;
+}
+
+static void
e_cal_model_init (ECalModel *model)
{
model->priv = E_CAL_MODEL_GET_PRIVATE (model);
diff --git a/calendar/gui/e-cal-model.h b/calendar/gui/e-cal-model.h
index 602db1cae4..cebb09cf76 100644
--- a/calendar/gui/e-cal-model.h
+++ b/calendar/gui/e-cal-model.h
@@ -134,12 +134,12 @@ typedef struct {
} ECalModelGenerateInstancesData;
struct _ECalModel {
- ETableModel model;
+ GObject parent;
ECalModelPrivate *priv;
};
struct _ECalModelClass {
- ETableModelClass parent_class;
+ GObjectClass parent_class;
/* virtual methods */
const gchar * (*get_color_for_component)