[gnome-builder] tree: add gb_tree_node_select() and gb_tree_node_expand()
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] tree: add gb_tree_node_select() and gb_tree_node_expand()
- Date: Thu, 9 Apr 2015 03:59:33 +0000 (UTC)
commit 779722ee5c8144cbcdf78d6ea0e420f7a19f5267
Author: Christian Hergert <christian hergert me>
Date: Wed Apr 8 20:58:11 2015 -0700
tree: add gb_tree_node_select() and gb_tree_node_expand()
These are convenience helpers to simplify working with tree nodes.
src/tree/gb-tree-node.c | 35 +++++++++++++++++++++++++++++++++--
src/tree/gb-tree-node.h | 3 +++
2 files changed, 36 insertions(+), 2 deletions(-)
---
diff --git a/src/tree/gb-tree-node.c b/src/tree/gb-tree-node.c
index d484077..3aada51 100644
--- a/src/tree/gb-tree-node.c
+++ b/src/tree/gb-tree-node.c
@@ -225,8 +225,6 @@ gb_tree_node_get_parent (GbTreeNode *node)
* gb_tree_node_get_icon_name:
*
* Fetches the icon-name of the icon to display, or NULL for no icon.
- *
- * Returns:
*/
const gchar *
gb_tree_node_get_icon_name (GbTreeNode *node)
@@ -356,6 +354,39 @@ gb_tree_node_get_item (GbTreeNode *node)
return node->priv->item;
}
+void
+gb_tree_node_expand (GbTreeNode *node,
+ gboolean expand_ancestors)
+{
+ 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_expand_row (GTK_TREE_VIEW (tree), path, FALSE);
+ if (expand_ancestors)
+ gtk_tree_view_expand_to_path (GTK_TREE_VIEW (tree), path);
+ gtk_tree_path_free (path);
+}
+
+void
+gb_tree_node_select (GbTreeNode *node)
+{
+ GbTree *tree;
+ GtkTreePath *path;
+ GtkTreeSelection *selection;
+
+ g_return_if_fail (GB_IS_TREE_NODE (node));
+
+ tree = gb_tree_node_get_tree (node);
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree));
+ path = gb_tree_node_get_path (node);
+ gtk_tree_selection_select_path (selection, path);
+ gtk_tree_path_free (path);
+}
+
/**
* 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 b2f3e6f..0d0217c 100644
--- a/src/tree/gb-tree-node.h
+++ b/src/tree/gb-tree-node.h
@@ -68,6 +68,9 @@ void gb_tree_node_set_icon_name (GbTreeNode *node,
const gchar *icon_name);
void gb_tree_node_set_item (GbTreeNode *node,
GObject *item);
+void gb_tree_node_expand (GbTreeNode *node,
+ gboolean expand_ancestors);
+void gb_tree_node_select (GbTreeNode *node);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]