controls/DebugVariablePanel/DebugVariableGraphicPanel.py
changeset 1213 599e43ec921b
parent 1212 b351d3a7917c
child 1214 2ef048b5383c
equal deleted inserted replaced
1212:b351d3a7917c 1213:599e43ec921b
   505             self.CanvasRange.SetSelection(new_range_idx)
   505             self.CanvasRange.SetSelection(new_range_idx)
   506             self.CurrentRange = RANGE_VALUES[new_range_idx][1] / self.Ticktime
   506             self.CurrentRange = RANGE_VALUES[new_range_idx][1] / self.Ticktime
   507             if len(self.Ticks) > 0:
   507             if len(self.Ticks) > 0:
   508                 if tick is None:
   508                 if tick is None:
   509                     tick = self.StartTick + self.CurrentRange / 2.
   509                     tick = self.StartTick + self.CurrentRange / 2.
   510                 new_start_tick = tick - (tick - self.StartTick) * self.CurrentRange / current_range 
   510                 new_start_tick = min(tick - (tick - self.StartTick) * self.CurrentRange / current_range,
       
   511                                      self.Ticks[-1] - self.CurrentRange)
   511                 self.StartTick = self.Ticks[numpy.argmin(numpy.abs(self.Ticks - new_start_tick))]
   512                 self.StartTick = self.Ticks[numpy.argmin(numpy.abs(self.Ticks - new_start_tick))]
   512                 self.Fixed = self.StartTick < self.Ticks[-1] - self.CurrentRange
   513                 self.Fixed = new_start_tick < self.Ticks[-1] - self.CurrentRange
   513             self.ForceRefresh()
   514             self.ForceRefresh()
   514     
   515     
   515     def RefreshRange(self):
   516     def RefreshRange(self):
   516         if len(self.Ticks) > 0:
   517         if len(self.Ticks) > 0:
   517             if self.Fixed and self.Ticks[-1] - self.Ticks[0] < self.CurrentRange:
   518             if self.Fixed and self.Ticks[-1] - self.Ticks[0] < self.CurrentRange: