From 0fa281fd7369348dbdeadcecfebb20b73082e93e Mon Sep 17 00:00:00 2001
From: Bastian Bloessl <mail@bastibl.net>
Date: Fri, 7 Jun 2019 17:09:49 +0200
Subject: grc: introduce flag 'show_id' to show block id

useful for variable and parameter blocks, but maybe others too
---
 grc/core/FlowGraph.py     | 2 +-
 grc/core/blocks/_build.py | 5 ++++-
 grc/core/blocks/_flags.py | 1 +
 grc/core/blocks/block.py  | 2 +-
 4 files changed, 7 insertions(+), 3 deletions(-)

(limited to 'grc/core')

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]
-- 
cgit v1.2.3