etherlab/ConfigEditor.py
changeset 2358 8e5a9830867e
parent 2356 c26e0c66d8d5
child 2360 2a3d022a7dac
equal deleted inserted replaced
2357:7c67286cddbe 2358:8e5a9830867e
   399         row = self.ParentWindow.ProcessVariablesGrid.YToRow(y - self.ParentWindow.ProcessVariablesGrid.GetColLabelSize())
   399         row = self.ParentWindow.ProcessVariablesGrid.YToRow(y - self.ParentWindow.ProcessVariablesGrid.GetColLabelSize())
   400         message = None
   400         message = None
   401         try:
   401         try:
   402             values = eval(data)
   402             values = eval(data)
   403         except Exception:
   403         except Exception:
   404             message = _("Invalid value \"%s\" for process variable")%data
   404             message = _("Invalid value \"%s\" for process variable") % data
   405             values = None
   405             values = None
   406         if not isinstance(values, TupleType):
   406         if not isinstance(values, TupleType):
   407             message = _("Invalid value \"%s\" for process variable")%data
   407             message = _("Invalid value \"%s\" for process variable") % data
   408             values = None
   408             values = None
   409         if values is not None and col != wx.NOT_FOUND and row != wx.NOT_FOUND and 2 <= col <= 3:
   409         if values is not None and col != wx.NOT_FOUND and row != wx.NOT_FOUND and 2 <= col <= 3:
   410             location = None
   410             location = None
   411             if values[1] == "location":
   411             if values[1] == "location":
   412                 result = LOCATION_MODEL.match(values[0])
   412                 result = LOCATION_MODEL.match(values[0])
   433                         self.ParentWindow.SaveProcessVariables()
   433                         self.ParentWindow.SaveProcessVariables()
   434                         self.ParentWindow.RefreshProcessVariables()
   434                         self.ParentWindow.RefreshProcessVariables()
   435                     else:
   435                     else:
   436                         message = _("'Read from' and 'Write to' variables types are not compatible")
   436                         message = _("'Read from' and 'Write to' variables types are not compatible")
   437                 else:
   437                 else:
   438                     message = _("Invalid value \"%s\" for process variable")%data
   438                     message = _("Invalid value \"%s\" for process variable") % data
   439 
   439 
   440         if message is not None:
   440         if message is not None:
   441             wx.CallAfter(self.ShowMessage, message)
   441             wx.CallAfter(self.ShowMessage, message)
   442 
   442 
   443     def ShowMessage(self, message):
   443     def ShowMessage(self, message):
   459         self.ParentWindow.Select()
   459         self.ParentWindow.Select()
   460         message = None
   460         message = None
   461         try:
   461         try:
   462             values = eval(data)
   462             values = eval(data)
   463         except Exception:
   463         except Exception:
   464             message = _("Invalid value \"%s\" for startup command")%data
   464             message = _("Invalid value \"%s\" for startup command") % data
   465             values = None
   465             values = None
   466         if not isinstance(values, TupleType):
   466         if not isinstance(values, TupleType):
   467             message = _("Invalid value \"%s\" for startup command")%data
   467             message = _("Invalid value \"%s\" for startup command") % data
   468             values = None
   468             values = None
   469         if values is not None:
   469         if values is not None:
   470             location = None
   470             location = None
   471             if values[1] == "location":
   471             if values[1] == "location":
   472                 result = LOCATION_MODEL.match(values[0])
   472                 result = LOCATION_MODEL.match(values[0])
   483                     if access in ["wo", "rw"]:
   483                     if access in ["wo", "rw"]:
   484                         self.ParentWindow.AddStartupCommand(*location[len(master_location):])
   484                         self.ParentWindow.AddStartupCommand(*location[len(master_location):])
   485                     else:
   485                     else:
   486                         message = _("Entry can't be write through SDO")
   486                         message = _("Entry can't be write through SDO")
   487                 else:
   487                 else:
   488                     message = _("Invalid value \"%s\" for startup command")%data
   488                     message = _("Invalid value \"%s\" for startup command") % data
   489 
   489 
   490         if message is not None:
   490         if message is not None:
   491             wx.CallAfter(self.ShowMessage, message)
   491             wx.CallAfter(self.ShowMessage, message)
   492 
   492 
   493     def ShowMessage(self, message):
   493     def ShowMessage(self, message):