diff -r 0ce12552cf36 -r 3f92a5e18804 SFCViewer.py --- 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()