--- 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