diff -r d51af006fa6b -r 64d8f52bc8c8 dialogs/SFCStepDialog.py --- a/dialogs/SFCStepDialog.py Fri Aug 11 15:18:19 2017 +0300 +++ b/dialogs/SFCStepDialog.py Mon Aug 14 19:13:01 2017 +0300 @@ -38,7 +38,7 @@ """ class SFCStepDialog(BlockPreviewDialog): - + def __init__(self, parent, controller, tagname, initial=False): """ Constructor @@ -47,25 +47,25 @@ @param tagname: Tagname of project POU edited @param initial: True if step is initial (default: False) """ - BlockPreviewDialog.__init__(self,parent, controller, tagname, + BlockPreviewDialog.__init__(self,parent, controller, tagname, title=_('Edit Step')) - + # Init common sizers self._init_sizers(2, 0, 6, None, 2, 1) - + # Create label for SFC step name name_label = wx.StaticText(self, label=_('Name:')) self.LeftGridSizer.AddWindow(name_label, flag=wx.GROW) - + # Create text control for defining SFC step name self.StepName = wx.TextCtrl(self) self.Bind(wx.EVT_TEXT, self.OnNameChanged, self.StepName) self.LeftGridSizer.AddWindow(self.StepName, flag=wx.GROW) - + # Create label for SFC step connectors connectors_label = wx.StaticText(self, label=_('Connectors:')) self.LeftGridSizer.AddWindow(connectors_label, flag=wx.GROW) - + # Create check boxes for defining connectors available on SFC step self.ConnectorsCheckBox = {} for name, label in [("input", _("Input")), @@ -77,27 +77,27 @@ self.Bind(wx.EVT_CHECKBOX, self.OnConnectorsChanged, check_box) self.LeftGridSizer.AddWindow(check_box, flag=wx.GROW) self.ConnectorsCheckBox[name] = check_box - + # Add preview panel and associated label to sizers self.RightGridSizer.AddWindow(self.PreviewLabel, flag=wx.GROW) self.RightGridSizer.AddWindow(self.Preview, flag=wx.GROW) - + # Add buttons sizer to sizers - self.MainSizer.AddSizer(self.ButtonSizer, border=20, + self.MainSizer.AddSizer(self.ButtonSizer, border=20, flag=wx.ALIGN_RIGHT|wx.BOTTOM|wx.LEFT|wx.RIGHT) - + # Save flag that indicates that step is initial self.Initial = initial - + # Set default name for step self.StepName.ChangeValue(controller.GenerateNewName( tagname, None, "Step%d", 0)) self.Fit() - + # Step name text control is default control having keyboard focus self.StepName.SetFocus() - + def SetValues(self, values): """ Set default block parameters @@ -105,20 +105,20 @@ """ # For each parameters defined, set corresponding control value for name, value in values.items(): - + # Parameter is step name if name == "name": self.StepName.ChangeValue(value) - + # Set value of other controls else: control = self.ConnectorsCheckBox.get(name, None) if control is not None: control.SetValue(value) - + # Refresh preview panel self.RefreshPreview() - + def GetValues(self): """ Return step parameters defined in dialog @@ -130,7 +130,7 @@ for name, control in self.ConnectorsCheckBox.iteritems()}) values["width"], values["height"] = self.Element.GetSize() return values - + def OnOK(self, event): """ Called when dialog OK button is pressed @@ -138,23 +138,23 @@ @param event: wx.Event from OK button """ message = None - + # Get step name typed by user step_name = self.StepName.GetValue() - + # Test that a name have been defined if step_name == "": message = _("Form isn't complete. Name must be filled!") - + # If an error have been identify, show error message dialog if message is not None: self.ShowErrorMessage(message) - + # Test step name validity elif self.TestElementName(step_name): # Call BlockPreviewDialog function BlockPreviewDialog.OnOK(self, event) - + def OnConnectorsChanged(self, event): """ Called when a step connector value changed @@ -170,23 +170,23 @@ """ self.RefreshPreview() event.Skip() - + def RefreshPreview(self): """ Refresh preview panel of graphic element Override BlockPreviewDialog function """ # Set graphic element displayed, creating a SFC step element - self.Element = SFC_Step(self.Preview, - self.StepName.GetValue(), + self.Element = SFC_Step(self.Preview, + self.StepName.GetValue(), self.Initial) - + # Update connectors of SFC step element according to check boxes value for name, control in self.ConnectorsCheckBox.iteritems(): if control.IsChecked(): getattr(self.Element, "Add" + name.capitalize())() else: getattr(self.Element, "Remove" + name.capitalize())() - + # Call BlockPreviewDialog function BlockPreviewDialog.RefreshPreview(self)