def __init__(self, parent, dataset, **kwargs): visualizers = [V.default(dataset.parent)] self.dataset = dataset self.span_kwargs = dict(ec='r', hatch='/', fill=False, aa=False, zorder=100, ) ListViewerFrame.__init__(self, parent, visualizers, **kwargs) # change cursor self._click_mode = 0 # 0=tstart; 1=tend self.canvas_panel.canvas.Bind(wx.EVT_MOTION, self.ChangeCursor) self.canvas_panel.canvas.Bind(wx.EVT_KEY_DOWN, self.ChangeCursor) self.canvas_panel.canvas.Bind(wx.EVT_KEY_UP, self.ChangeCursor) # capture clicks self.canvas_panel.canvas.mpl_connect('button_press_event', self.OnCanvasClick) # ToolBar tb = self.ToolBar # tb.AddSeparator() # self._tb_tstart = tb.AddCheckLabelTool(ID.SET_TSTART, "Set t-start", # Icon("tango/actions/go-first")) # self.Bind(wx.EVT_TOOL, self.OnSelectTool, id=ID.SET_TSTART) # self._tb_tend = tb.AddCheckLabelTool(ID.SET_TEND, "Set t-end", # Icon("tango/actions/go-last")) # self.Bind(wx.EVT_TOOL, self.OnSelectTool, id=ID.SET_TEND) if wx.__version__ >= '2.9': tb.AddStretchableSpace() else: tb.AddSeparator() tb.AddLabelTool(wx.ID_HELP, "Help", Icon("tango/apps/help-browser")) self.Bind(wx.EVT_TOOL, self.OnHelp, id=wx.ID_HELP) tb.Realize()
def show_page(self, page): ListViewerFrame.show_page(self, page) # add markers: self.markers = {} for ax in self.axes: id = ax.segment_id segment = self.dataset.parent.segments_by_id[id] t0 = - segment['t0'] tstart = self.dataset.p.tstart[id] tend = self.dataset.p.tend[id] t1 = segment.duration if tstart is None: tstart = t0 if tstart == t0: tstart += .001 # axvspan not correctly drawn with x0==x1 if tend is None: tend = t1 if tend == t1: tend -= .001 s1 = ax.axvspan(t0, tstart, **self.span_kwargs) s2 = ax.axvspan(t1, tend, **self.span_kwargs) self.markers[id] = s1, s2 self.canvas_panel.draw() # def OnSelectTool(self, event): # logging.debug(event.GetEventType()) # logging.debug(event.GetEventObject()) # id = event.GetId() # logging.debug(id) # if id == ID.SET_TSTART: # if self._tb_tend.IsToggled(): # self._tb_tend.Toggle() # self.ToolBar.Realize() # elif id == ID.SET_TEND: # if self._tb_tstart.IsToggled(): # self._tb_tstart.Toggle() # self.ToolBar.Realize() # else: # raise ValueError('unrecognized command ID')