[d-feet/pygi] Expand Interfaces/Methods/Signals/Properties subtrees



commit 6a8008aedabb8d80a927380e96a471501eacd819
Author: Thomas Bechtold <thomasbechtold jpberlin de>
Date:   Fri Oct 12 13:54:27 2012 +0200

    Expand Interfaces/Methods/Signals/Properties subtrees

 dfeet/introspection.py |   14 ++++++++++++++
 ui/introspection.ui    |    1 +
 2 files changed, 15 insertions(+), 0 deletions(-)
---
diff --git a/dfeet/introspection.py b/dfeet/introspection.py
index b2c5096..d324ff3 100644
--- a/dfeet/introspection.py
+++ b/dfeet/introspection.py
@@ -25,6 +25,7 @@ class AddressInfo():
         signal_dict = {
             'treeview_cursor_changed_cb' : self.__treeview_cursor_changed_cb,
             'treeview_row_activated_cb' : self.__treeview_row_activated_cb,
+            'treeview_row_expanded_cb' : self.__treeview_row_expanded_cb,
             'button_reload_clicked_cb' : self.__button_reload_clicked_cb,
             }
 
@@ -120,6 +121,19 @@ class AddressInfo():
             else:
                 treeview.expand_row(path, False)
 
+
+    def __treeview_row_expanded_cb(self, treeview, iter, path):
+        model = treeview.get_model()
+        node = model.get(iter, 1)[0]
+        if isinstance(node, DBusNode):
+            if model.iter_has_child(iter):
+                childiter = model.iter_children(iter)
+                while childiter != None:
+                    childpath = model.get_path(childiter)
+                    treeview.expand_to_path(childpath)
+                    childiter = model.iter_next(childiter)
+
+
     def __sort_model(self, model, iter1, iter2, user_data):
         """objects with small path depth first"""
         un1 = model.get_value(iter1, 0)
diff --git a/ui/introspection.ui b/ui/introspection.ui
index dbb15ed..223cb67 100644
--- a/ui/introspection.ui
+++ b/ui/introspection.ui
@@ -158,6 +158,7 @@
             <property name="tooltip_column">0</property>
             <signal name="cursor-changed" handler="treeview_cursor_changed_cb" swapped="no"/>
             <signal name="row-activated" handler="treeview_row_activated_cb" swapped="no"/>
+            <signal name="row-expanded" handler="treeview_row_expanded_cb" swapped="no"/>
             <child internal-child="selection">
               <object class="GtkTreeSelection" id="treeview-selection"/>
             </child>



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