def test_selection_mode(self): treeview = Gtk.TreeView() _ = widget_managers.TreeViewManager(treeview) self.assertEqual(treeview.get_selection().get_mode(), Gtk.SelectionMode.SINGLE) treeview.destroy() treeview = Gtk.TreeView() _ = widget_managers.TreeViewManager(treeview, selection_mode=Gtk.SelectionMode.NONE) self.assertEqual(treeview.get_selection().get_mode(), Gtk.SelectionMode.NONE) treeview.destroy()
def __init__(self, *args, **kwargs): super(TagEditorDialog, self).__init__(*args, **kwargs) self.popup_menus = {} self.treeview_managers = {} for tag_table in self.tag_tables: treeview = self.gobjects['treeview_' + tag_table] model = Gtk.ListStore(int, str, str) treeview.set_model(model) tvm = widget_managers.TreeViewManager( treeview, cb_delete=functools.partial(self.delete_tag, tag_table), cb_refresh=functools.partial(self.load_tags, tag_table)) name_renderer = Gtk.CellRendererText() name_renderer.connect('edited', self.signal_renderer_edited, (tag_table, 1, 'name')) name_renderer.set_property('editable', True) description_renderer = Gtk.CellRendererText() description_renderer.connect('edited', self.signal_renderer_edited, (tag_table, 2, 'description')) description_renderer.set_property('editable', True) description_renderer.set_property('ellipsize', Pango.EllipsizeMode.END) tvm.set_column_titles( ('Name', 'Description'), column_offset=1, renderers=(name_renderer, description_renderer)) self.treeview_managers[tag_table] = tvm self.popup_menus[tag_table] = tvm.get_popup_menu() self.load_tags()
def __init__(self, *args, **kwargs): super(CampaignSelectionDialog, self).__init__(*args, **kwargs) treeview = self.gobjects['treeview_campaigns'] self.treeview_manager = widget_managers.TreeViewManager( treeview, cb_delete=self._prompt_to_delete_row, cb_refresh=self.load_campaigns) self.treeview_manager.set_column_titles( ('Campaign Name', 'Company', 'Type', 'Created By', 'Creation Date', 'Expiration'), column_offset=1) self.treeview_manager.set_column_color(background=7, foreground=8) treeview.set_tooltip_column(9) self.popup_menu = self.treeview_manager.get_popup_menu() self._creation_assistant = None self._tv_model = Gtk.ListStore(str, str, str, str, str, str, str, Gdk.RGBA, Gdk.RGBA, str) # default sort is descending by campaign creation date self._tv_model.set_sort_column_id(5, Gtk.SortType.DESCENDING) # create and set the filter for expired campaigns self._tv_model_filter = self._tv_model.filter_new() self._tv_model_filter.set_visible_func(self._filter_campaigns) treeview.set_model(Gtk.TreeModelSort(model=self._tv_model_filter)) # setup menus for filtering campaigns and load campaigns self.get_popup_filter_menu() self.load_campaigns()
def test_column_titles(self): treeview = Gtk.TreeView() treeview_manager = widget_managers.TreeViewManager(treeview) self.assertEqual(len(treeview_manager.column_titles), 0) treeview_manager.set_column_titles(('col0', 'col1')) self.assertEqual(len(treeview_manager.column_titles), 2) self.assertEqual(treeview_manager.column_titles.get('col0'), 0) self.assertEqual(treeview_manager.column_titles.get('col1'), 1)
def test_popup_menu(self): treeview = Gtk.TreeView() treeview_manager = widget_managers.TreeViewManager(treeview) treeview_manager.set_column_titles(('col0', 'col1')) menu = treeview_manager.get_popup_menu() self.assertEqual(len(menu.get_children()), 1, msg='the popup menu contains more than one entry') copy_submenuitem = menu.get_children()[0] self.assertEqual(copy_submenuitem.get_label(), 'Copy') copy_submenu = copy_submenuitem.get_submenu() self.assertEqual(len(copy_submenu.get_children()), 4, msg='the copy submenu contains an invalid number or entries') treeview.destroy()
def test_popup_copy_submenu(self): treeview = Gtk.TreeView() treeview_manager = widget_managers.TreeViewManager(treeview) treeview_manager.set_column_titles(('col0',)) menu = treeview_manager.get_popup_copy_submenu() self.assertEqual(len(menu.get_children()), 1, msg='the copy submenu contains an invalid number or entries') treeview_manager.set_column_titles(('col0', 'col1')) menu = treeview_manager.get_popup_copy_submenu() self.assertEqual(len(menu.get_children()), 4, msg='the copy submenu contains an invalid number or entries') treeview.destroy()
def __init__(self, *args, **kwargs): super(CampaignViewGenericTableTab, self).__init__(*args, **kwargs) treeview = self.gobjects['treeview_campaign'] self.treeview_manager = widget_managers.TreeViewManager( treeview, selection_mode=Gtk.SelectionMode.MULTIPLE, cb_delete=self._prompt_to_delete_row, cb_refresh=self.load_campaign_information) self.treeview_manager.set_column_titles(self.view_columns, column_offset=1) self.popup_menu = self.treeview_manager.get_popup_menu() """The :py:class:`Gtk.Menu` object which is displayed when right-clicking in the view area."""
def __init__(self, *args, **kwargs): super(ClonePageDialog, self).__init__(*args, **kwargs) self.resources = Gtk.ListStore(str, str, int) treeview = self.gobjects['treeview_resources'] treeview.set_model(self.resources) self.treeview_manager = widget_managers.TreeViewManager(treeview) self.treeview_manager.set_column_titles( ('Resource Path', 'MIME Type', 'Size'), renderers=(Gtk.CellRendererText(), Gtk.CellRendererText(), gui_utilities.CellRendererTextBytes())) self.popup_menu = self.treeview_manager.get_popup_menu() self.button_cancel = self.gobjects['button_cancel'] self.entry_directory = self.gobjects['entry_clone_directory'] # managed separately to be kept out of the config self.entry_target = self.gtk_builder_get('entry_target') self.label_status = self.gobjects['label_status'] self.spinner_status = self.gobjects['spinner_status']