コード例 #1
0
	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()
コード例 #2
0
ファイル: tag_editor.py プロジェクト: piratica/king-phisher
 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()
コード例 #3
0
    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()
コード例 #4
0
	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)
コード例 #5
0
	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()
コード例 #6
0
	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()
コード例 #7
0
 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."""
コード例 #8
0
    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']