LDViewer.py
changeset 144 b67a5de5a24a
parent 122 e6faee0c271b
child 155 b695f7459ef6
--- a/LDViewer.py	Fri Jan 04 17:47:58 2008 +0100
+++ b/LDViewer.py	Fri Jan 04 17:49:17 2008 +0100
@@ -332,11 +332,10 @@
                             elt.SetSelectedSegment(None)
                     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)
@@ -353,7 +352,6 @@
                     self.SelectedElement = Graphic_Group(self)
                     self.SelectedElement.SetElements(elements)
                     self.SelectedElement.SetSelected(True)
-                    self.Refresh()
         elif self.Mode == MODE_SELECTION and self.SelectedElement:
             dc = self.GetLogicalDC() 
             if not isinstance(self.SelectedElement, Graphic_Group):
@@ -371,9 +369,8 @@
                             element.SetSelectedSegment(result[0])
                     else:
                         element.OnLeftUp(event, dc, self.Scaling)
+            self.SelectedElement.Refresh()
             wx.CallAfter(self.SetCursor, wx.NullCursor)
-            self.ReleaseMouse()
-            self.Refresh()
         event.Skip()
 
     def OnViewerRightUp(self, event):
@@ -392,9 +389,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):
@@ -402,7 +398,7 @@
             Viewer.OnViewerLeftDClick(self, event)
         elif self.Mode == MODE_SELECTION and self.SelectedElement:
             self.SelectedElement.OnLeftDClick(event, self.GetLogicalDC(), self.Scaling)
-            self.Refresh()
+            self.SelectedElement.Refresh()
         event.Skip()
 
     def OnViewerMotion(self, event):
@@ -1215,7 +1211,7 @@
                 contact.RefreshModel(False)
                 self.RefreshBuffer()
                 self.RefreshScrollBars()
-                self.Refresh()
+                contact.Refresh()
             dialog.Destroy()
 
     def EditCoilContent(self, coil):
@@ -1241,7 +1237,7 @@
                 coil.RefreshModel(False)
                 self.RefreshBuffer()
                 self.RefreshScrollBars()
-                self.Refresh()
+                coil.Refresh()
             dialog.Destroy()
 
     def EditPowerRailContent(self, powerrail):