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)
Exemple #3
0
 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 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 __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 __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)
Exemple #9
0
    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()
Exemple #10
0
    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)
Exemple #11
0
    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)
Exemple #13
0
    def popup(self, immediate=False):
        if self._invoker is not None:
            self._update_full_request()

        PaletteWindow.popup(self, immediate)
Exemple #14
0
 def on_enter(self):
     PaletteWindow.on_enter(self)
     self._secondary_anim.start()
Exemple #15
0
 def _setup_widget(self):
     PaletteWindow._setup_widget(self)
     self._widget.connect('destroy', self.__destroy_cb)
Exemple #16
0
    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)
Exemple #17
0
 def on_enter(self):
     PaletteWindow.on_enter(self)
 def _setup_widget(self):
     PaletteWindow._setup_widget(self)
     self._widget.connect('destroy', self.__destroy_cb)
Exemple #19
0
    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._set_focus(True)
Exemple #21
0
 def on_enter(self):
     PaletteWindow.on_enter(self)
 def on_leave(self):
     PaletteWindow.on_enter(self)
     self._set_focus(False)
 def on_invoker_leave(self):
     PaletteWindow.on_invoker_leave(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 on_enter(self):
     PaletteWindow.on_enter(self)
     self._set_focus(True)
 def on_leave(self):
     PaletteWindow.on_enter(self)
     self._set_focus(False)
Exemple #27
0
    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 on_enter(self):
     PaletteWindow.on_enter(self)
     self._secondary_anim.start()
 def popdown(self, immediate=False):
     if immediate:
         if self._widget:
             self._widget.size_request()
     PaletteWindow.popdown(self, immediate)