[gnome-builder] tree: add gb_tree_scroll_to_node()



commit debbf9aa638c41719bc0d6089e7edace459f955e
Author: Christian Hergert <christian hergert me>
Date:   Sat Apr 11 14:11:27 2015 -0700

    tree: add gb_tree_scroll_to_node()
    
    This is a helper that will scroll to a given node. Very simple, but saves
    a few lines of code here and there.

 src/tree/gb-tree.c |   14 ++++++++++++++
 src/tree/gb-tree.h |    2 ++
 2 files changed, 16 insertions(+), 0 deletions(-)
---
diff --git a/src/tree/gb-tree.c b/src/tree/gb-tree.c
index c7af625..a7f9437 100644
--- a/src/tree/gb-tree.c
+++ b/src/tree/gb-tree.c
@@ -994,6 +994,20 @@ gb_tree_button_press_event (GbTree         *tree,
   return FALSE;
 }
 
+void
+gb_tree_scroll_to_node (GbTree     *tree,
+                        GbTreeNode *node)
+{
+  GtkTreePath *path;
+
+  g_return_if_fail (GB_IS_TREE (tree));
+  g_return_if_fail (GB_IS_TREE_NODE (node));
+
+  path = gb_tree_node_get_path (node);
+  gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW (tree), path, NULL, FALSE, 0, 0);
+  gtk_tree_path_free (path);
+}
+
 /**
  * gb_tree_finalize:
  * @object: (in): A #GbTree.
diff --git a/src/tree/gb-tree.h b/src/tree/gb-tree.h
index d30ee54..71a76fb 100644
--- a/src/tree/gb-tree.h
+++ b/src/tree/gb-tree.h
@@ -78,6 +78,8 @@ GbTree       *gb_tree_node_get_tree  (GbTreeNode    *node);
 void          gb_tree_set_show_icons (GbTree        *tree,
                                       gboolean       show_icons);
 gboolean      gb_tree_get_show_icons (GbTree        *tree);
+void          gb_tree_scroll_to_node (GbTree        *tree,
+                                      GbTreeNode    *node);
 
 G_END_DECLS
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]