From 40dff989475d31e3d24dd8ae38dc79c191358e52 Mon Sep 17 00:00:00 2001 From: Christopher James Lahey Date: Sat, 31 Mar 2001 11:41:34 +0000 Subject: New implementation based on a tree instead of a hash table. 2001-03-31 Christopher James Lahey * e-tree-selection-model.c, e-tree-selection-model.h: New implementation based on a tree instead of a hash table. * e-tree-sorted.c, e-tree-sorted.h: Added e_tree_sorted_num_children. svn path=/trunk/; revision=9070 --- widgets/table/e-tree-selection-model.h | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'widgets/table/e-tree-selection-model.h') diff --git a/widgets/table/e-tree-selection-model.h b/widgets/table/e-tree-selection-model.h index 0d28f47c90..5a591053a0 100644 --- a/widgets/table/e-tree-selection-model.h +++ b/widgets/table/e-tree-selection-model.h @@ -14,6 +14,11 @@ extern "C" { #endif /* __cplusplus */ +typedef void (*ETreeForeachFunc) (ETreePath path, + gpointer closure); + +typedef struct ETreeSelectionModelNode ETreeSelectionModelNode; + #define E_TREE_SELECTION_MODEL_TYPE (e_tree_selection_model_get_type ()) #define E_TREE_SELECTION_MODEL(o) (GTK_CHECK_CAST ((o), E_TREE_SELECTION_MODEL_TYPE, ETreeSelectionModel)) #define E_TREE_SELECTION_MODEL_CLASS(k) (GTK_CHECK_CLASS_CAST((k), E_TREE_SELECTION_MODEL_TYPE, ETreeSelectionModelClass)) @@ -27,9 +32,7 @@ typedef struct { ETreeSorted *ets; ETreeModel *model; - GHashTable *data; - - gboolean invert_selection; + ETreeSelectionModelNode *root; ETreePath cursor_path; gint cursor_col; @@ -47,8 +50,12 @@ typedef struct { ESelectionModelClass parent_class; } ETreeSelectionModelClass; + GtkType e_tree_selection_model_get_type (void); ESelectionModel *e_tree_selection_model_new (void); +void e_tree_selection_model_foreach (ETreeSelectionModel *etsm, + ETreeForeachFunc callback, + gpointer closure); #ifdef __cplusplus } -- cgit v1.2.3