Пример #1
0
 def _setup_view_columns(self):     
     colidx = self._table.insert_column_with_data_func(-1, 'Key',
                                                       hotwidgets.CellRendererText(),
                                                       self.__render_tuple_slice, 0)
     colidx = self._table.insert_column_with_data_func(-1, 'Value',
                                                       hotwidgets.CellRendererText(ellipsize=True),
                                                       self.__render_tuple_slice, 1)
Пример #2
0
 def _insert_column(self,
                    name,
                    proptype=None,
                    title=None,
                    renderer=None,
                    renderfunc=None,
                    idx=0,
                    valuefunc=None,
                    sortfunc=None,
                    **kwargs):
     if title is None:
         target_title = (name[0].upper() + name[1:])
     else:
         target_title = title
     colidx = self._table.insert_column_with_data_func(
         -1, title, renderer or hotwidgets.CellRendererText(**kwargs),
         renderfunc or self._render_propcol, (name, idx))
     col = self._table.get_column(colidx - 1)
     col.set_data('hotwire-propname', name)
     col.set_data('hotwire-proptype', proptype)
     col.set_resizable(True)
     col.set_sort_column_id(colidx - 1)
     if sortfunc:
         self._model.set_sort_func(colidx - 1, sortfunc)
     else:
         self._model.set_sort_func(colidx - 1, self._default_compare,
                                   (idx, valuefunc or
                                    (lambda x: getattr(x, name))))
     return col
Пример #3
0
 def __init__(self):
     super(ClassInspectorSidebar, self).__init__()
     self.__tooltips = gtk.Tooltips()        
     self.__otype = None
     self.__olabel = ObjectInspectLink()
     self.__olabel.set_ellipsize(True)
     self.pack_start(self.__olabel, expand=False)
     membersframe = gtk.Frame(_('Members'))
     vbox = gtk.VBox()
     membersframe.add(vbox)
     self.__hidden_check = gtk.CheckButton(_('Show _Hidden'))
     vbox.pack_start(self.__hidden_check, expand=False)
     self.__hidden_check.connect_after('toggled', self.__on_show_hidden_toggled)
     self.__members_model = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_PYOBJECT)        
     self.__membersview = gtk.TreeView(self.__members_model)
     self.__membersview.connect('row-activated', self.__on_row_activated)
     scroll = gtk.ScrolledWindow()
     scroll.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
     scroll.add(self.__membersview)
     vbox.add(scroll)
     self.pack_start(membersframe, expand=True)
     colidx = self.__membersview.insert_column_with_data_func(-1, '',
                                                              gtk.CellRendererPixbuf(),
                                                              self.__render_icon)
     col = self.__membersview.insert_column_with_attributes(-1, _('Name'),
                                                            hotwidgets.CellRendererText(),
                                                            text=0)
     self.__membersview.set_search_column(0)
     col.set_spacing(0)
     col.set_resizable(True)
Пример #4
0
    def __init__(self, title, parent=None):
        super(QuickFindWindow,
              self).__init__(title=title,
                             parent=parent,
                             flags=gtk.DIALOG_DESTROY_WITH_PARENT,
                             buttons=(gtk.STOCK_CLOSE, gtk.RESPONSE_ACCEPT))

        self.connect('response', lambda *args: self.hide())
        self.connect('delete-event', self.hide_on_delete)

        self.set_has_separator(False)
        self.set_border_width(5)

        self.__vbox = gtk.VBox()
        self.vbox.add(self.__vbox)
        self.vbox.set_spacing(6)

        self.set_size_request(640, 480)

        self.__response_value = None

        self.__idle_search_id = 0

        self.__entry = gtk.Entry()
        self.__entry.connect('notify::text', self.__on_text_changed)
        self.__entry.connect('key-press-event', self.__on_keypress)
        self.__vbox.pack_start(self.__entry, expand=False)
        self.__scroll = gtk.ScrolledWindow()
        self.__scroll.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
        self.__results = gtk.TreeView()
        self.__results.connect('row-activated', self.__on_row_activated)
        self.__scroll.add(self.__results)
        colidx = self.__results.insert_column_with_data_func(
            -1, '', gtk.CellRendererPixbuf(), self.__render_icon)
        colidx = self.__results.insert_column_with_data_func(
            -1, '', hotwidgets.CellRendererText(ellipsize=True),
            self.__render_match)
        self.__vbox.pack_start(hotwidgets.Border(self.__scroll), expand=True)
        self.__selection = self.__results.get_selection()
        self.__selection.set_mode(gtk.SELECTION_SINGLE)
        self.__selection.connect('changed', self.__on_selection_changed)
        self.__results.set_headers_visible(False)

        self.__do_search()
Пример #5
0
    def __init__(self):
        super(PrefEditorCombo,
              self).__init__(model=gtk.ListStore(gobject.TYPE_PYOBJECT))

        editors = EditorRegistry.getInstance()
        self.__hotwire_editor = editors['c5851b9c-2618-4078-8905-13bf76f0a94f']
        self.__reload_editors()
        self.set_row_separator_func(self.__is_row_separator)
        cell = gtk.CellRendererPixbuf()
        self.pack_start(cell, expand=False)
        self.set_cell_data_func(cell, self.__render_editor_icon)
        cell = hotwidgets.CellRendererText()
        self.pack_start(cell)
        self.set_cell_data_func(cell, self.__render_editor_name)

        dispatcher.connect(self.__reload_editors, sender=editors)

        self.select_editor_uuid(editors.get_preferred().uuid)
        self.connect('changed', self.__on_changed)
Пример #6
0
 def __init__(self, title, maxcount=500, keybinding=None):
     super(MatchView, self).__init__()
     self.__maxcount = maxcount
     headerhbox = gtk.HBox()
     self.__label = gtk.Label()
     self.__label.set_alignment(0.0, 0.5)
     headerhbox.add(self.__label)
     if keybinding:
         self.__keybinding_label = gtk.Label()
         self.__keybinding_label.set_markup(
             _('Key: <tt>%s</tt>') % (keybinding, ))
         self.__keybinding_label.set_alignment(1.0, 0.5)
         headerhbox.add(self.__keybinding_label)
     self.__title = title
     self.__keybinding = keybinding
     self.pack_start(headerhbox, expand=False)
     self.__scroll = gtk.ScrolledWindow()
     # FIXME - we should really be using a combo box here
     self.__scroll.set_policy(gtk.POLICY_NEVER, gtk.POLICY_NEVER)
     self.__model = gtk.ListStore(gobject.TYPE_PYOBJECT)
     self.__view = gtk.TreeView(self.__model)
     self.__selection = self.__view.get_selection()
     self.__selection.set_mode(gtk.SELECTION_SINGLE)
     self.__selection.connect('changed', self.__on_selection_changed)
     self.__view.set_headers_visible(False)
     if maxcount > 1:
         self.__scroll.add(self.__view)
         self.add(self.__scroll)
     else:
         self.add(self.__view)
     colidx = self.__view.insert_column_with_data_func(
         -1, '', hotwidgets.CellRendererText(), self._render_item)
     self.__none_label = gtk.Label()
     self.__none_label.set_alignment(0.0, 0.5)
     self.__none_label.set_no_show_all(True)
     self.__none_label.set_markup('<i>%s</i>' % (_('(No matches)'), ))
     self.pack_start(self.__none_label, expand=False)
Пример #7
0
 def _setup_view_columns(self):
     colidx = self._table.insert_column_with_data_func(
         -1, 'Object', hotwidgets.CellRendererText(ellipsize=True),
         self._render_objtext)
     col = self._table.get_column(colidx - 1)
     col.set_resizable(True)
Пример #8
0
    def __init__(self, obj, parent=None):
        gtk.Window.__init__(self, type=gtk.WINDOW_TOPLEVEL)
        
        self.__obj = None
        
        vbox = gtk.VBox()
        self.add(vbox)
        self.__ui_string = """
<ui>
  <menubar name='Menubar'>
    <menu action='FileMenu'>
      <menuitem action='Close'/>
    </menu>
  </menubar>
</ui>
"""
        self.__create_ui()
        vbox.pack_start(self._ui.get_widget('/Menubar'), expand=False)

        contentvbox = gtk.VBox()
        vbox.pack_start(contentvbox, expand=True)
        
        self.__orepr = gtk.Label()
        self.__orepr.set_alignment(0.0, 0.5)
        self.__oclass = gtk.Label()
        self.__oclass.set_alignment(0.0, 0.5)
        contentvbox.pack_start(self.__orepr, expand=False)
        contentvbox.pack_start(self.__oclass, expand=False)
        
        hbox = gtk.HBox()
        self.__definedin_label = gtk.Label()
        self.__definedin_label.set_markup('<b>%s</b>' % (_("Defined in: "),))
        hbox.pack_start(self.__definedin_label, expand=False)
        self.__definedin = hotwidgets.Link()
        self.__definedin.set_alignment(0.0, 0.5)
        self.__definedin.set_ellipsize(True)
        self.__definedin.connect('clicked', self.__on_definedin_clicked)
        hbox.pack_start(self.__definedin, expand=True)
        contentvbox.pack_start(hbox, expand=False)        
        
        metavbox = gtk.VBox()
        contentvbox.add(metavbox)
        metavbox.set_spacing(4)
        docframe = gtk.Frame(_('Docstring'))
        self.__doctext = gtk.TextView()
        self.__doctext.set_editable(False)        
        scroll = gtk.ScrolledWindow()
        scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        scroll.add(self.__doctext)        
        docframe.add(scroll)
        metavbox.pack_start(docframe, expand=True)
        
        membersframe = gtk.Frame(_('Members'))
        vbox = gtk.VBox()
        membersframe.add(vbox)        
        self.__hidden_check = gtk.CheckButton(_('Show _Hidden'))
        vbox.pack_start(self.__hidden_check, expand=False)
        self.__hidden_check.connect_after('toggled', self.__on_show_hidden_toggled)
        self.__members_model = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_PYOBJECT)        
        self.__membersview = gtk.TreeView(self.__members_model)
        self.__membersview.connect('row-activated', self.__on_row_activated)        
        scroll = gtk.ScrolledWindow()
        scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        scroll.add(self.__membersview)
        vbox.add(scroll)
        metavbox.pack_start(membersframe, expand=True)
        colidx = self.__membersview.insert_column_with_data_func(-1, '',
                                                                 gtk.CellRendererPixbuf(),
                                                                 self.__render_icon)        
        colidx = self.__membersview.insert_column_with_attributes(-1, _('Name'),
                                                                  hotwidgets.CellRendererText(),
                                                                  text=0)
        colidx = self.__membersview.insert_column_with_data_func(-1, _('Member'),
                                                                 hotwidgets.CellRendererText(),
                                                                 self.__render_member)
        self.__membersview.set_search_column(0)
        col = self.__membersview.get_column(colidx-1)
        col.set_spacing(0)
        col.set_resizable(True)

        if parent:
            self.set_transient_for(parent)
        self.set_focus(self.__membersview)
        self.set_title(_('Object inspect: %s - Hotwire')  % (ellipsize(repr(obj), 30),))
        self.set_size_request(640, 480)
        
        self.__set_object(obj)