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 __init__(self, gui_api, tabmanager, parent=None): """ Constructor of this class. 'gui_api' provides an access to all functions which are needed for the functionality of the GUI. 'tabmanager' manages the tabs of the gui :param gui_api: :param tabmanager: :param parent: :return: """ 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 __init__(self, gui_api, TabManger, plugin_manager, parent=None): """ Constructor of this class. 'gui_api' is used to access the GUI data storage 'DGUI' and for creating the plugin. 'TabManager' access to the tab manager is needed because it provides the information about all used tabs. 'plugin_manager' provides access to the yapsy manager which is used to parse the plugin information. :param gui_api: :param TabManger: :param plugin_manager: :param parent: :return: """ 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.plugin_item_changed) 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.')