diff -r 015a34da60eb -r b67a5de5a24a SFCViewer.py --- a/SFCViewer.py Fri Jan 04 17:47:58 2008 +0100 +++ b/SFCViewer.py Fri Jan 04 17:49:17 2008 +0100 @@ -212,11 +212,10 @@ else: self.SelectedElement.SetSelected(False) self.SelectedElement = None - self.Refresh() if element: self.SelectedElement = element self.SelectedElement.OnLeftDown(event, dc, self.Scaling) - self.Refresh() + self.SelectedElement.Refresh() else: self.rubberBand.Reset() self.rubberBand.OnLeftDown(event, dc, self.Scaling) @@ -234,7 +233,6 @@ if self.SelectedElement: self.SelectedElement.SetSelected(False) self.SelectedElement = wire - self.Refresh() event.Skip() def OnViewerLeftUp(self, event): @@ -248,7 +246,6 @@ self.SelectedElement = Graphic_Group(self) self.SelectedElement.SetElements(elements) self.SelectedElement.SetSelected(True) - self.Refresh() elif self.Mode == MODE_COMMENT: bbox = self.rubberBand.GetCurrentExtent() self.rubberBand.OnLeftUp(event, self.GetLogicalDC(), self.Scaling) @@ -260,16 +257,14 @@ self.SelectedElement.SetSelectedSegment(0) else: self.SelectedElement.OnLeftUp(event, self.GetLogicalDC(), self.Scaling) + self.SelectedElement.Refresh() wx.CallAfter(self.SetCursor, wx.NullCursor) - self.ReleaseMouse() - 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.SelectedElement.RefreshModel() self.SelectedElement.SetSelected(True) - self.Refresh() event.Skip() def OnViewerRightUp(self, event): @@ -288,9 +283,8 @@ else: self.SelectedElement.SetSelected(True) self.SelectedElement.OnRightUp(event, dc, self.Scaling) + self.SelectedElement.Refresh() wx.CallAfter(self.SetCursor, wx.NullCursor) - self.ReleaseMouse() - self.Refresh() event.Skip() def OnViewerLeftDClick(self, event): @@ -310,12 +304,12 @@ 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() + self.SelectedElement.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() + self.SelectedElement.Refresh() self.UpdateScrollPos(event) event.Skip() @@ -348,7 +342,7 @@ self.SelectedElement.RefreshModel() self.RefreshBuffer() self.RefreshScrollBars() - self.Refresh() + self.RefreshRect(self.GetScrolledRect(self.SelectedElement.GetRedrawRect(-scaling[0], 0))) elif keycode == wx.WXK_RIGHT: if event.ControlDown() and event.ShiftDown(): self.Scroll(xmax, ypos) @@ -359,7 +353,7 @@ self.SelectedElement.RefreshModel() self.RefreshBuffer() self.RefreshScrollBars() - self.Refresh() + self.RefreshRect(self.GetScrolledRect(self.SelectedElement.GetRedrawRect(scaling[0], 0))) elif keycode == wx.WXK_UP: if event.ControlDown() and event.ShiftDown(): self.Scroll(xpos, 0) @@ -370,7 +364,7 @@ self.SelectedElement.RefreshModel() self.RefreshBuffer() self.RefreshScrollBars() - self.Refresh() + self.RefreshRect(self.GetScrolledRect(self.SelectedElement.GetRedrawRect(0, -scaling[1]))) elif keycode == wx.WXK_DOWN: if event.ControlDown() and event.ShiftDown(): self.Scroll(xpos, ymax) @@ -381,7 +375,7 @@ self.SelectedElement.RefreshModel() self.RefreshBuffer() self.RefreshScrollBars() - self.Refresh() + self.RefreshRect(self.GetScrolledRect(self.SelectedElement.GetRedrawRect(0, scaling[1]))) else: event.Skip()