예제 #1
0
    def add_menu_item(self, menu_path, handler):
        """
		Add a new item into the main menu bar of the application. Menu items
		created through this method are automatically removed when the plugin is
		disabled.

		:param str menu_path: The path to the menu item, delimited with > characters.
		:param handler: The callback function to be connected to the new :py:class:`Gtk.MenuItem` instance's activate signal.
		:return: The newly created and added menu item.
		:rtype: :py:class:`Gtk.MenuItem`
		"""
        menu_path = [path_item.strip() for path_item in menu_path.split('>')]
        menu_path = [path_item for path_item in menu_path if path_item]
        if menu_path[0][0] != '_':
            menu_path[0] = '_' + menu_path[0]
        menu_item = Gtk.MenuItem.new_with_label(menu_path.pop())
        self.signal_connect('activate', handler, gobject=menu_item)

        menu_bar = self.application.main_window.menu_bar.menubar
        gui_utilities.gtk_menu_insert_by_path(menu_bar, menu_path, menu_item)
        menu_item.show()
        self._widgets.append(menu_item)
        return menu_item
예제 #2
0
	def add_menu_item(self, menu_path, handler):
		"""
		Add a new item into the main menu bar of the application. Menu items
		created through this method are automatically removed when the plugin is
		disabled.

		:param str menu_path: The path to the menu item, delimited with > characters.
		:param handler: The callback function to be connected to the new :py:class:`Gtk.MenuItem` instance's activate signal.
		:return: The newly created and added menu item.
		:rtype: :py:class:`Gtk.MenuItem`
		"""
		menu_path = [path_item.strip() for path_item in menu_path.split('>')]
		menu_path = [path_item for path_item in menu_path if path_item]
		if menu_path[0][0] != '_':
			menu_path[0] = '_' + menu_path[0]
		menu_item = Gtk.MenuItem.new_with_label(menu_path.pop())
		self.signal_connect('activate', handler, gobject=menu_item)

		menu_bar = self.application.main_window.menu_bar.menubar
		gui_utilities.gtk_menu_insert_by_path(menu_bar, menu_path, menu_item)
		menu_item.show()
		self._widgets.append(menu_item)
		return menu_item
예제 #3
0
	def _insert_menu_item(self, menu_path, menu_item):
		menu_bar = self.application.main_window.menu_bar.menubar
		gui_utilities.gtk_menu_insert_by_path(menu_bar, menu_path, menu_item)
		menu_item.show()
		self._widgets.append(menu_item)
		return menu_item
예제 #4
0
	def _insert_menu_item(self, menu_path, menu_item):
		menu_bar = self.application.main_window.menu_bar.menubar
		gui_utilities.gtk_menu_insert_by_path(menu_bar, menu_path, menu_item)
		menu_item.show()
		self._widgets.append(menu_item)
		return menu_item