From 3de1d627a1eb200774907589e19fa2c66d27cda8 Mon Sep 17 00:00:00 2001 From: Christopher James Lahey Date: Sun, 1 Apr 2001 11:20:55 +0000 Subject: Added e-tree-selection-model.c. (libetableinclude_HEADERS): Added 2001-04-01 Christopher James Lahey * Makefile.am (libetable_la_SOURCES): Added e-tree-selection-model.c. (libetableinclude_HEADERS): Added e-tree-selection-model.h. * e-tree.c, e-tree.h: Added code to use ETreeSelectionModel if the string E_TREE_USE_TREE_SELECTION is defined. svn path=/trunk/; revision=9082 --- widgets/table/e-tree.c | 24 ++++++++++++++++++++++++ widgets/table/e-tree.h | 11 +++++++++++ 2 files changed, 35 insertions(+) diff --git a/widgets/table/e-tree.c b/widgets/table/e-tree.c index c397341cff..bdc1db64ac 100644 --- a/widgets/table/e-tree.c +++ b/widgets/table/e-tree.c @@ -28,7 +28,12 @@ #include #include +#ifdef E_TREE_USE_TREE_SELECTION +#include +#else #include +#endif + #include #include @@ -236,7 +241,11 @@ e_tree_init (GtkObject *object) e_tree->priv->drag_source_button_press_event_id = 0; e_tree->priv->drag_source_motion_notify_event_id = 0; +#ifdef E_TREE_USE_TREE_SELECTION + e_tree->priv->selection = E_SELECTION_MODEL(e_tree_selection_model_new()); +#else e_tree->priv->selection = E_SELECTION_MODEL(e_table_selection_model_new()); +#endif e_tree->priv->spec = NULL; e_tree->priv->header_canvas = NULL; @@ -1064,6 +1073,21 @@ e_tree_selected_row_foreach (ETree *e_tree, closure); } +#ifdef E_TREE_USE_TREE_SELECTION +void +e_tree_selected_path_foreach (ETree *e_tree, + ETreeForeachFunc callback, + gpointer closure) +{ + g_return_if_fail(e_tree != NULL); + g_return_if_fail(E_IS_TREE(e_tree)); + + e_tree_selection_model_foreach(E_TREE_SELECTION_MODEL (e_tree->priv->selection), + callback, + closure); +} +#endif + gint e_tree_selected_count (ETree *e_tree) { diff --git a/widgets/table/e-tree.h b/widgets/table/e-tree.h index 60d39d8464..668fb8dc8d 100644 --- a/widgets/table/e-tree.h +++ b/widgets/table/e-tree.h @@ -12,6 +12,12 @@ #include #include +/*#define E_TREE_USE_TREE_SELECTION*/ + +#ifdef E_TREE_USE_TREE_SELECTION +#include +#endif + BEGIN_GNOME_DECLS #define E_TREE_TYPE (e_tree_get_type ()) @@ -149,6 +155,11 @@ ETreePath e_tree_get_cursor (ETree *e_tree); void e_tree_selected_row_foreach (ETree *e_tree, EForeachFunc callback, gpointer closure); +#ifdef E_TREE_USE_TREE_SELECTION +void e_tree_selected_path_foreach (ETree *e_tree, + ETreeForeachFunc callback, + gpointer closure); +#endif gint e_tree_selected_count (ETree *e_tree); EPrintable *e_tree_get_printable (ETree *e_tree); -- cgit