545 setattr(self.Preview, "GetDrawingMode", lambda:FREEDRAWING_MODE) |
545 setattr(self.Preview, "GetDrawingMode", lambda:FREEDRAWING_MODE) |
546 setattr(self.Preview, "GetScaling", lambda:None) |
546 setattr(self.Preview, "GetScaling", lambda:None) |
547 setattr(self.Preview, "IsOfType", ctrler.IsOfType) |
547 setattr(self.Preview, "IsOfType", ctrler.IsOfType) |
548 |
548 |
549 self.ButtonSizer = self.CreateButtonSizer(wx.OK|wx.CANCEL|wx.CENTRE) |
549 self.ButtonSizer = self.CreateButtonSizer(wx.OK|wx.CANCEL|wx.CENTRE) |
550 |
|
551 if wx.VERSION >= (2, 5, 0): |
550 if wx.VERSION >= (2, 5, 0): |
|
551 self.Bind(wx.EVT_BUTTON, self.OnOK, id=self.ButtonSizer.GetAffirmativeButton().GetId()) |
552 self.Preview.Bind(wx.EVT_PAINT, self.OnPaint) |
552 self.Preview.Bind(wx.EVT_PAINT, self.OnPaint) |
553 else: |
553 else: |
|
554 self.Bind(wx.EVT_BUTTON, self.OnOK, id=self.ButtonSizer.GetChildren()[0].GetSizer().GetChildren()[0].GetWindow().GetId()) |
554 wx.EVT_PAINT(self.Preview, self.OnPaint) |
555 wx.EVT_PAINT(self.Preview, self.OnPaint) |
555 |
556 |
556 self._init_sizers() |
557 self._init_sizers() |
557 |
558 |
558 def __init__(self, parent, controler, transition = ""): |
559 def __init__(self, parent, controler, transition = ""): |
639 if var_name == values["name"]: |
640 if var_name == values["name"]: |
640 values["value_type"] = value_type |
641 values["value_type"] = value_type |
641 values["width"], values["height"] = self.Variable.GetSize() |
642 values["width"], values["height"] = self.Variable.GetSize() |
642 values["executionOrder"] = self.ExecutionOrder.GetValue() |
643 values["executionOrder"] = self.ExecutionOrder.GetValue() |
643 return values |
644 return values |
|
645 |
|
646 def OnOK(self, event): |
|
647 expression = self.Expression.GetValue() |
|
648 if self.Expression.IsEnabled(): |
|
649 value = expression |
|
650 else: |
|
651 value = self.VariableName.GetStringSelection() |
|
652 if value == "": |
|
653 message = wx.MessageDialog(self, "At least a variable or aa expression must be selected!", "Error", wx.OK|wx.ICON_ERROR) |
|
654 message.ShowModal() |
|
655 message.Destroy() |
|
656 elif value.upper() in IEC_KEYWORDS: |
|
657 message = wx.MessageDialog(self, "\"%s\" is a keyword. It can't be used!"%value, "Error", wx.OK|wx.ICON_ERROR) |
|
658 message.ShowModal() |
|
659 message.Destroy() |
|
660 else: |
|
661 self.EndModal(wx.ID_OK) |
644 |
662 |
645 def OnClassChanged(self, event): |
663 def OnClassChanged(self, event): |
646 self.RefreshNameList() |
664 self.RefreshNameList() |
647 if self.Class.GetStringSelection() == "Input": |
665 if self.Class.GetStringSelection() == "Input": |
648 self.Expression.Enable(True) |
666 self.Expression.Enable(True) |