def __init__(self, gui_api, TabManger, plugin_manager, parent=None): super(CreatePluginMenu, self).__init__(parent) self.setupUi(self) self.dgui = gui_api.gui_data self.TabManager = TabManger self.gui_api = gui_api self.subscriberID = None self.targetID = None self.blockName = None self.plugin_manager = plugin_manager self.pluginTree.setDragEnabled(True) self.pluginTree.setDropIndicatorShown(True) self.setWindowTitle('Available Plugins') model = PaPITreeModel() model.setHorizontalHeaderLabels(['Name']) self.pluginProxyModel = PaPITreeProxyModel(self) self.pluginProxyModel.setSourceModel(model) regex = QRegExp("*", Qt.CaseInsensitive, QRegExp.Wildcard) self.pluginProxyModel.setFilterRegExp(regex) self.pluginTree.setModel(self.pluginProxyModel) self.pluginTree.setUniformRowHeights(True) self.pluginTree.setSortingEnabled(True) self.pluginTree.setStyleSheet(pc.TREE_CSS) self.plugin_roots = {} self.configuration_inputs = {} self.pluginTree.clicked.connect(self.pluginItemChanged) self.plugin_create_dialog = CreatePluginDialog(self.gui_api, self.TabManager) self.createButton.clicked.connect(self.show_create_plugin_dialog) self.helpButton.clicked.connect(self.help_button_triggered) self.finder = ModuleFinder() self.pluginSearchText.textChanged.connect( self.changed_search_plugin_text_field) self.pluginSearchText.setFocus(Qt.OtherFocusReason) self.helpButton.setText('') self.helpButton.setIcon(get16Icon('help.png')) self.helpButton.setToolTip( 'Opens the documentation for the currently selected plugin.')
def _ctrlMenu_copy(self): """ Callback function for context menu for copying plugins :return: """ dplugin = self.control_api.get_dplugin_by_uname(self._dplugin_info.uname) dplugin.startup_config = self.pl_get_current_config() plugin_create_dialog = CreatePluginDialog(self.control_api, self.TabManager, parent=self._widget) plugin_create_dialog.set_dplugin(dplugin, self._get_startup_configuration(), self._get_type()) print() plugin_create_dialog.show()
def __init__(self, gui_api, tabmanager, parent=None): super(OverviewPluginMenu, self).__init__(parent) self.setupUi(self) self.dgui = gui_api.gui_data self.gui_api = gui_api self.TabManager = tabmanager self.setWindowTitle("OverviewMenu") self.plugin_create_dialog = CreatePluginDialog(self.gui_api, self.TabManager) # ---------------------------------- # Build structure of plugin tree # ---------------------------------- self.dpluginModel = DPluginTreeModel() self.dpluginModel.setHorizontalHeaderLabels(['Name']) self.pluginProxyModel = PaPITreeProxyModel(self) self.pluginProxyModel.setSourceModel(self.dpluginModel) regex = QRegExp("*", Qt.CaseInsensitive, QRegExp.Wildcard) self.pluginProxyModel.setFilterRegExp(regex) self.pluginTree.setModel(self.pluginProxyModel) self.pluginTree.setUniformRowHeights(True) self.plugin_roots = {} # ----------------------------------- # Build structure of parameter tree # ----------------------------------- self.dparameterModel = DParameterTreeModel() self.dparameterModel.setHorizontalHeaderLabels(['Name']) self.parameterTree.setModel(self.dparameterModel) self.parameterTree.setUniformRowHeights(True) self.dparameterModel.dataChanged.connect( self.data_changed_parameter_model) # ----------------------------------- # Build structure of block tree # ----------------------------------- self.bModel = DBlockTreeModel(self.showInternalNameCheckBox) self.bModel.setHorizontalHeaderLabels(['Name']) self.bModel.setColumnCount(2) self.blockTree.setModel(self.bModel) self.blockTree.setUniformRowHeights(True) self.bModel.dataChanged.connect(self.data_changed_block_model) self.showInternalNameCheckBox.clicked.connect( self.show_internal_name_callback) # ----------------------------------- # Build structure of connection tree # ----------------------------------- self.connectionModel = PaPITreeModel() self.connectionModel.setHorizontalHeaderLabels(['']) self.connectionTree.setHeaderHidden(True) self.connectionTree.setModel(self.connectionModel) self.connectionTree.setUniformRowHeights(True) self.subscribers_root = PaPIRootItem('Subscribers') self.connectionModel.appendRow(self.subscribers_root) self.subscriptions_root = PaPIRootItem('Subscriptions') self.connectionModel.appendRow(self.subscriptions_root) # ----------------------------------- # signal/slots # ----------------------------------- self.playButton.clicked.connect(self.play_button_callback) self.pauseButton.clicked.connect(self.pause_button_callback) self.stopButton.clicked.connect(self.stop_start_button_callback) self.pluginTree.clicked.connect(self.plugin_item_changed) self.pluginTree.selectionModel().selectionChanged.connect( self.changed_dplugin_tree_selection) self.pluginTree.setStyleSheet(pc.TREE_CSS) # ---------------------------------- # Add context menu # ---------------------------------- self.pluginTree.setContextMenuPolicy(Qt.CustomContextMenu) self.pluginTree.customContextMenuRequested.connect( self.open_context_menu_dplugin_tree) self.blockTree.setContextMenuPolicy(Qt.CustomContextMenu) self.blockTree.customContextMenuRequested.connect( self.open_context_menu_block_tree) self.parameterTree.setContextMenuPolicy(Qt.CustomContextMenu) self.parameterTree.customContextMenuRequested.connect( self.open_context_menu_parameter_tree) self.connectionTree.setContextMenuPolicy(Qt.CustomContextMenu) self.connectionTree.customContextMenuRequested.connect( self.open_context_menu_connection_tree) # ---------------------------------- # Add Actions # ---------------------------------- self.actionRefresh.triggered.connect(self.refresh_action) self.pluginSearchText.textChanged.connect( self.changed_search_plugin_text_field) self.clear() # set focus to the search bar self.pluginSearchText.setFocus(Qt.OtherFocusReason)
def gui_graphic_init(self): self.setWindowTitle(pc.GUI_PAPI_WINDOW_TITLE) # set GUI size self.setGeometry(self.geometry().x(), self.geometry().y(), pc.GUI_DEFAULT_WIDTH, pc.GUI_DEFAULT_HEIGHT) self.count = 0 self.log = ConsoleLog(pc.GUI_PROCESS_CONSOLE_LOG_LEVEL, pc.GUI_PROCESS_CONSOLE_IDENTIFIER) self.log.printText( 1, pc.GUI_START_CONSOLE_MESSAGE + ' .. Process id: ' + str(os.getpid())) self.last_config = pc.PAPI_LAST_CFG_PATH self.in_run_mode = False # ------------------------------------- # Create placeholder # ------------------------------------- self.overview_menu = None self.create_plugin_menu = None self.plugin_create_dialog = None # ------------------------------------- # Create menues # ------------------------------------- self.plugin_create_dialog = CreatePluginDialog( self.gui_management.gui_api, self.TabManager) # ------------------------------------- # Create callback functions for buttons # ------------------------------------- #self.loadButton.clicked.connect(self.load_triggered) #self.saveButton.clicked.connect(self.save_triggered) # ------------------------------------- # Create actions # ------------------------------------- _translate = QtCore.QCoreApplication.translate self.actionLoad.triggered.connect(self.triggered_load) self.actionLoad.setShortcut(_translate("DefaultMain", "Ctrl+L")) self.actionSave.triggered.connect(self.triggered_save) self.actionSave.setShortcut(_translate("DefaultMain", "Ctrl+S")) self.actionOverview.triggered.connect( self.triggered_show_overview_menu) self.actionOverview.setShortcut(_translate("DefaultMain", "Ctrl+O")) self.actionCreate.triggered.connect( self.triggered_show_create_plugin_menu) self.actionCreate.setShortcut(_translate("DefaultMain", "Ctrl+N")) self.actionResetPaPI.triggered.connect(self.triggered_reset_papi) self.actionReloadConfig.triggered.connect(self.triggered_reload_config) self.actionRunMode.triggered.connect(self.toggle_run_mode) self.actionReload_Plugin_DB.triggered.connect( self.triggered_reload_plugin_db) self.actionPaPI_Wiki.triggered.connect(self.triggered_papi_wiki) self.actionPaPI_Doc.triggered.connect(self.triggered_papi_doc) self.actionPaPI_Doc.setShortcut(_translate("DefaultMain", "Ctrl+H")) self.actionAbout.triggered.connect(self.triggered_papi_about) self.actionAbout_Qt.triggered.connect(self.triggered_papi_about_qt) self.actionToolbar.triggered.connect(self.triggered_show_toolbar) #self.toolBar.dragEnterEvent = self.toolbarDragEnterEvent #self.toolBar.dropEvent = self.toolbarDropEvent self.toolBar.clickedFavouritePlugin.connect(self.toolbarAddFavPlugin) self.toolBar.removedFavouritePlugin.connect(self.favPluginWasRemoved) self.set_icons()