diff options
author | Bastian Bloessl <mail@bastibl.net> | 2019-06-07 17:09:49 +0200 |
---|---|---|
committer | Marcus Müller <marcus@hostalia.de> | 2019-06-29 13:58:54 +0200 |
commit | 0fa281fd7369348dbdeadcecfebb20b73082e93e (patch) | |
tree | 63a176d74f0b10eae82de6578ea244cbf018a6c0 /grc | |
parent | 2ff628894b645d22325db6569fdccb265f57fbe1 (diff) |
grc: introduce flag 'show_id' to show block id
useful for variable and parameter blocks, but maybe others too
Diffstat (limited to 'grc')
-rw-r--r-- | grc/blocks/parameter.block.yml | 2 | ||||
-rw-r--r-- | grc/blocks/variable.block.yml | 2 | ||||
-rw-r--r-- | grc/blocks/variable_config.block.yml | 2 | ||||
-rw-r--r-- | grc/blocks/variable_function_probe.block.yml | 2 | ||||
-rw-r--r-- | grc/blocks/variable_struct.block.yml.py | 1 | ||||
-rw-r--r-- | grc/converter/block.py | 5 | ||||
-rw-r--r-- | grc/core/FlowGraph.py | 2 | ||||
-rw-r--r-- | grc/core/blocks/_build.py | 5 | ||||
-rw-r--r-- | grc/core/blocks/_flags.py | 1 | ||||
-rw-r--r-- | grc/core/blocks/block.py | 2 | ||||
-rw-r--r-- | grc/gui/VariableEditor.py | 2 |
11 files changed, 17 insertions, 9 deletions
diff --git a/grc/blocks/parameter.block.yml b/grc/blocks/parameter.block.yml index 8add27550d..f37ca1923f 100644 --- a/grc/blocks/parameter.block.yml +++ b/grc/blocks/parameter.block.yml @@ -1,6 +1,6 @@ id: parameter label: Parameter -flags: [ python, cpp ] +flags: [ show_id, python, cpp ] parameters: - id: label diff --git a/grc/blocks/variable.block.yml b/grc/blocks/variable.block.yml index e7af34e5f6..2952b82b3c 100644 --- a/grc/blocks/variable.block.yml +++ b/grc/blocks/variable.block.yml @@ -1,6 +1,6 @@ id: variable label: Variable -flags: [ python, cpp ] +flags: [ show_id, python, cpp ] parameters: - id: value diff --git a/grc/blocks/variable_config.block.yml b/grc/blocks/variable_config.block.yml index ecb2692301..ba4d344f01 100644 --- a/grc/blocks/variable_config.block.yml +++ b/grc/blocks/variable_config.block.yml @@ -1,6 +1,6 @@ id: variable_config label: Variable Config -flags: [ python ] +flags: [ show_id, python ] parameters: - id: value diff --git a/grc/blocks/variable_function_probe.block.yml b/grc/blocks/variable_function_probe.block.yml index cbd3ebc54a..3eccd1d928 100644 --- a/grc/blocks/variable_function_probe.block.yml +++ b/grc/blocks/variable_function_probe.block.yml @@ -1,6 +1,6 @@ id: variable_function_probe label: Function Probe -flags: [ python ] +flags: [ show_id, python ] parameters: - id: block_id diff --git a/grc/blocks/variable_struct.block.yml.py b/grc/blocks/variable_struct.block.yml.py index b597f41a6c..96c3ee06c3 100644 --- a/grc/blocks/variable_struct.block.yml.py +++ b/grc/blocks/variable_struct.block.yml.py @@ -5,6 +5,7 @@ MAX_NUM_FIELDS = 20 HEADER = """\ id: variable_struct label: Struct Variable +flags: [ show_id ] parameters: """ diff --git a/grc/converter/block.py b/grc/converter/block.py index 0e362d97c0..77720318f2 100644 --- a/grc/converter/block.py +++ b/grc/converter/block.py @@ -84,7 +84,10 @@ def convert_block_xml(node): data['id'] = block_id data['label'] = node.findtext('name') or no_value data['category'] = node.findtext('category') or no_value - data['flags'] = node.findtext('flags') or no_value + data['flags'] = [n.text for n in node.findall('flags')] + data['flags'] += ['show_id'] if block_id.startswith('variable') else [] + if not data['flags']: + data['flags'] = no_value data['parameters'] = [convert_param_xml(param_node, converter.to_python_dec) for param_node in node.iterfind('param')] or no_value diff --git a/grc/core/FlowGraph.py b/grc/core/FlowGraph.py index 83a63a2484..04b73957b3 100644 --- a/grc/core/FlowGraph.py +++ b/grc/core/FlowGraph.py @@ -325,7 +325,7 @@ class FlowGraph(Element): a nested data odict """ def block_order(b): - return not b.key.startswith('variable'), b.name # todo: vars still first ?!? + return not b.is_variable, b.name # todo: vars still first ?!? data = collections.OrderedDict() data['options'] = self._options_block.export_data() diff --git a/grc/core/blocks/_build.py b/grc/core/blocks/_build.py index e3b2d96292..d150dfff4e 100644 --- a/grc/core/blocks/_build.py +++ b/grc/core/blocks/_build.py @@ -103,7 +103,10 @@ def build_params(params_raw, have_inputs, have_outputs, flags, block_id): def add_param(**data): params.append(data) - add_param(id='id', name='ID', dtype='id', hide='part') + if flags.SHOW_ID in flags: + add_param(id='id', name='ID', dtype='id', hide='none') + else: + add_param(id='id', name='ID', dtype='id', hide='all') if not flags.not_dsp: add_param(id='alias', name='Block Alias', dtype='string', diff --git a/grc/core/blocks/_flags.py b/grc/core/blocks/_flags.py index 54052b59c5..c85232fceb 100644 --- a/grc/core/blocks/_flags.py +++ b/grc/core/blocks/_flags.py @@ -27,6 +27,7 @@ class Flags(object): NEED_QT_GUI = 'need_qt_gui' DEPRECATED = 'deprecated' NOT_DSP = 'not_dsp' + SHOW_ID = 'show_id' HAS_PYTHON = 'python' HAS_CPP = 'cpp' diff --git a/grc/core/blocks/block.py b/grc/core/blocks/block.py index 9280d8fda7..50c7873e9d 100644 --- a/grc/core/blocks/block.py +++ b/grc/core/blocks/block.py @@ -77,7 +77,7 @@ class Block(Element): (data['id'], param_factory(parent=self, **data)) for data in self.parameters_data ) - if self.key == 'options' or self.is_variable: + if self.key == 'options': self.params['id'].hide = 'part' self.sinks = [port_factory(parent=self, **params) for params in self.inputs_data] diff --git a/grc/gui/VariableEditor.py b/grc/gui/VariableEditor.py index 025d7799e1..d9c829ebcc 100644 --- a/grc/gui/VariableEditor.py +++ b/grc/gui/VariableEditor.py @@ -191,7 +191,7 @@ class VariableEditor(Gtk.VBox): self.set_tooltip_text(error_message[-1]) else: # Evaluate and show the value (if it is a variable) - if block.key == "variable": + if block.is_variable: evaluated = str(block.params['value'].evaluate()) self.set_tooltip_text(evaluated) # Always set the text value. |