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