Index: calculatorview/src/sans/perspectives/calculator/calculator.py
===================================================================
--- calculatorview/src/sans/perspectives/calculator/calculator.py	(revision a48842a2c34313c3feba7a63aa2d3a079dd65f41)
+++ calculatorview/src/sans/perspectives/calculator/calculator.py	(revision 306219c16148ce09126b839f2e16a7e5c71587a7)
@@ -97,4 +97,5 @@
             self.put_icon(self.data_operator_frame)
         self.data_operator_frame.Show(False)
+        self.data_operator_frame.panel.set_panel_on_focus(None)
         self.data_operator_frame.Show(True)
         
Index: calculatorview/src/sans/perspectives/calculator/data_operator.py
===================================================================
--- calculatorview/src/sans/perspectives/calculator/data_operator.py	(revision 743f48041b9af0b6d9a8d4ea1b2be7a9dfb7f4fc)
+++ calculatorview/src/sans/perspectives/calculator/data_operator.py	(revision 306219c16148ce09126b839f2e16a7e5c71587a7)
@@ -94,8 +94,8 @@
         operator_name = wx.StaticText(self, -1, 'Operator')
         data2_name = wx.StaticText(self, -1, 'Data2 (or Number)')
-        self.data_namectr = wx.TextCtrl(self, -1, size=(_BOX_WIDTH, 25))
+        self.data_namectr = wx.TextCtrl(self, -1, size=(_BOX_WIDTH, 25), style=wx.TE_PROCESS_ENTER) 
         self.data_namectr.SetToolTipString("Hit 'Enter' key after typing.")
         self.data_namectr.SetValue(str('MyNewDataName'))
-        self.numberctr = wx.TextCtrl(self, -1, size=(_BOX_WIDTH/3, 25)) 
+        self.numberctr = wx.TextCtrl(self, -1, size=(_BOX_WIDTH/3, 25), style=wx.TE_PROCESS_ENTER) 
         self.numberctr.SetToolTipString("Hit 'Enter' key after typing.")
         self.numberctr.SetValue(str(1.0))
@@ -172,4 +172,6 @@
             if len(children) > 0:
                 ctrl.GetChildren()[0].SetBackGroundColour(self.color)
+            if enable:
+                wx.EVT_TEXT_ENTER(self.numberctr, -1, self.on_number) 
         else:
             if not ctrl.IsEnabled():
@@ -187,5 +189,5 @@
             self._set_textctrl_color(item, 'white')
         else:
-            self._set_textctrl_color(item, self.GetBackgroundColour())
+            self._set_textctrl_color(item, self.color)
         text = item.GetValue().strip()
         self._check_newname(text)
@@ -239,21 +241,22 @@
         """
         self.send_warnings('')
-        if self.numberctr.IsEnabled():
-            self._set_textctrl_color(self.numberctr, 'white')
-        else:
-            self._set_textctrl_color(self.numberctr, self.GetBackgroundColour())
-
         item = event.GetEventObject()
         text = item.GetValue().strip()
-        try:
-            val = float(text)
-            pos = self.data2_cbox.GetSelection()
-            self.data2_cbox.SetClientData(pos, val)
-        except:
-            self._set_textctrl_color(self.numberctr, 'pink')
-            msg = "DataOperation: Number requires a float number."
-            self.send_warnings(msg, 'error')
-            return
-        self.put_text_pic(self.data2_pic, content=str(val)) 
+        if self.numberctr.IsShown():
+            if self.numberctr.IsEnabled():
+                self._set_textctrl_color(self.numberctr, 'white')
+                try:
+                    val = float(text)
+                    pos = self.data2_cbox.GetCurrentSelection()
+                    self.data2_cbox.SetClientData(pos, val)
+                except:
+                    self._set_textctrl_color(self.numberctr, 'pink')
+                    msg = "DataOperation: Number requires a float number."
+                    self.send_warnings(msg, 'error')
+                    return
+            else:
+                self._set_textctrl_color(self.numberctr, self.color)
+        
+        self.put_text_pic(self.data2_pic, content=str(val))
         self.check_data_inputs()
         if self.output != None:
@@ -266,9 +269,7 @@
         On select data1
         """
-        if event != None:
-            event.Skip()
         self.send_warnings('')
         item = event.GetEventObject()
-        pos = item.GetSelection()
+        pos = item.GetCurrentSelection()
         data = item.GetClientData(pos)
         if data == None:
@@ -303,6 +304,5 @@
         text = item.GetValue().strip().lower()
         self._show_numctrl(self.numberctr, text=='number')
-        
-        pos = item.GetSelection()
+        pos = item.GetCurrentSelection()
         data = item.GetClientData(pos)
         content = "?"
@@ -311,5 +311,4 @@
                 content = "?"
                 self.put_text_pic(self.data2_pic, content)
-                #item.SetClientData(pos, content) 
             else:
                 self.data2_pic.add_image(data)
@@ -356,4 +355,5 @@
         pos2 = self.data2_cbox.GetCurrentSelection()
         data2 = self.data2_cbox.GetClientData(pos2)
+        
         if data2 == None:
             self.output = None
@@ -362,21 +362,21 @@
             if self.numberctr.IsEnabled():
                 self._set_textctrl_color(self.numberctr, 'white')
-            else:
-                self._set_textctrl_color(self.numberctr, self.color )
-            try:
-                float(data2)
-                if self.operator_cbox.GetValue().strip() == '|':
-                    msg = "DataOperation: This operation can not accept "
-                    msg += "a float number."
+                try:
+                    float(data2)
+                    if self.operator_cbox.GetValue().strip() == '|':
+                        msg = "DataOperation: This operation can not accept "
+                        msg += "a float number."
+                        self.send_warnings(msg, 'error')
+                        self._set_textctrl_color(self.numberctr, 'pink')
+                        self.output = None
+                        return flag
+                except:
+                    msg = "DataOperation: Number requires a float number."
                     self.send_warnings(msg, 'error')
                     self._set_textctrl_color(self.numberctr, 'pink')
                     self.output = None
                     return flag
-            except:
-                msg = "DataOperation: Number requires a float number."
-                self.send_warnings(msg, 'error')
-                self._set_textctrl_color(self.numberctr, 'pink')
-                self.output = None
-                return flag
+            else:
+                self._set_textctrl_color(self.numberctr, self.color )
         elif data1.__class__.__name__ != data2.__class__.__name__:
             self._set_textctrl_color(self.data1_cbox, 'pink')
@@ -697,6 +697,5 @@
             pass
         self.subplot.figure.canvas.resizing = False
-        self.subplot.set_xticks([0.0])
-        self.subplot.set_yticks([0.0])
+        self.subplot.tick_params(axis='both', labelsize=9)
         # Draw zero axis lines
         self.subplot.axhline(linewidth = 1, color='r')  
