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