editors/Viewer.py
changeset 1342 c17507a10807
parent 1338 c1e6c712cc35
child 1347 533741e5075c
--- a/editors/Viewer.py	Wed Oct 02 19:58:32 2013 +0200
+++ b/editors/Viewer.py	Thu Oct 03 18:59:18 2013 +0200
@@ -570,6 +570,7 @@
         self.Editor.SetBackgroundColour(wx.Colour(255,255,255))
         self.Editor.SetBackgroundStyle(wx.BG_STYLE_CUSTOM)
         self.ResetView()
+        self.LastClientSize = None
         self.Scaling = None
         self.DrawGrid = True
         self.GridBrush = wx.TRANSPARENT_BRUSH
@@ -1343,10 +1344,10 @@
                          start_connector.GetDirection()],
                         [wx.Point(*end_connector.GetPosition()),
                          end_connector.GetDirection()])
-                start_connector.Connect((wire, 0), False)
-                end_connector.Connect((wire, -1), False)
-                wire.ConnectStartPoint(None, start_connector)
-                wire.ConnectEndPoint(None, end_connector)
+                start_connector.Wires.append((wire, 0))
+                end_connector.Wires.append((wire, -1))
+                wire.StartConnected = start_connector
+                wire.EndConnected = end_connector
                 connected.RefreshConnectors()
                 self.AddWire(wire)
                 if selection is not None and (\
@@ -2223,7 +2224,6 @@
                     movex, movey = self.SelectedElement.OnMotion(event, dc, self.Scaling)
                     if movex != 0 or movey != 0:
                         self.RefreshRect(self.GetScrolledRect(self.SelectedElement.GetRedrawRect(movex, movey)), False)
-                    self.RefreshVisibleElements()
             elif self.Debug and self.StartMousePos is not None and event.Dragging():
                 pos = event.GetPosition()
                 if abs(self.StartMousePos.x - pos.x) > 5 or abs(self.StartMousePos.y - pos.y) > 5:
@@ -3468,8 +3468,11 @@
                 self.Scroll(x, yp)
             
     def OnMoveWindow(self, event):
-        self.RefreshScrollBars()
-        self.RefreshVisibleElements()
+        client_size = self.GetClientSize()
+        if self.LastClientSize != client_size:
+            self.LastClientSize = client_size
+            self.RefreshScrollBars()
+            self.RefreshVisibleElements()
         event.Skip()
 
     def DoDrawing(self, dc, printing = False):