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