[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] [gnuradio] 19/101: grc-refactor: block documentation p
From: |
git |
Subject: |
[Commit-gnuradio] [gnuradio] 19/101: grc-refactor: block documentation prop |
Date: |
Thu, 16 Mar 2017 14:57:59 +0000 (UTC) |
This is an automated email from the git hooks/post-receive script.
jcorgan pushed a commit to branch python3
in repository gnuradio.
commit 38dc5e454b78b0f3e7e8af40c4b6e2a6cb15eec9
Author: Sebastian Koslowski <address@hidden>
Date: Wed Jun 15 11:32:22 2016 -0700
grc-refactor: block documentation prop
---
grc/core/Block.py | 60 ++++++++++++++++++++++++++--------------------
grc/gui/BlockTreeWindow.py | 4 ++--
grc/gui/PropsDialog.py | 2 +-
3 files changed, 37 insertions(+), 29 deletions(-)
diff --git a/grc/core/Block.py b/grc/core/Block.py
index 8296659..91bbeec 100644
--- a/grc/core/Block.py
+++ b/grc/core/Block.py
@@ -60,7 +60,7 @@ class Block(Element):
Make a new block from nested data.
Args:
- flow: graph the parent element
+ flow_graph: the parent element
n: the nested odict
Returns:
@@ -172,14 +172,8 @@ class Block(Element):
ports.append(port)
return ports
- def validate(self):
- """
- Validate this block.
- Call the base class validate.
- Evaluate the checks: each check must evaluate to True.
- """
- Element.validate(self)
- # Evaluate the checks
+ def _run_checks(self):
+ """Evaluate the checks"""
for check in self._checks:
check_res = self.resolve_dependencies(check)
try:
@@ -188,16 +182,8 @@ class Block(Element):
except:
self.add_error_message('Check "{}" did not
evaluate.'.format(check))
- # For variables check the value (only if var_value is used
- if self.is_variable and self._var_value != '$value':
- value = self._var_value
- try:
- value = self.get_var_value()
- self.parent.evaluate(value)
- except Exception as err:
- self.add_error_message('Value "{}" cannot be
evaluated:\n{}'.format(value, err))
-
- # check if this is a GUI block and matches the selected generate option
+ def _validate_generate_mode_compat(self):
+ """check if this is a GUI block and matches the selected generate
option"""
current_generate_option = self.parent.get_option('generate_options')
def check_generate_mode(label, flag, valid_options):
@@ -211,6 +197,27 @@ class Block(Element):
check_generate_mode('WX GUI', BLOCK_FLAG_NEED_WX_GUI, ('wx_gui',))
check_generate_mode('QT GUI', BLOCK_FLAG_NEED_QT_GUI, ('qt_gui',
'hb_qt_gui'))
+
+ def _validate_var_value(self):
+ """or variables check the value (only if var_value is used)"""
+ if self.is_variable and self._var_value != '$value':
+ value = self._var_value
+ try:
+ value = self.get_var_value()
+ self.parent.evaluate(value)
+ except Exception as err:
+ self.add_error_message('Value "{}" cannot be
evaluated:\n{}'.format(value, err))
+
+ def validate(self):
+ """
+ Validate this block.
+ Call the base class validate.
+ Evaluate the checks: each check must evaluate to True.
+ """
+ Element.validate(self)
+ self._run_checks()
+ self._validate_generate_mode_compat()
+ self._validate_var_value()
if self._epy_reload_error:
self.get_param('_source_code').add_error_message(str(self._epy_reload_error))
@@ -252,13 +259,6 @@ class Block(Element):
port._key = str(domain_specific_port_index[domain])
domain_specific_port_index[domain] += 1
- def get_doc(self):
- documentation = self.parent_platform.block_docstrings.get(self._key,
{})
- from_xml = self._doc.strip()
- if from_xml:
- documentation[''] = from_xml
- return documentation
-
def get_imports(self, raw=False):
"""
Resolve all import statements.
@@ -396,6 +396,14 @@ class Block(Element):
update_ports('out', self.get_sources(), blk_io.sources, 'source')
self.rewrite()
+ @property
+ def documentation(self):
+ documentation =
self.parent_platform.block_docstrings.get(self.get_key(), {})
+ from_xml = self._doc.strip()
+ if from_xml:
+ documentation[''] = from_xml
+ return documentation
+
# Main functions to get and set the block state
# Also kept get_enabled and set_enabled to keep compatibility
@property
diff --git a/grc/gui/BlockTreeWindow.py b/grc/gui/BlockTreeWindow.py
index 89aac53..d62fedf 100644
--- a/grc/gui/BlockTreeWindow.py
+++ b/grc/gui/BlockTreeWindow.py
@@ -178,7 +178,7 @@ class BlockTreeWindow(Gtk.VBox):
iter_ = treestore.insert_before(categories[category], None)
treestore.set_value(iter_, NAME_INDEX, block.get_name())
treestore.set_value(iter_, KEY_INDEX, block.get_key())
- treestore.set_value(iter_, DOC_INDEX, _format_doc(block.get_doc()))
+ treestore.set_value(iter_, DOC_INDEX, _format_doc(block.documentation))
def update_docs(self):
"""Update the documentation column of every block"""
@@ -188,7 +188,7 @@ class BlockTreeWindow(Gtk.VBox):
return # category node, no doc string
key = model.get_value(iter_, KEY_INDEX)
block = self.platform.blocks[key]
- model.set_value(iter_, DOC_INDEX, _format_doc(block.get_doc()))
+ model.set_value(iter_, DOC_INDEX, _format_doc(block.documentation))
self.treestore.foreach(update_doc)
self.treestore_search.foreach(update_doc)
diff --git a/grc/gui/PropsDialog.py b/grc/gui/PropsDialog.py
index f87ca6e..1526812 100644
--- a/grc/gui/PropsDialog.py
+++ b/grc/gui/PropsDialog.py
@@ -193,7 +193,7 @@ class PropsDialog(Gtk.Dialog):
buf.delete(buf.get_start_iter(), buf.get_end_iter())
pos = buf.get_end_iter()
- docstrings = self._block.get_doc()
+ docstrings = self._block.documentation
if not docstrings:
return
- [Commit-gnuradio] [gnuradio] branch python3 updated (50bfc3d -> 00e775f), git, 2017/03/16
- [Commit-gnuradio] [gnuradio] 07/101: grc-refactor: move param input widgets to separate file, git, 2017/03/16
- [Commit-gnuradio] [gnuradio] 04/101: grc: remove all Cheetah templates from GUI, git, 2017/03/16
- [Commit-gnuradio] [gnuradio] 03/101: grc-refactor: start clean-up Block.py, git, 2017/03/16
- [Commit-gnuradio] [gnuradio] 05/101: grc-refactor: move param entry colors spec in gui package, git, 2017/03/16
- [Commit-gnuradio] [gnuradio] 10/101: grc: gtk3: remove some deprecated warnings, git, 2017/03/16
- [Commit-gnuradio] [gnuradio] 19/101: grc-refactor: block documentation prop,
git <=
- [Commit-gnuradio] [gnuradio] 18/101: grc-refactor: block state handling, git, 2017/03/16
- [Commit-gnuradio] [gnuradio] 20/101: grc-refactor: Block: remove name getter, git, 2017/03/16
- [Commit-gnuradio] [gnuradio] 15/101: grc: gtk3: fix paste and domain color settings, git, 2017/03/16
- [Commit-gnuradio] [gnuradio] 08/101: grc: gtk3: remove canvas size and enable zooming, git, 2017/03/16
- [Commit-gnuradio] [gnuradio] 06/101: grc: gtk3: update props dialog, git, 2017/03/16
- [Commit-gnuradio] [gnuradio] 17/101: grc-refactor: move more port type color stuff to gui, git, 2017/03/16
- [Commit-gnuradio] [gnuradio] 09/101: grc-refactor: replace some unnecessary getters, git, 2017/03/16
- [Commit-gnuradio] [gnuradio] 24/101: grc-refactor: the hopeless cause of bus ports..., git, 2017/03/16
- [Commit-gnuradio] [gnuradio] 25/101: Merge branch 'next_grcwg' into gtk3 (v3.7.10 release), git, 2017/03/16
- [Commit-gnuradio] [gnuradio] 34/101: grc: fix parent getter in rewrite_epy_block, git, 2017/03/16