--- a/controls/DebugVariablePanel.py Fri May 24 16:29:57 2013 +0200
+++ b/controls/DebugVariablePanel.py Fri May 24 18:29:02 2013 +0200
@@ -812,6 +812,7 @@
FigureCanvas.__init__(self, parent, -1, self.Figure)
self.SetBackgroundColour(wx.WHITE)
+ self.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown) self.Bind(wx.EVT_ENTER_WINDOW, self.OnEnter)
self.Bind(wx.EVT_LEAVE_WINDOW, self.OnLeave)
self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground)
@@ -1160,6 +1161,18 @@
self.ParentWindow.ForceRefresh()
DebugVariableViewer.OnLeave(self, event)
+ KEY_CURSOR_INCREMENT = { + def OnKeyDown(self, event): + if self.CursorTick is not None: + self.ParentWindow.MoveCursorTick( + self.KEY_CURSOR_INCREMENT.get( + event.GetKeyCode(), 0)) def HandleCursorMove(self, event):
start_tick, end_tick = self.ParentWindow.GetRange()
@@ -1621,6 +1634,20 @@
+ def MoveCursorTick(self, move): + if self.CursorTick is not None: + cursor_tick = max(self.Ticks[0], + min(self.CursorTick + move, + self.CursorTick = self.Ticks[ + numpy.argmin(numpy.abs(self.Ticks - cursor_tick))] + self.StartTick = max(self.Ticks[ + numpy.argmin(numpy.abs(self.Ticks - + self.CursorTick + self.CurrentRange))], + min(self.StartTick, self.CursorTick)) + self.RefreshCanvasPosition() + self.UpdateCursorTick() def ResetCursorTick(self):