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