diff -r 0e48629c1e6d -r 0578bc212c20 SFCViewer.py --- a/SFCViewer.py Mon Aug 13 18:06:50 2007 +0200 +++ b/SFCViewer.py Tue Aug 14 14:53:06 2007 +0200 @@ -285,18 +285,19 @@ def OnViewerMotion(self, event): if self.GetDrawingMode() == FREEDRAWING_MODE: Viewer.OnViewerMotion(self, event) - elif self.rubberBand.IsShown(): - self.rubberBand.OnMotion(event, self.GetLogicalDC(), self.Scaling) - elif self.Mode == MODE_SELECTION and self.SelectedElement: - if not self.IsWire(self.SelectedElement): + else: + if self.rubberBand.IsShown(): + self.rubberBand.OnMotion(event, self.GetLogicalDC(), self.Scaling) + elif self.Mode == MODE_SELECTION and self.SelectedElement: + if not self.IsWire(self.SelectedElement) and not isinstance(self.SelectedElement, Graphic_Group): + self.SelectedElement.OnMotion(event, self.GetLogicalDC(), self.Scaling) + self.Refresh() + elif self.Mode == MODE_WIRE and self.SelectedElement: + self.SelectedElement.ResetPoints() self.SelectedElement.OnMotion(event, self.GetLogicalDC(), self.Scaling) - self.Refresh() - elif self.Mode == MODE_WIRE and self.SelectedElement: - self.SelectedElement.ResetPoints() - self.SelectedElement.OnMotion(event, self.GetLogicalDC(), self.Scaling) - self.SelectedElement.GeneratePoints() - self.Refresh() - Viewer.OnViewerMotion(self, event) + self.SelectedElement.GeneratePoints() + self.Refresh() + self.UpdateScrollPos(event) event.Skip() #------------------------------------------------------------------------------- @@ -717,21 +718,24 @@ dialog.Destroy() def EditStepContent(self, step): - dialog = StepNameDialog(self.Parent, "Edit step name", "Please enter step name", step.GetName(), wx.OK|wx.CANCEL) - dialog.SetPouNames(self.Controler.GetProjectPouNames()) - dialog.SetVariables(self.Controler.GetCurrentElementEditingInterfaceVars()) - dialog.SetStepNames([block.GetName() for block in self.Blocks if isinstance(block, SFC_Step) and block.GetName() != step.GetName()]) - if dialog.ShowModal() == wx.ID_OK: - value = dialog.GetValue() - step.SetName(value) - min_size = step.GetMinSize() - size = step.GetSize() - step.UpdateSize(max(min_size[0], size[0]), max(min_size[1], size[1])) - step.RefreshModel() - self.RefreshBuffer() - self.RefreshScrollBars() - self.Refresh() - dialog.Destroy() + if self.GetDrawingMode() == FREEDRAWING_MODE: + Viewer.EditStepContent(self, step) + else: + dialog = StepNameDialog(self.Parent, "Edit step name", "Please enter step name", step.GetName(), wx.OK|wx.CANCEL) + dialog.SetPouNames(self.Controler.GetProjectPouNames()) + dialog.SetVariables(self.Controler.GetCurrentElementEditingInterfaceVars()) + dialog.SetStepNames([block.GetName() for block in self.Blocks if isinstance(block, SFC_Step) and block.GetName() != step.GetName()]) + if dialog.ShowModal() == wx.ID_OK: + value = dialog.GetValue() + step.SetName(value) + min_size = step.GetMinSize() + size = step.GetSize() + step.UpdateSize(max(min_size[0], size[0]), max(min_size[1], size[1])) + step.RefreshModel() + self.RefreshBuffer() + self.RefreshScrollBars() + self.Refresh() + dialog.Destroy() #------------------------------------------------------------------------------- # Delete element functions