From d6c788a6b04b945477317837b77de0a107aa1987 Mon Sep 17 00:00:00 2001 From: Christopher James Lahey Date: Wed, 9 May 2001 20:11:01 +0000 Subject: Show the date for dates in the future. 2001-05-09 Christopher James Lahey * e-cell-date.c (ecd_get_text): Show the date for dates in the future. * e-tree-memory.c, e-tree-memory.h (e_tree_memory_set_node_destroy_func): New function which gets called on the data for every node removed from the tree. svn path=/trunk/; revision=9733 --- widgets/table/e-tree-memory.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'widgets/table/e-tree-memory.c') diff --git a/widgets/table/e-tree-memory.c b/widgets/table/e-tree-memory.c index 081716f0f1..e3283f7730 100644 --- a/widgets/table/e-tree-memory.c +++ b/widgets/table/e-tree-memory.c @@ -52,6 +52,8 @@ struct ETreeMemoryPriv { ETreeMemoryPath *root; gboolean expanded_default; /* whether nodes are created expanded or collapsed by default */ gint frozen; + GFunc destroy_func; + gpointer destroy_user_data; }; @@ -325,6 +327,8 @@ e_tree_memory_init (GtkObject *object) priv->root = NULL; priv->frozen = 0; priv->expanded_default = 0; + priv->destroy_func = NULL; + priv->destroy_user_data = NULL; } E_MAKE_TYPE(e_tree_memory, "ETreeMemory", ETreeMemory, e_tree_memory_class_init, e_tree_memory_init, PARENT_TYPE) @@ -507,6 +511,10 @@ child_free(ETreeMemory *etree, ETreeMemoryPath *node) child = next; } + if (etree->priv->destroy_func) { + etree->priv->destroy_func (node->node_data, etree->priv->destroy_user_data); + } + g_chunk_free(node, node_chunk); } @@ -625,3 +633,12 @@ e_tree_memory_sort_node (ETreeMemory *etmm, e_tree_model_node_changed(E_TREE_MODEL(etmm), node); } + +void +e_tree_memory_set_node_destroy_func (ETreeMemory *etmm, + GFunc destroy_func, + gpointer user_data) +{ + etmm->priv->destroy_func = destroy_func; + etmm->priv->destroy_user_data = user_data; +} -- cgit v1.2.3