SFCViewer.py
changeset 563 3f92a5e18804
parent 409 34c9f624c2fe
child 720 2a9d4eafaddd
--- a/SFCViewer.py	Thu Sep 22 10:56:52 2011 +0200
+++ b/SFCViewer.py	Thu Sep 22 15:33:31 2011 +0200
@@ -168,10 +168,8 @@
         if self.GetDrawingMode() == FREEDRAWING_MODE:
             Viewer.OnViewerLeftDown(self, event)
         elif self.Mode == MODE_SELECTION:
-            dc = self.GetLogicalDC()
-            pos = event.GetLogicalPosition(dc)
             if event.ShiftDown() and not event.ControlDown() and self.SelectedElement is not None:
-                element = self.FindElement(pos, True)
+                element = self.FindElement(event, True)
                 if element and not self.IsWire(element):
                     if isinstance(self.SelectedElement, Graphic_Group):
                         self.SelectedElement.SelectElement(element)
@@ -188,7 +186,7 @@
                         self.SelectedElement = elements[0]
                     self.SelectedElement.SetSelected(True)
             else:
-                element = self.FindElement(pos)
+                element = self.FindElement(event)
                 if self.SelectedElement and self.SelectedElement != element:
                     if self.IsWire(self.SelectedElement):
                         self.SelectedElement.SetSelectedSegment(None)
@@ -197,11 +195,11 @@
                     self.SelectedElement = None
                 if element:
                     self.SelectedElement = element
-                    self.SelectedElement.OnLeftDown(event, dc, self.Scaling)
+                    self.SelectedElement.OnLeftDown(event, self.GetLogicalDC(), self.Scaling)
                     self.SelectedElement.Refresh()
                 else:
                     self.rubberBand.Reset()
-                    self.rubberBand.OnLeftDown(event, dc, self.Scaling)
+                    self.rubberBand.OnLeftDown(event, self.GetLogicalDC(), self.Scaling)
         elif self.Mode == MODE_COMMENT:
             self.rubberBand.Reset()
             self.rubberBand.OnLeftDown(event, self.GetLogicalDC(), self.Scaling)
@@ -243,9 +241,7 @@
         if self.GetDrawingMode() == FREEDRAWING_MODE:
             Viewer.OnViewerRightUp(self, event)
         else:
-            dc = self.GetLogicalDC()
-            pos = event.GetLogicalPosition(dc)
-            element = self.FindElement(pos)
+            element = self.FindElement(event)
             if element:
                 if self.SelectedElement and self.SelectedElement != element:
                     self.SelectedElement.SetSelected(False)
@@ -254,7 +250,7 @@
                     self.SelectedElement.SetSelectedSegment(0)
                 else:
                     self.SelectedElement.SetSelected(True)
-                    self.SelectedElement.OnRightUp(event, dc, self.Scaling)
+                    self.SelectedElement.OnRightUp(event, self.GetLogicalDC(), self.Scaling)
                     self.SelectedElement.Refresh()
                 wx.CallAfter(self.SetCurrentCursor, 0)
         event.Skip()