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
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