From 63e66a352e773557258fd6159363eb08c1fd1355 Mon Sep 17 00:00:00 2001
From: Sebastian Koslowski <koslowski@kit.edu>
Date: Tue, 24 Mar 2015 15:51:33 +0100
Subject: grc: new param type 'multiline' for comment entry box

---
 grc/python/Param.py | 22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)

(limited to 'grc/python/Param.py')

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