示例#1
0
    def build_widget(self):
        vb=gtk.VBox()

        buttons = gtk.HBox()

        b=gtk.Button(stock=gtk.STOCK_REFRESH)
        b.set_tooltip_text(_("Refresh missing snapshots"))
        b.connect("clicked", lambda b: self.refresh_snapshots())
        buttons.pack_start(b, expand=True)

        vb.pack_start(buttons, expand=False)

        l = gtk.Label(_("Click on a frame to select its time."))
        vb.pack_start(l, expand=False)

        hb=gtk.HBox()

        ar = gtk.Arrow(gtk.ARROW_LEFT, gtk.SHADOW_IN)
        ar.set_tooltip_text(_("Scroll to see more frames"))
        hb.pack_start(ar, expand=False)

        r = None
        for i in xrange(self.count):

            border = GenericColorButtonWidget('border')
            border.default_size=(3, 110)
            border.local_color=self.black_color

            if r is not None:
                # Previous TimestampRepresentation -> right border
                r.right_border = border

            r = TimestampRepresentation(0, self.controller, width=100, visible_label=True, epsilon=30)
            self.frames.append(r)
            r.connect("clicked", self.select_time)
            r.left_border = border
            
            hb.pack_start(border, expand=False)
            hb.pack_start(r, expand=False)

        # Last right border
        border = GenericColorButtonWidget('border')
        border.default_size=(3, 110)
        border.local_color=self.black_color
        r.right_border = border
        hb.pack_start(border, expand=False)

        ar = gtk.Arrow(gtk.ARROW_RIGHT, gtk.SHADOW_IN)
        ar.set_tooltip_text(_("Scroll to see more frames"))
        hb.pack_start(ar, expand=False)

        hb.set_style(get_color_style(hb, 'black', 'black'))
        hb.connect('scroll-event', self.handle_scroll_event)
        hb.connect('key-press-event', self.handle_key_press)
        vb.add(hb)

        self.update_timestamp(self.timestamp)
        return vb
示例#2
0
    def build_widget(self):
        vb=gtk.VBox()

        l = gtk.Label(self.label)
        vb.pack_start(l, expand=False)

        hb=gtk.HBox()

        eb = gtk.EventBox()
        ar = gtk.Arrow(gtk.ARROW_LEFT, gtk.SHADOW_IN)
        ar.set_tooltip_text(_("Click to see more frames or scroll with the mouse wheel"))
        eb.connect('button-press-event', lambda b,e: self.update_offset(-1))
        eb.add(ar)
        hb.pack_start(eb, expand=False)

        r = None
        for i in xrange(self.count):

            border = GenericColorButtonWidget('border')
            border.default_size=(3, 110)
            border.local_color=self.black_color

            if r is not None:
                # Previous TimestampRepresentation -> right border
                r.right_border = border

            r = TimestampRepresentation(0, self.controller, width=100, visible_label=True,
                                        epsilon=(1000 / config.data.preferences['default-fps'] - 10))
            self.frames.append(r)
            r.connect("clicked", self.select_time)
            r.left_border = border

            def enter_bookmark(widget, event):
                if self.border_mode == 'left':
                    b=widget.left_border
                elif self.border_mode == 'right':
                    b=widget.right_border
                b.old_color = b.local_color
                b.set_color(self.mouseover_color)
                return False
            def leave_bookmark(widget, event):
                if self.border_mode == 'left':
                    b=widget.left_border
                elif self.border_mode == 'right':
                    b=widget.right_border
                b.set_color(b.old_color)
                return False
            if self.border_mode in ('left', 'right'):
                r.connect('enter-notify-event', enter_bookmark)
                r.connect('leave-notify-event', leave_bookmark)

            hb.pack_start(border, expand=False)
            hb.pack_start(r, expand=False)

        # Last right border
        border = GenericColorButtonWidget('border')
        border.default_size=(3, 110)
        border.local_color=self.black_color
        r.right_border = border
        hb.pack_start(border, expand=False)

        eb = gtk.EventBox()
        ar = gtk.Arrow(gtk.ARROW_RIGHT, gtk.SHADOW_IN)
        ar.set_tooltip_text(_("Click to see more frames or scroll with the mouse wheel"))
        eb.connect('button-press-event', lambda b,e: self.update_offset(+1))
        eb.add(ar)
        hb.pack_start(eb, expand=False)

        hb.set_style(get_color_style(hb, 'black', 'black'))
        hb.connect('scroll-event', self.handle_scroll_event)
        hb.connect('key-press-event', self.handle_key_press)
        vb.add(hb)

        self.update_timestamp(self.timestamp)
        return vb