diff -r e24d2f917c7e -r 7187e1c00975 LDViewer.py --- a/LDViewer.py Wed Jul 25 10:06:29 2007 +0200 +++ b/LDViewer.py Thu Jul 26 17:23:21 2007 +0200 @@ -411,7 +411,29 @@ self.DeleteWire(self.SelectedElement) else: self.SelectedElement.Delete() - self.Refresh() + self.RefreshBuffer() + self.RefreshScrollBars() + self.Refresh() + elif keycode == WXK_LEFT: + if event.ControlDown() and event.ShiftDown(): + self.Scroll(0, ypos) + elif event.ControlDown(): + self.Scroll(max(0, xpos - 1), ypos) + elif keycode == WXK_RIGHT: + if event.ControlDown() and event.ShiftDown(): + self.Scroll(xmax, ypos) + elif event.ControlDown(): + self.Scroll(min(xpos + 1, xmax), ypos) + elif keycode == WXK_UP: + if event.ControlDown() and event.ShiftDown(): + self.Scroll(xpos, 0) + elif event.ControlDown(): + self.Scroll(xpos, max(0, ypos - 1)) + elif keycode == WXK_DOWN: + if event.ControlDown() and event.ShiftDown(): + self.Scroll(xpos, ymax) + elif event.ControlDown(): + self.Scroll(xpos, min(ypos + 1, ymax)) event.Skip() #------------------------------------------------------------------------------- @@ -493,6 +515,8 @@ rung.SelectElement(wire) self.RefreshPosition(coil) self.Rungs.append(rung) + self.RefreshBuffer() + self.RefreshScrollBars() self.Refresh() def AddLadderContact(self): @@ -584,6 +608,8 @@ rung.RefreshBoundingBox() new_bbox = rung.GetBoundingBox() self.RefreshRungs(new_bbox.height - old_bbox.height, rungindex + 1) + self.RefreshBuffer() + self.RefreshScrollBars() self.Refresh() else: message = wxMessageDialog(self, "You must select the wire where a contact should be added!", "Error", wxOK|wxICON_ERROR) @@ -803,6 +829,8 @@ rung.RefreshBoundingBox() new_bbox = rung.GetBoundingBox() self.RefreshRungs(new_bbox.height - old_bbox.height, rungindex + 1) + self.RefreshBuffer() + self.RefreshScrollBars() self.Refresh() else: message = wxMessageDialog(self, "The group of block must be coherent!", "Error", wxOK|wxICON_ERROR) @@ -1158,6 +1186,8 @@ contact.SetName(values["name"]) contact.SetType(values["type"]) contact.RefreshModel(False) + self.RefreshBuffer() + self.RefreshScrollBars() self.Refresh() dialog.Destroy() @@ -1182,6 +1212,8 @@ coil.SetName(values["name"]) coil.SetType(values["type"]) coil.RefreshModel(False) + self.RefreshBuffer() + self.RefreshScrollBars() self.Refresh() dialog.Destroy()