diff options
author | Christopher James Lahey <clahey@ximian.com> | 2001-04-13 08:40:49 +0800 |
---|---|---|
committer | Chris Lahey <clahey@src.gnome.org> | 2001-04-13 08:40:49 +0800 |
commit | 0f85f30ab1145a7ed3c6ee7b2e2216874dc2074f (patch) | |
tree | 65b0c7756268decded8c5f5341c85aaaf6476d8e /widgets/table/e-tree-memory-callbacks.c | |
parent | a4f57fbbde67f1423a741b898d51773310a8c696 (diff) | |
download | gsoc2013-evolution-0f85f30ab1145a7ed3c6ee7b2e2216874dc2074f.tar.gz gsoc2013-evolution-0f85f30ab1145a7ed3c6ee7b2e2216874dc2074f.tar.zst gsoc2013-evolution-0f85f30ab1145a7ed3c6ee7b2e2216874dc2074f.zip |
Upped the version number to 0.6.99.0. Upped the so number to 6.
2001-04-12 Christopher James Lahey <clahey@ximian.com>
* configure.in: Upped the version number to 0.6.99.0. Upped the
so number to 6.
* docs/etablexml.txt: Made some updates here.
* tests/test-tree-1.c, tests/test-tree-3.c: Added NULL, NULL to
the call to e_tree_memory_callbacks_new.
From gal/e-table/ChangeLog:
2001-04-12 Christopher James Lahey <clahey@ximian.com>
* e-table-item.c (eti_cursor_change): Only move the screen to show
the cursor if there are no changes pending. Updated the commented
out code for alternating colors a bit.
* e-table-model.c, e-table-model.h: Added
e_table_model_has_change_pending.
* e-tree-memory-callbacks.c, e-tree-memory-callbacks.h: Added
has_get_node_by_id and get_node_by_id.
* e-tree-model.c, e-tree-model.h: Added
e_tree_model_has_get_node_by_id and e_tree_model_get_node_by_id.
Added e_tree_model_has_change_pending.
* e-tree-selection-model.c: Handle the selection and cursor
properly across the tree changing.
* e-tree-sorted.c: Implemented has_get_node_by_id and
get_node_by_id, and has_changes_pending.
* e-tree-table-adapter.c: Implemented has_changes_pending. Fixed
an array underflow.
svn path=/trunk/; revision=9289
Diffstat (limited to 'widgets/table/e-tree-memory-callbacks.c')
-rw-r--r-- | widgets/table/e-tree-memory-callbacks.c | 81 |
1 files changed, 56 insertions, 25 deletions
diff --git a/widgets/table/e-tree-memory-callbacks.c b/widgets/table/e-tree-memory-callbacks.c index 2168ba81c5..adb5160bc2 100644 --- a/widgets/table/e-tree-memory-callbacks.c +++ b/widgets/table/e-tree-memory-callbacks.c @@ -57,6 +57,28 @@ etmc_get_save_id (ETreeModel *etm, ETreePath node) return NULL; } +static gboolean +etmc_has_get_node_by_id (ETreeModel *etm) +{ + ETreeMemoryCallbacks *etmc = E_TREE_MEMORY_CALLBACKS(etm); + + if (etmc->has_get_node_by_id) + return etmc->has_get_node_by_id (etm, etmc->model_data); + else + return FALSE; +} + +static ETreePath +etmc_get_node_by_id (ETreeModel *etm, gchar *save_id) +{ + ETreeMemoryCallbacks *etmc = E_TREE_MEMORY_CALLBACKS(etm); + + if (etmc->get_node_by_id) + return etmc->get_node_by_id (etm, save_id, etmc->model_data); + else + return NULL; +} + static void * etmc_value_at (ETreeModel *etm, ETreePath node, int col) @@ -142,22 +164,25 @@ e_tree_memory_callbacks_class_init (GtkObjectClass *object_class) { ETreeModelClass *model_class = (ETreeModelClass *) object_class; - model_class->icon_at = etmc_icon_at; + model_class->icon_at = etmc_icon_at; + + model_class->column_count = etmc_column_count; - model_class->column_count = etmc_column_count; + model_class->has_save_id = etmc_has_save_id; + model_class->get_save_id = etmc_get_save_id; - model_class->has_save_id = etmc_has_save_id; - model_class->get_save_id = etmc_get_save_id; + model_class->has_get_node_by_id = etmc_has_get_node_by_id; + model_class->get_node_by_id = etmc_get_node_by_id; - model_class->value_at = etmc_value_at; - model_class->set_value_at = etmc_set_value_at; - model_class->is_editable = etmc_is_editable; + model_class->value_at = etmc_value_at; + model_class->set_value_at = etmc_set_value_at; + model_class->is_editable = etmc_is_editable; - model_class->duplicate_value = etmc_duplicate_value; - model_class->free_value = etmc_free_value; - model_class->initialize_value = etmc_initialize_value; - model_class->value_is_empty = etmc_value_is_empty; - model_class->value_to_string = etmc_value_to_string; + model_class->duplicate_value = etmc_duplicate_value; + model_class->free_value = etmc_free_value; + model_class->initialize_value = etmc_initialize_value; + model_class->value_is_empty = etmc_value_is_empty; + model_class->value_to_string = etmc_value_to_string; } E_MAKE_TYPE(e_tree_memory_callbacks, "ETreeMemoryCallbacks", ETreeMemoryCallbacks, e_tree_memory_callbacks_class_init, NULL, PARENT_TYPE) @@ -191,6 +216,9 @@ e_tree_memory_callbacks_new (ETreeMemoryCallbacksIconAtFn icon_at, ETreeMemoryCallbacksHasSaveIdFn has_save_id, ETreeMemoryCallbacksGetSaveIdFn get_save_id, + ETreeMemoryCallbacksHasGetNodeByIdFn has_get_node_by_id, + ETreeMemoryCallbacksGetNodeByIdFn get_node_by_id, + ETreeMemoryCallbacksValueAtFn value_at, ETreeMemoryCallbacksSetValueAtFn set_value_at, ETreeMemoryCallbacksIsEditableFn is_editable, @@ -207,24 +235,27 @@ e_tree_memory_callbacks_new (ETreeMemoryCallbacksIconAtFn icon_at, etmc = gtk_type_new (e_tree_memory_callbacks_get_type ()); - etmc->icon_at = icon_at; + etmc->icon_at = icon_at; + + etmc->column_count = column_count; - etmc->column_count = column_count; + etmc->has_save_id = has_save_id; + etmc->get_save_id = get_save_id; - etmc->has_save_id = has_save_id; - etmc->get_save_id = get_save_id; + etmc->has_get_node_by_id = has_get_node_by_id; + etmc->get_node_by_id = get_node_by_id; - etmc->value_at = value_at; - etmc->set_value_at = set_value_at; - etmc->is_editable = is_editable; + etmc->value_at = value_at; + etmc->set_value_at = set_value_at; + etmc->is_editable = is_editable; - etmc->duplicate_value = duplicate_value; - etmc->free_value = free_value; - etmc->initialize_value = initialize_value; - etmc->value_is_empty = value_is_empty; - etmc->value_to_string = value_to_string; + etmc->duplicate_value = duplicate_value; + etmc->free_value = free_value; + etmc->initialize_value = initialize_value; + etmc->value_is_empty = value_is_empty; + etmc->value_to_string = value_to_string; - etmc->model_data = model_data; + etmc->model_data = model_data; return (ETreeModel*)etmc; } |