diff options
author | Sebastian Koslowski <koslowski@kit.edu> | 2016-02-05 11:51:20 +0100 |
---|---|---|
committer | Sebastian Koslowski <koslowski@kit.edu> | 2016-02-05 11:51:20 +0100 |
commit | e21a3dad6cf8e035ff5104d9eddfce11a8582658 (patch) | |
tree | ee16eecd8fd9d759482e13de18ac1341ee42ed58 /grc/gui/BlockTreeWindow.py | |
parent | 857540a6b8ef60c8e44ab575228f326c5b01d4e6 (diff) | |
parent | 1025df04816539bc8d11ae29a6e3a10c200ada9b (diff) |
Merge branch 'maint_grcwg' into docstring_gui_fixes
Diffstat (limited to 'grc/gui/BlockTreeWindow.py')
-rw-r--r-- | grc/gui/BlockTreeWindow.py | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/grc/gui/BlockTreeWindow.py b/grc/gui/BlockTreeWindow.py index b76718e857..f6968198d2 100644 --- a/grc/gui/BlockTreeWindow.py +++ b/grc/gui/BlockTreeWindow.py @@ -31,6 +31,9 @@ DOC_INDEX = 2 DOC_MARKUP_TMPL = """\ #if $doc +#if len($doc) > 1000 +#set $doc = $doc[:1000] + '...' +#end if $encode($doc)#slurp #else undocumented#slurp @@ -149,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 |