示例#1
0
    def get_main_widget(self):
        vbox = gtk.VBox()
        vbox.show()

        self._sw = gtk.ScrolledWindow()
        self._sw.set_policy(gtk.POLICY_NEVER, gtk.POLICY_NEVER)
        vbox.pack_start(self._sw)
        self._sw.show()

        self._model = gtk.ListStore(str)
        self._treeview = gtk.TreeView(self._model)
        self._treeview.set_enable_search(False)
        self._treeview.connect('motion-notify-event',
                               self._on_treeview__motion_notify_event)
        self._treeview.connect('button-release-event',
                               self._on_treeview__button_release_event)
        self._treeview.add_events(gdk.BUTTON_PRESS_MASK)
        self._selection = self._treeview.get_selection()
        self._selection.set_mode(gtk.SELECTION_BROWSE)
        self._renderer = ComboDetailsCellRenderer()
        self._treeview.append_column(
            gtk.TreeViewColumn('Foo', self._renderer, label=0, data=1))
        self._treeview.set_headers_visible(False)
        self._sw.add(self._treeview)
        self._treeview.show()

        self._label = gtk.Label()

        return vbox
示例#2
0
    def get_main_widget(self):
        vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)

        self._sw = Gtk.ScrolledWindow()
        self._sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.NEVER)
        vbox.pack_start(self._sw, True, True, 0)

        self._treeview = Gtk.TreeView(self._model)
        self._treeview.connect('motion-notify-event',
                               self._on_treeview__motion_notify_event)
        self._treeview.connect('button-release-event',
                               self._on_treeview__button_release_event)
        self._treeview.add_events(
            Gdk.EventMask.BUTTON_PRESS_MASK | Gdk.EventMask.KEY_PRESS_MASK)

        self._selection = self._treeview.get_selection()
        self._selection.set_mode(Gtk.SelectionMode.BROWSE)

        pixbuf_renderer = Gtk.CellRendererPixbuf()
        self._treeview.append_column(
            Gtk.TreeViewColumn('', pixbuf_renderer, pixbuf=COL_PIXBUF))

        text_renderer = ComboDetailsCellRenderer()
        self._treeview.append_column(
            Gtk.TreeViewColumn('', text_renderer, label=COL_LABEL, data=COL_DATA))

        self._model.set_visible_func(
            lambda model, itr, data: not model[itr][COL_ATTACHED])

        self._treeview.set_headers_visible(False)
        self._sw.add(self._treeview)

        vbox.show_all()
        return vbox
示例#3
0
    def get_main_widget(self):
        vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
        vbox.show()

        self._sw = Gtk.ScrolledWindow()
        self._sw.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.NEVER)
        self._sw.set_property('overlay_scrolling', False)
        vbox.pack_start(self._sw, True, True, 0)
        self._sw.show()

        self._model = Gtk.ListStore(str)
        self._treeview = Gtk.TreeView(model=self._model)
        self._treeview.set_enable_search(False)
        self._treeview.connect('motion-notify-event',
                               self._on_treeview__motion_notify_event)
        self._treeview.connect('button-release-event',
                               self._on_treeview__button_release_event)
        self._treeview.add_events(Gdk.EventMask.BUTTON_PRESS_MASK)
        self._selection = self._treeview.get_selection()
        self._selection.set_mode(Gtk.SelectionMode.BROWSE)
        self._renderer = ComboDetailsCellRenderer()
        self._treeview.append_column(
            Gtk.TreeViewColumn('Foo', self._renderer, label=0, data=1))
        self._treeview.set_headers_visible(False)
        self._sw.add(self._treeview)
        self._treeview.show()

        self._label = Gtk.Label()

        return vbox
示例#4
0
    def __init__(self, comboentry):
        gtk.Window.__init__(self, gtk.WINDOW_POPUP)
        self.add_events(gdk.BUTTON_PRESS_MASK)
        self.connect('key-press-event', self._on__key_press_event)
        self.connect('button-press-event', self._on__button_press_event)
        self._comboentry = comboentry

        # Number of visible rows in the popup window, sensible
        # default value from other toolkits
        self._visible_rows = 10
        self._initial_text = None
        self._popping_up = False
        self._filter_model = None

        frame = gtk.Frame()
        frame.set_shadow_type(gtk.SHADOW_ETCHED_OUT)
        self.add(frame)
        frame.show()

        vbox = gtk.VBox()
        frame.add(vbox)
        vbox.show()

        self._sw = gtk.ScrolledWindow()
        self._sw.set_policy(gtk.POLICY_NEVER, gtk.POLICY_NEVER)
        vbox.pack_start(self._sw)
        self._sw.show()

        self._model = gtk.ListStore(str)
        self._treeview = gtk.TreeView(self._model)
        self._treeview.set_enable_search(False)
        self._treeview.connect('motion-notify-event',
                               self._on_treeview__motion_notify_event)
        self._treeview.connect('button-release-event',
                               self._on_treeview__button_release_event)
        self._treeview.add_events(gdk.BUTTON_PRESS_MASK)
        self._selection = self._treeview.get_selection()
        self._selection.set_mode(gtk.SELECTION_BROWSE)
        self._renderer = ComboDetailsCellRenderer()
        self._treeview.append_column(
            gtk.TreeViewColumn('Foo', self._renderer,
                               label=0, data=1))
        self._treeview.set_headers_visible(False)
        self._sw.add(self._treeview)
        self._treeview.show()

        self._label = gtk.Label()
        vbox.pack_start(self._label, False, False)

        self.set_resizable(False)
        self.set_screen(comboentry.get_screen())
示例#5
0
    def get_main_widget(self):
        vbox = gtk.VBox()

        self._sw = gtk.ScrolledWindow()
        self._sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_NEVER)
        vbox.pack_start(self._sw)

        self._treeview = gtk.TreeView(self._model)
        self._treeview.connect('motion-notify-event',
                               self._on_treeview__motion_notify_event)
        self._treeview.connect('button-release-event',
                               self._on_treeview__button_release_event)
        self._treeview.add_events(gtk.gdk.BUTTON_PRESS_MASK
                                  | gtk.gdk.KEY_PRESS_MASK)

        self._treeview.modify_base(gtk.STATE_ACTIVE,
                                   self._get_selection_color())

        self._selection = self._treeview.get_selection()
        self._selection.set_mode(gtk.SELECTION_BROWSE)

        pixbuf_renderer = gtk.CellRendererPixbuf()
        self._treeview.append_column(
            gtk.TreeViewColumn('', pixbuf_renderer, pixbuf=COL_PIXBUF))

        text_renderer = ComboDetailsCellRenderer()
        self._treeview.append_column(
            gtk.TreeViewColumn('',
                               text_renderer,
                               label=COL_LABEL,
                               data=COL_DATA))

        self._model.set_visible_func(
            lambda model, itr: not model[itr][COL_ATTACHED])

        self._treeview.set_headers_visible(False)
        self._sw.add(self._treeview)

        vbox.show_all()
        return vbox
示例#6
0
    def get_main_widget(self):
        vbox = gtk.VBox()

        self._sw = gtk.ScrolledWindow()
        self._sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_NEVER)
        vbox.pack_start(self._sw)

        self._model = gtk.ListStore(object, str, str, bool, int)
        self._treeview = gtk.TreeView(self._model)
        self._treeview.connect('motion-notify-event',
                               self._on_treeview__motion_notify_event)
        self._treeview.connect('button-release-event',
                               self._on_treeview__button_release_event)
        self._treeview.add_events(gtk.gdk.BUTTON_PRESS_MASK
                                  | gtk.gdk.KEY_PRESS_MASK)

        self._treeview.modify_base(gtk.STATE_ACTIVE,
                                   self._get_selection_color())
        self._treeview.set_tooltip_column(COL_TOOLTIP)
        self._treeview.set_enable_search(False)

        self._selection = self._treeview.get_selection()
        self._selection.set_mode(gtk.SELECTION_BROWSE)

        self._spinner_renderer = gtk.CellRendererSpinner()
        self._spinner_column = gtk.TreeViewColumn('',
                                                  self._spinner_renderer,
                                                  active=COL_SPINNER_ACTIVE,
                                                  pulse=COL_SPINNER_PULSE)

        self._renderer = ComboDetailsCellRenderer(use_markup=True)
        self._treeview.append_column(
            gtk.TreeViewColumn('', self._renderer, label=COL_MARKUP))

        self._treeview.set_headers_visible(False)
        self._sw.add(self._treeview)

        vbox.show_all()
        return vbox
示例#7
0
    def get_main_widget(self):
        vbox = Gtk.VBox()

        self._sw = Gtk.ScrolledWindow()
        self._sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.NEVER)
        vbox.pack_start(self._sw, True, True, 0)

        self._model = Gtk.ListStore(object, str, str, bool, int)
        self._treeview = Gtk.TreeView(model=self._model)
        self._treeview.connect('motion-notify-event',
                               self._on_treeview__motion_notify_event)
        self._treeview.connect('button-release-event',
                               self._on_treeview__button_release_event)
        self._treeview.add_events(Gdk.EventMask.BUTTON_PRESS_MASK
                                  | Gdk.EventMask.KEY_PRESS_MASK)

        self._treeview.set_tooltip_column(COL_TOOLTIP)
        self._treeview.set_enable_search(False)

        self._selection = self._treeview.get_selection()
        self._selection.set_mode(Gtk.SelectionMode.BROWSE)

        self._spinner_renderer = Gtk.CellRendererSpinner()
        self._spinner_column = Gtk.TreeViewColumn('',
                                                  self._spinner_renderer,
                                                  active=COL_SPINNER_ACTIVE,
                                                  pulse=COL_SPINNER_PULSE)

        self._renderer = ComboDetailsCellRenderer(use_markup=True)
        self._treeview.append_column(
            Gtk.TreeViewColumn('', self._renderer, label=COL_MARKUP))

        self._treeview.set_headers_visible(False)
        self._sw.add(self._treeview)

        vbox.show_all()
        return vbox