def setup_menu(self): """ Adds top menu bar and various menu items. """ menu_bar = QtWidgets.QMenuBar(self.widget) file_menu = QtWidgets.QMenu('File') help_menu = QtWidgets.QMenu('Help') edit_menu = QtWidgets.QMenu('Edit') for menu in [file_menu, edit_menu, help_menu]: menu_bar.addMenu(menu) file_menu.addAction('New', self.new) file_menu.addAction('Open', self.open) file_menu.addAction('&Save', self.save) file_menu.addAction('Save As', self.save) export_menu = QtWidgets.QMenu('Export') file_menu.addMenu(export_menu) ex = export_menu.addAction ex('Save Selected Text', self.save_selected_text) ex('Export Selected To External Editor', self.export_selected_to_external_editor) ex('Export Current Tab To External Editor', self.export_current_tab_to_external_editor) ex('Export All Tabs To External Editor', self.export_all_tabs_to_external_editor) help_menu.addAction('Reload Python Editor', self.widget._parent.reload_package) help_menu.addAction('About Python Editor', self.show_about_dialog) edit_menu.addAction('Preferences', self.show_preferences) edit_menu.addAction('Shortcuts', self.show_shortcuts) self.widget.layout().addWidget(menu_bar)
def menu_setup(self): """ Adds top menu bar and various menu items based on a json config file. """ self.menu = QtWidgets.QMenuBar(self.pythoneditor) names = [ 'File', 'Edit', 'View', 'Tools', 'Find', 'Selection', 'Preferences', 'Help', ] for name in names: self.menu.addMenu(name) for widget, action_name, attributes in actions.class_actions(self): location = attributes.get('Menu Location') if location is None: continue for action in widget.actions(): if action.text() != action_name: continue break else: continue menu = self.menu if location.strip(): for name in location.split('/'): item = actions.find_menu_item(menu, name) if item is None: item = menu.addMenu(name) menu = item menu.addAction(action) self.pythoneditor.layout().insertWidget(0, self.menu)