aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-cal-model-memos.c
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/gui/e-cal-model-memos.c')
-rw-r--r--calendar/gui/e-cal-model-memos.c58
1 files changed, 37 insertions, 21 deletions
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