def popup(self, immediate=False): button = self.expanded_button if button.is_expanded(): return box = button.toolbar_box _setup_page(button.page_widget, style.COLOR_BLACK.get_gdk_color(), box.props.padding) PaletteWindow.popup(self, immediate)
def popdown(self, immediate=False): if immediate: self._secondary_anim.stop() # to suppress glitches while later re-opening self.set_palette_state(self.PRIMARY) if self._widget: self._widget.size_request() PaletteWindow.popdown(self, immediate)
def __init__(self, **kwargs): PaletteWindow.__init__(self, **kwargs) self._has_focus = False group = palettegroup.get_group("default") group.connect("popdown", self.__group_popdown_cb) self.set_group_id("toolbarbox") self._widget = _PaletteWindowWidget() self._widget.set_border_width(0) self._setup_widget() self._widget.connect("realize", self._realize_cb)
def __init__(self, **kwargs): PaletteWindow.__init__(self, **kwargs) self._has_focus = False group = palettegroup.get_group('default') group.connect('popdown', self.__group_popdown_cb) self.set_group_id('toolbarbox') self._widget = _PaletteWindowWidget() self._widget.set_border_width(0) self._setup_widget() self._widget.connect('realize', self._realize_cb)
def popup(self, immediate=False, state=None): if self._invoker is not None: self._update_full_request() if state is None: state = self.PRIMARY self.set_palette_state(state) if state == self.PRIMARY: self._secondary_anim.start() else: self._secondary_anim.stop() PaletteWindow.popup(self, immediate)
def popup(self, immediate=False, state=None): if self._invoker is not None: self._update_full_request() PaletteWindow.popup(self, immediate) if state is None: state = self.PRIMARY self.set_palette_state(state) if state == self.PRIMARY: self._secondary_anim.start() else: self._secondary_anim.stop()
def popdown(self, immediate=False, state=None): ''' Popdown (or show the full contents of) the palette. Keyword Args: immediate (bool): if True, the palette will be shown instantly (as if the user right clicked the item). If False, the palette will be shown after the usual activation wait time. .. deprecated:: 0.109 The state keyword argument is deprecated. The old secondary state has become the only state. ''' if immediate: if self._widget: self._widget.size_request() PaletteWindow.popdown(self, immediate)
def on_invoker_leave(self): PaletteWindow.on_invoker_leave(self) self._set_focus(False)
def popup(self, immediate=False): if self._invoker is not None: self._update_full_request() PaletteWindow.popup(self, immediate)
def on_enter(self): PaletteWindow.on_enter(self) self._secondary_anim.start()
def _setup_widget(self): PaletteWindow._setup_widget(self) self._widget.connect('destroy', self.__destroy_cb)
def __init__(self, label=None, accel_path=None, text_maxlen=style.MENU_WIDTH_CHARS, **kwargs): # DEPRECATED: label is passed with the primary-text property, # accel_path is set via the invoker property self._primary_text = None self._secondary_text = None self._icon = None self._icon_visible = True self._primary_event_box = Gtk.EventBox() self._primary_event_box.show() self._primary_box = Gtk.HBox() self._primary_event_box.add(self._primary_box) self._primary_box.show() self._icon_box = Gtk.HBox() self._icon_box.set_size_request(style.GRID_CELL_SIZE, -1) self._primary_box.pack_start(self._icon_box, False, True, 0) labels_box = Gtk.VBox() self._label_alignment = Gtk.Alignment(xalign=0, yalign=0.5, xscale=1, yscale=0.33) self._label_alignment.set_padding( style.DEFAULT_SPACING, style.DEFAULT_SPACING, style.DEFAULT_SPACING, style.DEFAULT_SPACING) self._label_alignment.add(labels_box) self._label_alignment.show() self._primary_box.pack_start(self._label_alignment, True, True, 0) labels_box.show() self._label = Gtk.AccelLabel(label='') self._label.set_alignment(0, 0.5) if text_maxlen > 0: self._label.set_max_width_chars(text_maxlen) self._label.set_ellipsize(style.ELLIPSIZE_MODE_DEFAULT) labels_box.pack_start(self._label, True, True, 0) self._primary_event_box.connect('button-release-event', self.__button_release_event_cb) self._primary_event_box.set_events(Gdk.EventMask.BUTTON_RELEASE_MASK) self._secondary_label = Gtk.Label() self._secondary_label.set_alignment(0, 0.5) labels_box.pack_start(self._secondary_label, True, True, 0) self._secondary_box = Gtk.VBox() self._separator = Gtk.HSeparator() self._secondary_box.pack_start(self._separator, True, True, 0) self._secondary_box.show() # we init after initializing all of our containers PaletteWindow.__init__(self, **kwargs) self._full_request = [0, 0] self._content = None # we set these for backward compatibility if label is not None: self.props.primary_text = label self._add_content() self.action_bar = PaletteActionBar() self._secondary_box.pack_start(self.action_bar, True, True, 0) self.action_bar.show() self.connect('notify::invoker', self.__notify_invoker_cb) # Default to a normal window palette self._content_widget = None self.set_content(None)
def on_enter(self): PaletteWindow.on_enter(self)
def on_enter(self): PaletteWindow.on_enter(self) self._set_focus(True)
def on_leave(self): PaletteWindow.on_enter(self) self._set_focus(False)
def __init__(self, label=None, accel_path=None, text_maxlen=style.MENU_WIDTH_CHARS, **kwargs): # DEPRECATED: label is passed with the primary-text property, # accel_path is set via the invoker property self._primary_text = None self._secondary_text = None self._icon = None self._icon_visible = True self._palette_state = self.PRIMARY self._primary_event_box = Gtk.EventBox() self._primary_event_box.show() self._primary_box = Gtk.HBox() self._primary_event_box.add(self._primary_box) self._primary_box.show() self._icon_box = Gtk.HBox() self._icon_box.set_size_request(style.GRID_CELL_SIZE, -1) self._primary_box.pack_start(self._icon_box, False, True, 0) labels_box = Gtk.VBox() self._label_alignment = Gtk.Alignment(xalign=0, yalign=0.5, xscale=1, yscale=0.33) self._label_alignment.set_padding( style.DEFAULT_SPACING, style.DEFAULT_SPACING, style.DEFAULT_SPACING, style.DEFAULT_SPACING) self._label_alignment.add(labels_box) self._label_alignment.show() self._primary_box.pack_start(self._label_alignment, True, True, 0) labels_box.show() self._label = Gtk.AccelLabel(label='') self._label.set_alignment(0, 0.5) if text_maxlen > 0: self._label.set_max_width_chars(text_maxlen) self._label.set_ellipsize(Pango.EllipsizeMode.MIDDLE) labels_box.pack_start(self._label, True, True, 0) self._primary_event_box.connect('button-release-event', self.__button_release_event_cb) self._primary_event_box.set_events(Gdk.EventMask.BUTTON_RELEASE_MASK) self._secondary_label = Gtk.Label() self._secondary_label.set_alignment(0, 0.5) labels_box.pack_start(self._secondary_label, True, True, 0) self._secondary_box = Gtk.VBox() self._separator = Gtk.HSeparator() self._secondary_box.pack_start(self._separator, True, True, 0) self._secondary_anim = animator.Animator(2.0, 10) self._secondary_anim.add(_SecondaryAnimation(self)) # we init after initializing all of our containers PaletteWindow.__init__(self, **kwargs) self._full_request = [0, 0] self._content = None # we set these for backward compatibility if label is not None: self.props.primary_text = label self._add_content() self.action_bar = PaletteActionBar() self._secondary_box.pack_start(self.action_bar, True, True, 0) self.action_bar.show() self.connect('notify::invoker', self.__notify_invoker_cb) self.connect('popdown', self.__popdown_cb) # Default to a normal window palette self._content_widget = None self.set_content(None)
def __init__(self, label=None, accel_path=None, text_maxlen=60, **kwargs): # DEPRECATED: label is passed with the primary-text property, # accel_path is set via the invoker property self._primary_text = None self._secondary_text = None self._icon = None self._icon_visible = True self._palette_state = self.PRIMARY self._primary_box = Gtk.HBox() self._primary_box.show() self._icon_box = Gtk.HBox() self._icon_box.set_size_request(style.GRID_CELL_SIZE, -1) self._primary_box.pack_start(self._icon_box, False, True, 0) labels_box = Gtk.VBox() self._label_alignment = Gtk.Alignment(xalign=0, yalign=0.5, xscale=1, yscale=0.33) self._label_alignment.set_padding(0, 0, style.DEFAULT_SPACING, style.DEFAULT_SPACING) self._label_alignment.add(labels_box) self._label_alignment.show() self._primary_box.pack_start(self._label_alignment, True, True, 0) labels_box.show() self._label = Gtk.AccelLabel(label='') self._label.set_alignment(0, 0.5) if text_maxlen > 0: self._label.set_max_width_chars(text_maxlen) self._label.set_ellipsize(Pango.EllipsizeMode.MIDDLE) labels_box.pack_start(self._label, True, True, 0) self._secondary_label = Gtk.Label() self._secondary_label.set_alignment(0, 0.5) if text_maxlen > 0: self._secondary_label.set_max_width_chars(text_maxlen) self._secondary_label.set_ellipsize(Pango.EllipsizeMode.END) labels_box.pack_start(self._secondary_label, True, True, 0) self._secondary_box = Gtk.VBox() self._separator = Gtk.HSeparator() self._secondary_box.pack_start(self._separator, True, True, 0) self._secondary_anim = animator.Animator(2.0, 10) self._secondary_anim.add(_SecondaryAnimation(self)) # we init after initializing all of our containers PaletteWindow.__init__(self, **kwargs) self._full_request = [0, 0] self._content = None # we set these for backward compatibility if label is not None: self.props.primary_text = label self._add_content() self.action_bar = PaletteActionBar() self._secondary_box.pack_start(self.action_bar, True, True, 0) self.action_bar.show() self.connect('notify::invoker', self.__notify_invoker_cb) self.connect('popdown', self.__popdown_cb) # Default to a normal window palette self._content_widget = None self.set_content(None)
def popdown(self, immediate=False): if immediate: if self._widget: self._widget.size_request() PaletteWindow.popdown(self, immediate)