diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2013-06-18 23:54:15 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2013-06-19 08:32:06 +0800 |
commit | 78c9f356f97f0b40cbd3ad730b8931f75d0649a2 (patch) | |
tree | c2cef75d392b1deae3cfc44c3d6bb7b43c417d70 /e-util/e-tree-table-adapter.c | |
parent | c6ccd45a0ef07b12a0313deb3abee032d89eec0a (diff) | |
download | gsoc2013-evolution-78c9f356f97f0b40cbd3ad730b8931f75d0649a2.tar.gz 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 'e-util/e-tree-table-adapter.c')
-rw-r--r-- | e-util/e-tree-table-adapter.c | 53 |
1 files changed, 30 insertions, 23 deletions
diff --git a/e-util/e-tree-table-adapter.c b/e-util/e-tree-table-adapter.c index 2950d60a33..8c49ec4283 100644 --- a/e-util/e-tree-table-adapter.c +++ b/e-util/e-tree-table-adapter.c @@ -97,12 +97,19 @@ enum { LAST_SIGNAL }; +/* Forward Declarations */ +static void e_tree_table_adapter_table_model_init + (ETableModelInterface *interface); + static guint signals[LAST_SIGNAL]; -G_DEFINE_TYPE ( +G_DEFINE_TYPE_WITH_CODE ( ETreeTableAdapter, e_tree_table_adapter, - E_TYPE_TABLE_MODEL) + G_TYPE_OBJECT, + G_IMPLEMENT_INTERFACE ( + E_TYPE_TABLE_MODEL, + e_tree_table_adapter_table_model_init)) static GNode * lookup_gnode (ETreeTableAdapter *etta, @@ -732,7 +739,6 @@ static void e_tree_table_adapter_class_init (ETreeTableAdapterClass *class) { GObjectClass *object_class; - ETableModelClass *table_model_class; g_type_class_add_private (class, sizeof (ETreeTableAdapterPrivate)); @@ -740,26 +746,6 @@ e_tree_table_adapter_class_init (ETreeTableAdapterClass *class) object_class->dispose = tree_table_adapter_dispose; object_class->finalize = tree_table_adapter_finalize; - table_model_class = E_TABLE_MODEL_CLASS (class); - table_model_class->column_count = tree_table_adapter_column_count; - table_model_class->row_count = tree_table_adapter_row_count; - table_model_class->append_row = tree_table_adapter_append_row; - - table_model_class->value_at = tree_table_adapter_value_at; - table_model_class->set_value_at = tree_table_adapter_set_value_at; - table_model_class->is_cell_editable = tree_table_adapter_is_cell_editable; - - table_model_class->has_save_id = tree_table_adapter_has_save_id; - table_model_class->get_save_id = tree_table_adapter_get_save_id; - - table_model_class->duplicate_value = tree_table_adapter_duplicate_value; - table_model_class->free_value = tree_table_adapter_free_value; - table_model_class->initialize_value = tree_table_adapter_initialize_value; - table_model_class->value_is_empty = tree_table_adapter_value_is_empty; - table_model_class->value_to_string = tree_table_adapter_value_to_string; - - class->sorting_changed = NULL; - signals[SORTING_CHANGED] = g_signal_new ( "sorting_changed", G_OBJECT_CLASS_TYPE (object_class), @@ -772,6 +758,27 @@ e_tree_table_adapter_class_init (ETreeTableAdapterClass *class) } static void +e_tree_table_adapter_table_model_init (ETableModelInterface *interface) +{ + interface->column_count = tree_table_adapter_column_count; + interface->row_count = tree_table_adapter_row_count; + interface->append_row = tree_table_adapter_append_row; + + interface->value_at = tree_table_adapter_value_at; + interface->set_value_at = tree_table_adapter_set_value_at; + interface->is_cell_editable = tree_table_adapter_is_cell_editable; + + interface->has_save_id = tree_table_adapter_has_save_id; + interface->get_save_id = tree_table_adapter_get_save_id; + + interface->duplicate_value = tree_table_adapter_duplicate_value; + interface->free_value = tree_table_adapter_free_value; + interface->initialize_value = tree_table_adapter_initialize_value; + interface->value_is_empty = tree_table_adapter_value_is_empty; + interface->value_to_string = tree_table_adapter_value_to_string; +} + +static void e_tree_table_adapter_init (ETreeTableAdapter *etta) { etta->priv = E_TREE_TABLE_ADAPTER_GET_PRIVATE (etta); |