aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-tree-memory.c
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@ximian.com>2001-05-10 04:11:01 +0800
committerChris Lahey <clahey@src.gnome.org>2001-05-10 04:11:01 +0800
commitd6c788a6b04b945477317837b77de0a107aa1987 (patch)
tree4de26b9b3fd5330e862f0fe9a73ac92b2cd2ef9e /widgets/table/e-tree-memory.c
parent7630f3612db8ca20ad91eeaebbed17f887763e14 (diff)
downloadgsoc2013-evolution-d6c788a6b04b945477317837b77de0a107aa1987.tar
gsoc2013-evolution-d6c788a6b04b945477317837b77de0a107aa1987.tar.gz
gsoc2013-evolution-d6c788a6b04b945477317837b77de0a107aa1987.tar.bz2
gsoc2013-evolution-d6c788a6b04b945477317837b77de0a107aa1987.tar.lz
gsoc2013-evolution-d6c788a6b04b945477317837b77de0a107aa1987.tar.xz
gsoc2013-evolution-d6c788a6b04b945477317837b77de0a107aa1987.tar.zst
gsoc2013-evolution-d6c788a6b04b945477317837b77de0a107aa1987.zip
Show the date for dates in the future.
2001-05-09 Christopher James Lahey <clahey@ximian.com> * 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
Diffstat (limited to 'widgets/table/e-tree-memory.c')
-rw-r--r--widgets/table/e-tree-memory.c17
1 files changed, 17 insertions, 0 deletions
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;
+}