From 1025df04816539bc8d11ae29a6e3a10c200ada9b Mon Sep 17 00:00:00 2001
From: Sebastian Koslowski <koslowski@kit.edu>
Date: Fri, 5 Feb 2016 11:49:47 +0100
Subject: grc: not all tooltips in block library were updated after docstring
 extraction finished

---
 grc/gui/BlockTreeWindow.py | 25 +++++++++++--------------
 1 file changed, 11 insertions(+), 14 deletions(-)

(limited to 'grc')

diff --git a/grc/gui/BlockTreeWindow.py b/grc/gui/BlockTreeWindow.py
index 792d28011f..6b3ebf7807 100644
--- a/grc/gui/BlockTreeWindow.py
+++ b/grc/gui/BlockTreeWindow.py
@@ -152,20 +152,17 @@ class BlockTreeWindow(gtk.VBox):
 
     def update_docs(self):
         """Update the documentation column of every block"""
-        def update(node):
-            for i in range(treestore.iter_n_children(node) or 0):
-                update(treestore.iter_nth_child(node, i))
-
-            if not treestore.iter_has_child(node):
-                key = treestore.get_value(node, KEY_INDEX)
-                block = self.platform.get_block(key)
-                doc = Utils.parse_template(DOC_MARKUP_TMPL, doc=block.get_doc())
-                treestore.set_value(node, DOC_INDEX, doc)
-
-        for treestore in self.treestore, self.treestore_search:
-            root = treestore.get_iter_root()
-            if root:
-                update(root)
+
+        def update_doc(model, _, iter_):
+            if model.iter_has_child(iter_):
+                return  # category node, no doc string
+            key = model.get_value(iter_, KEY_INDEX)
+            block = self.platform.get_block(key)
+            doc = Utils.parse_template(DOC_MARKUP_TMPL, doc=block.get_doc())
+            model.set_value(iter_, DOC_INDEX, doc)
+
+        self.treestore.foreach(update_doc)
+        self.treestore_search.foreach(update_doc)
 
     ############################################################
     ## Helper Methods
-- 
cgit v1.2.3