summaryrefslogtreecommitdiff
path: root/grc/python/Param.py
diff options
context:
space:
mode:
authorSebastian Koslowski <koslowski@kit.edu>2015-03-24 15:51:33 +0100
committerSebastian Koslowski <koslowski@kit.edu>2015-04-03 22:17:59 +0200
commit63e66a352e773557258fd6159363eb08c1fd1355 (patch)
tree602d6e70d76fb2756998124b626a42093e388617 /grc/python/Param.py
parent74fe1d0ea867a3971e369218e4da411f75b4d5ad (diff)
grc: new param type 'multiline' for comment entry box
Diffstat (limited to 'grc/python/Param.py')
-rw-r--r--grc/python/Param.py22
1 files changed, 10 insertions, 12 deletions
diff --git a/grc/python/Param.py b/grc/python/Param.py
index 827355d8d6..0e72fcbfb2 100644
--- a/grc/python/Param.py
+++ b/grc/python/Param.py
@@ -57,7 +57,7 @@ class Param(_Param, _GUIParam):
'complex', 'real', 'float', 'int',
'complex_vector', 'real_vector', 'float_vector', 'int_vector',
'hex', 'string', 'bool',
- 'file_open', 'file_save',
+ 'file_open', 'file_save', 'multiline',
'id', 'stream_id',
'grid_pos', 'notebook', 'gui_hint',
'import',
@@ -206,14 +206,6 @@ class Param(_Param, _GUIParam):
self._lisitify_flag = False
self._stringify_flag = False
self._hostage_cells = list()
- def eval_string(v):
- try:
- e = self.get_parent().get_parent().evaluate(v)
- if isinstance(e, str): return e
- raise Exception #want to stringify
- except:
- self._stringify_flag = True
- return v
t = self.get_type()
v = self.get_value()
#########################
@@ -280,9 +272,15 @@ class Param(_Param, _GUIParam):
#########################
# String Types
#########################
- elif t in ('string', 'file_open', 'file_save'):
+ elif t in ('string', 'file_open', 'file_save', 'multiline'):
#do not check if file/directory exists, that is a runtime issue
- e = eval_string(v)
+ try:
+ e = self.get_parent().get_parent().evaluate(v)
+ if not isinstance(e, str):
+ raise Exception()
+ except:
+ self._stringify_flag = True
+ e = v
return str(e)
#########################
# Unique ID Type
@@ -413,7 +411,7 @@ class Param(_Param, _GUIParam):
"""
v = self.get_value()
t = self.get_type()
- if t in ('string', 'file_open', 'file_save'): #string types
+ if t in ('string', 'file_open', 'file_save', 'multiline'): #string types
if not self._init: self.evaluate()
if self._stringify_flag: return '"%s"'%v.replace('"', '\"')
else: return v