From 78c9f356f97f0b40cbd3ad730b8931f75d0649a2 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Tue, 18 Jun 2013 11:54:15 -0400 Subject: Convert ETableModel to an interface. Similar to what was recently done to ETreeModel. --- e-util/e-table-subset.c | 49 ++++++++++++++++++++++++++++++++----------------- 1 file changed, 32 insertions(+), 17 deletions(-) (limited to 'e-util/e-table-subset.c') diff --git a/e-util/e-table-subset.c b/e-util/e-table-subset.c index 92f71cedde..741fc8d230 100644 --- a/e-util/e-table-subset.c +++ b/e-util/e-table-subset.c @@ -54,7 +54,17 @@ struct _ETableSubsetPrivate { gint last_access; }; -G_DEFINE_TYPE (ETableSubset, e_table_subset, E_TYPE_TABLE_MODEL) +/* Forward Declarations */ +static void e_table_subset_table_model_init + (ETableModelInterface *interface); + +G_DEFINE_TYPE_WITH_CODE ( + ETableSubset, + e_table_subset, + G_TYPE_OBJECT, + G_IMPLEMENT_INTERFACE ( + E_TYPE_TABLE_MODEL, + e_table_subset_table_model_init)) static gint table_subset_get_view_row (ETableSubset *table_subset, @@ -390,7 +400,6 @@ static void e_table_subset_class_init (ETableSubsetClass *class) { GObjectClass *object_class; - ETableModelClass *table_class; g_type_class_add_private (class, sizeof (ETableSubsetPrivate)); @@ -398,21 +407,6 @@ e_table_subset_class_init (ETableSubsetClass *class) object_class->dispose = table_subset_dispose; object_class->finalize = table_subset_finalize; - table_class = E_TABLE_MODEL_CLASS (class); - table_class->column_count = table_subset_column_count; - table_class->row_count = table_subset_row_count; - table_class->append_row = table_subset_append_row; - table_class->value_at = table_subset_value_at; - table_class->set_value_at = table_subset_set_value_at; - table_class->is_cell_editable = table_subset_is_cell_editable; - table_class->has_save_id = table_subset_has_save_id; - table_class->get_save_id = table_subset_get_save_id; - table_class->duplicate_value = table_subset_duplicate_value; - table_class->free_value = table_subset_free_value; - table_class->initialize_value = table_subset_initialize_value; - table_class->value_is_empty = table_subset_value_is_empty; - table_class->value_to_string = table_subset_value_to_string; - class->proxy_model_pre_change = table_subset_proxy_model_pre_change_real; class->proxy_model_no_change = table_subset_proxy_model_no_change_real; class->proxy_model_changed = table_subset_proxy_model_changed_real; @@ -422,6 +416,27 @@ e_table_subset_class_init (ETableSubsetClass *class) class->proxy_model_rows_deleted = table_subset_proxy_model_rows_deleted_real; } +static void +e_table_subset_table_model_init (ETableModelInterface *interface) +{ + interface->column_count = table_subset_column_count; + interface->row_count = table_subset_row_count; + interface->append_row = table_subset_append_row; + + interface->value_at = table_subset_value_at; + interface->set_value_at = table_subset_set_value_at; + interface->is_cell_editable = table_subset_is_cell_editable; + + interface->has_save_id = table_subset_has_save_id; + interface->get_save_id = table_subset_get_save_id; + + interface->duplicate_value = table_subset_duplicate_value; + interface->free_value = table_subset_free_value; + interface->initialize_value = table_subset_initialize_value; + interface->value_is_empty = table_subset_value_is_empty; + interface->value_to_string = table_subset_value_to_string; +} + static void e_table_subset_init (ETableSubset *table_subset) { -- cgit v1.2.3