summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--grc/src/grc_gnuradio/wxgui/callback_controls.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/grc/src/grc_gnuradio/wxgui/callback_controls.py b/grc/src/grc_gnuradio/wxgui/callback_controls.py
index a8e7a9320..8027a580c 100644
--- a/grc/src/grc_gnuradio/wxgui/callback_controls.py
+++ b/grc/src/grc_gnuradio/wxgui/callback_controls.py
@@ -263,6 +263,8 @@ class text_box_control(_control_base):
for obj in (label_text, text_box): #fill the container with label and text entry box
label_text_sizer.Add(obj, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL)
self.Add(label_text_sizer, 0, wx.ALIGN_CENTER)
+ #set the value, detect string mode
+ self._string_mode = isinstance(value, str)
self.text_box.SetValue(str(value))
def get_value(self):
@@ -276,8 +278,13 @@ class text_box_control(_control_base):
"""
An enter key was pressed. Read the text box, call the callback.
If the text cannot be evaluated, do not try callback.
+ Do not evaluate the text box value in string mode.
"""
- try: self._value = eval(self.text_box.GetValue())
- except: return
+ if self._string_mode: self._value = self.text_box.GetValue()
+ else:
+ try: self._value = eval(self.text_box.GetValue())
+ except Exception, e:
+ print >> sys.stderr, 'Error in evaluate value from handle enter.\n', e
+ return
try: self.call()
except Exception, e: print >> sys.stderr, 'Error in exec callback from handle enter.\n', e