diff options
-rw-r--r-- | widgets/table/e-tree.c | 24 | ||||
-rw-r--r-- | widgets/table/e-tree.h | 11 |
2 files changed, 35 insertions, 0 deletions
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 <gal/e-table/e-table-sort-info.h> #include <gal/e-table/e-table-utils.h> +#ifdef E_TREE_USE_TREE_SELECTION +#include <gal/e-table/e-tree-selection-model.h> +#else #include <gal/e-table/e-table-selection-model.h> +#endif + #include <gal/e-table/e-tree-sorted.h> #include <gal/e-table/e-tree-table-adapter.h> @@ -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 <gal/e-table/e-table-state.h> #include <gal/e-table/e-tree-model.h> +/*#define E_TREE_USE_TREE_SELECTION*/ + +#ifdef E_TREE_USE_TREE_SELECTION +#include <gal/e-table/e-tree-selection-model.h> +#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); |