示例#1
0
    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()
示例#2
0
    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')