[gnome-builder] tree: add collapse and expand state helpers
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] tree: add collapse and expand state helpers
- Date: Sat, 11 Apr 2015 01:50:58 +0000 (UTC)
commit 76dd31fef2b6b7d8b3d1085d0cc2587831d55801
Author: Christian Hergert <christian hergert me>
Date: Fri Apr 10 18:49:51 2015 -0700
tree: add collapse and expand state helpers
src/tree/gb-tree-node.c | 31 +++++++++++++++++++++++++++++++
src/tree/gb-tree-node.h | 2 ++
2 files changed, 33 insertions(+), 0 deletions(-)
---
diff --git a/src/tree/gb-tree-node.c b/src/tree/gb-tree-node.c
index 3a2eba1..1564c83 100644
--- a/src/tree/gb-tree-node.c
+++ b/src/tree/gb-tree-node.c
@@ -375,6 +375,20 @@ gb_tree_node_expand (GbTreeNode *node,
}
void
+gb_tree_node_collapse (GbTreeNode *node)
+{
+ GbTree *tree;
+ GtkTreePath *path;
+
+ g_return_if_fail (GB_IS_TREE_NODE (node));
+
+ tree = gb_tree_node_get_tree (node);
+ path = gb_tree_node_get_path (node);
+ gtk_tree_view_collapse_row (GTK_TREE_VIEW (tree), path);
+ gtk_tree_path_free (path);
+}
+
+void
gb_tree_node_select (GbTreeNode *node)
{
GbTree *tree;
@@ -419,6 +433,23 @@ gb_tree_node_rebuild (GbTreeNode *self)
_gb_tree_rebuild_node (tree, self);
}
+gboolean
+gb_tree_node_get_expanded (GbTreeNode *self)
+{
+ GbTree *tree;
+ GtkTreePath *path;
+ gboolean ret;
+
+ g_return_val_if_fail (GB_IS_TREE_NODE (self), FALSE);
+
+ tree = gb_tree_node_get_tree (self);
+ path = gb_tree_node_get_path (self);
+ ret = gtk_tree_view_row_expanded (GTK_TREE_VIEW (tree), path);
+ gtk_tree_path_free (path);
+
+ return ret;
+}
+
/**
* gb_tree_node_finalize:
* @object: (in): A #GbTreeNode.
diff --git a/src/tree/gb-tree-node.h b/src/tree/gb-tree-node.h
index a633059..b6aae49 100644
--- a/src/tree/gb-tree-node.h
+++ b/src/tree/gb-tree-node.h
@@ -72,10 +72,12 @@ void gb_tree_node_set_item (GbTreeNode *node,
GObject *item);
void gb_tree_node_expand (GbTreeNode *node,
gboolean expand_ancestors);
+void gb_tree_node_collapse (GbTreeNode *node);
void gb_tree_node_select (GbTreeNode *node);
void gb_tree_node_get_area (GbTreeNode *node,
GdkRectangle *area);
void gb_tree_node_rebuild (GbTreeNode *node);
+gboolean gb_tree_node_get_expanded (GbTreeNode *node);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]