aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-tree-model.c
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@ximian.com>2002-03-09 05:45:03 +0800
committerChris Lahey <clahey@src.gnome.org>2002-03-09 05:45:03 +0800
commit9c939e7a9964b860fcfa5bdc0ca13aeaa2d74f36 (patch)
treeb3045b26f8fa672bdf6018a3ccd73b66d8f0ad35 /widgets/table/e-tree-model.c
parente4e819b0ae44665678aa2ff08635be6e5090c004 (diff)
downloadgsoc2013-evolution-9c939e7a9964b860fcfa5bdc0ca13aeaa2d74f36.tar
gsoc2013-evolution-9c939e7a9964b860fcfa5bdc0ca13aeaa2d74f36.tar.gz
gsoc2013-evolution-9c939e7a9964b860fcfa5bdc0ca13aeaa2d74f36.tar.bz2
gsoc2013-evolution-9c939e7a9964b860fcfa5bdc0ca13aeaa2d74f36.tar.lz
gsoc2013-evolution-9c939e7a9964b860fcfa5bdc0ca13aeaa2d74f36.tar.xz
gsoc2013-evolution-9c939e7a9964b860fcfa5bdc0ca13aeaa2d74f36.tar.zst
gsoc2013-evolution-9c939e7a9964b860fcfa5bdc0ca13aeaa2d74f36.zip
Handle a collapse request by marking all descendents of that node as
2002-03-08 Christopher James Lahey <clahey@ximian.com> * e-tree-memory.c (etmm_node_request_collapse): Handle a collapse request by marking all descendents of that node as needing their children recomputed. * e-tree-model.c, e-tree-model.h (e_tree_model_node_request_collapse): Added this signal to request that the view of your tree collapse this node. * e-tree-selection-model.c (etsm_selected_count): Pass the root of the sorted model here instead of the root of the base model. * e-tree-table-adapter.c (etta_proxy_node_request_collapse): Handle a collapse request by collapsing the node in the tree. svn path=/trunk/; revision=15990
Diffstat (limited to 'widgets/table/e-tree-model.c')
-rw-r--r--widgets/table/e-tree-model.c114
1 files changed, 71 insertions, 43 deletions
diff --git a/widgets/table/e-tree-model.c b/widgets/table/e-tree-model.c
index ed15f28f8c..9b205bbc51 100644
--- a/widgets/table/e-tree-model.c
+++ b/widgets/table/e-tree-model.c
@@ -53,6 +53,7 @@ enum {
NODE_INSERTED,
NODE_REMOVED,
NODE_DELETED,
+ NODE_REQUEST_COLLAPSE,
LAST_SIGNAL
};
@@ -130,51 +131,60 @@ e_tree_model_class_init (GtkObjectClass *klass)
gtk_marshal_NONE__POINTER,
GTK_TYPE_NONE, 1, GTK_TYPE_POINTER);
+ e_tree_model_signals [NODE_REQUEST_COLLAPSE] =
+ gtk_signal_new ("node_request_collapse",
+ GTK_RUN_LAST,
+ E_OBJECT_CLASS_TYPE (klass),
+ GTK_SIGNAL_OFFSET (ETreeModelClass, node_request_collapse),
+ gtk_marshal_NONE__POINTER,
+ GTK_TYPE_NONE, 1, GTK_TYPE_POINTER);
+
E_OBJECT_CLASS_ADD_SIGNALS (klass, e_tree_model_signals, LAST_SIGNAL);
- tree_class->get_root = NULL;
-
- tree_class->get_parent = NULL;
- tree_class->get_first_child = NULL;
- tree_class->get_last_child = NULL;
- tree_class->get_next = NULL;
- tree_class->get_prev = NULL;
-
- tree_class->is_root = NULL;
- tree_class->is_expandable = NULL;
- tree_class->get_children = NULL;
- tree_class->depth = NULL;
-
- tree_class->icon_at = NULL;
-
- tree_class->get_expanded_default = NULL;
- tree_class->column_count = NULL;
-
- tree_class->has_save_id = NULL;
- tree_class->get_save_id = NULL;
- tree_class->has_get_node_by_id = NULL;
- tree_class->get_node_by_id = NULL;
-
- tree_class->has_change_pending = NULL;
-
- tree_class->value_at = NULL;
- tree_class->set_value_at = NULL;
- tree_class->is_editable = NULL;
-
- tree_class->duplicate_value = NULL;
- tree_class->free_value = NULL;
- tree_class->initialize_value = NULL;
- tree_class->value_is_empty = NULL;
- tree_class->value_to_string = NULL;
-
- tree_class->pre_change = NULL;
- tree_class->no_change = NULL;
- tree_class->node_changed = NULL;
- tree_class->node_data_changed = NULL;
- tree_class->node_col_changed = NULL;
- tree_class->node_inserted = NULL;
- tree_class->node_removed = NULL;
- tree_class->node_deleted = NULL;
+ tree_class->get_root = NULL;
+
+ tree_class->get_parent = NULL;
+ tree_class->get_first_child = NULL;
+ tree_class->get_last_child = NULL;
+ tree_class->get_next = NULL;
+ tree_class->get_prev = NULL;
+
+ tree_class->is_root = NULL;
+ tree_class->is_expandable = NULL;
+ tree_class->get_children = NULL;
+ tree_class->depth = NULL;
+
+ tree_class->icon_at = NULL;
+
+ tree_class->get_expanded_default = NULL;
+ tree_class->column_count = NULL;
+
+ tree_class->has_save_id = NULL;
+ tree_class->get_save_id = NULL;
+ tree_class->has_get_node_by_id = NULL;
+ tree_class->get_node_by_id = NULL;
+
+ tree_class->has_change_pending = NULL;
+
+ tree_class->value_at = NULL;
+ tree_class->set_value_at = NULL;
+ tree_class->is_editable = NULL;
+
+ tree_class->duplicate_value = NULL;
+ tree_class->free_value = NULL;
+ tree_class->initialize_value = NULL;
+ tree_class->value_is_empty = NULL;
+ tree_class->value_to_string = NULL;
+
+ tree_class->pre_change = NULL;
+ tree_class->no_change = NULL;
+ tree_class->node_changed = NULL;
+ tree_class->node_data_changed = NULL;
+ tree_class->node_col_changed = NULL;
+ tree_class->node_inserted = NULL;
+ tree_class->node_removed = NULL;
+ tree_class->node_deleted = NULL;
+ tree_class->node_request_collapse = NULL;
}
static void
@@ -340,6 +350,24 @@ e_tree_model_node_deleted (ETreeModel *tree_model, ETreePath deleted_node)
deleted_node);
}
+/**
+ * e_tree_model_node_request_collapse:
+ * @tree_model:
+ * @collapsed_node:
+ *
+ *
+ **/
+void
+e_tree_model_node_request_collapse (ETreeModel *tree_model, ETreePath collapsed_node)
+{
+ g_return_if_fail (tree_model != NULL);
+ g_return_if_fail (E_IS_TREE_MODEL (tree_model));
+
+ gtk_signal_emit (GTK_OBJECT (tree_model),
+ e_tree_model_signals [NODE_REQUEST_COLLAPSE],
+ collapsed_node);
+}
+
/**