def delete_plugin(self):
     item = self.pluginListView.currentItem()
     name = self.pluginLabelEdit.text()
     if item and name:
         reply = QMessageBox.question(
             self, "Delete plugin",
             "Are you sure you want to delete this plugin?",
             QMessageBox.Yes | QMessageBox.No)
         if reply == QMessageBox.Yes:
             dbHandler.deletePlugin(name)
             self.pluginListView.takeItem(self.pluginListView.currentRow())
             self.clear_fields()
     else:
         return
Ejemplo n.º 2
0
    def load_info(self):
        self.poiPluginMenu.addItem("None")
        plugins = dbHandler.getAllPlugins()
        for plugin in plugins:
            self.poiPluginMenu.addItem(plugin)

        self.poiPluginMenu.setCurrentIndex(0)
Ejemplo n.º 3
0
    def save_poi(self):
        if self.poiList.currentItem() and self.poiList.currentItem(
        ).isSelected():
            pluginName = self.poiPluginMenu.currentText()
            poiName = self.poiNameEdit.text()
            type = self.poiTypeEdit.text()
            size = self.poiSizeEdit.text()
            parameters = {}
            i = 0
            for field, paraType in zip(self.parameters, self.types):
                parameters[field.text()] = paraType.text()
                i += 1
                #parameters.append(field.text())

            if (size == ""):
                size = None
            updatedPOI = dbHandler.updatePOI(pluginName,
                                             self.poiList.currentItem().text(),
                                             poiName, type, size, parameters)
            self.poiList.currentItem().setText(updatedPOI)
            self.poiSaveButton.setEnabled(False)
        else:
            pluginName = self.poiPluginMenu.currentText()
            poiName = self.poiNameEdit.text()
            type = self.poiTypeEdit.text()
            size = self.poiSizeEdit.text()
            parameters = {}
            i = 0
            for field, paraType in zip(self.parameters, self.types):
                parameters[field.text()] = paraType.text()
                #parameters.append(field.text())

            if (size == ""):
                size = None

            dbHandler.insertNewPOIToPlugin(pluginName, poiName, type, size,
                                           parameters)

            item = QtWidgets.QListWidgetItem(poiName)
            self.poiList.addItem(item)
            self.poiList.setCurrentItem(item)
Ejemplo n.º 4
0
    def load_plugins(self, i=0):
        if self.changing_plugin:
            return

        plugins = dbHandler.getAllPlugins()
        self.pluginMenu.clear()
        self.plugin_names = []
        for plugin in plugins:
            self.plugin_names.append(plugin)
            self.pluginMenu.addItem(plugin)
        self.plugin_name = self.plugin_names[i]
        self.load_plugin_data()
    def save_plugin(self):
        # Check if saving existing plugin
        if self.pluginListView.currentItem(
        ) and self.pluginListView.currentItem().isSelected():
            name = self.pluginLabelEdit.text()
            desc = self.pluginDescEdit.toPlainText()
            plugin = self.pluginListView.currentItem().text()
            updatedPlugin = dbHandler.updatePlugin(plugin, name, desc)
            self.pluginListView.currentItem().setText(updatedPlugin)
            self.pluginSaveButton.setEnabled(False)
        else:  # Else create new plugin
            name = self.pluginLabelEdit.text()
            desc = self.pluginDescEdit.toPlainText()

            # Check that name is not empty
            if not name:
                self.errorMsg.showMessage("Please provide a name.")
                self.pluginNameLabel.setStyleSheet("color : red")
                return

            # Check that another project with the same name doesn't already exist
            for plugin in self.plugins:
                if plugin.__eq__(name):
                    self.errorMsg.showMessage(
                        "A project with the same name already exists.")
                    self.pluginLabelEdit.setStyleSheet("color : red")
                    return

            self.pluginLabelEdit.setStyleSheet("color : black")

            dbHandler.createPlugin("", "", name, desc, None)

            item = QtWidgets.QListWidgetItem(name)
            self.pluginListView.addItem(item)
            self.pluginListView.setCurrentItem(item)

            # Add to local list as well

            self.pluginSaveButton.setEnabled(False)
Ejemplo n.º 6
0
    def typeMenuChanged(self):
        if self.poiTypeMenu.currentText() == 'All':
            self.pois.clear()
            self.poiList.clear()
            allPoi = []
            if self.poiPluginMenu.currentText() != 'None':
                allPoi = dbHandler.getPluginPOINames(
                    self.poiPluginMenu.currentText())

            for poi in allPoi:
                self.pois.append(poi)
                self.poiList.addItem(poi)
        else:
            if self.poiTypeMenu.currentIndex() >= 0:
                filteredList = dbHandler.getPOIFromType(
                    self.poiPluginMenu.currentText(),
                    self.poiTypeMenu.currentText())

                self.poiList.clear()
                self.pois.clear()
                for filter in filteredList:
                    self.pois.append(filter)
                    self.poiList.addItem(filter)
    def select_plugin(self, item):
        self.hide_import()
        self.pluginDelButton.setDisabled(False)
        self.pluginOutputMenu.clear()
        self.pluginPOIEdit.clear()
        plugin = dbHandler.getPlugin(item.text())
        self.pluginLabelEdit.setText(item.text())
        self.pluginDescEdit.setPlainText(plugin.description)
        allPOI = plugin.pluginPOI
        for poi in allPOI:
            self.pluginPOIEdit.addItem(poi.name)

        allOutput = None
        #for output in allOutput:
        #self.pluginOutputMenu.addItem(output)

        self.pluginSaveButton.setDisabled(True)
Ejemplo n.º 8
0
    def select_poi(self, item):
        self.show_detail_view()
        self.remove_parameters()
        self.init_counters()

        poi = dbHandler.getPOI(self.poiPluginMenu.currentText(), item.text())

        self.poiNameEdit.setText(poi.name)
        self.poiTypeEdit.setText(poi.type)
        self.poiSizeEdit.setText(str(poi.size_return))

        allData = poi.data
        for parameter, type in allData.items():
            self.add_field_data(parameter, type)

        self.poiDelButton.setDisabled(False)
        self.poiSaveButton.setDisabled(True)
Ejemplo n.º 9
0
    def pluginMenuChanged(self):
        if self.poiPluginMenu.currentIndex() != -1:
            if self.poiPluginMenu.currentText() == 'None':
                self.poiList.clear()
                self.pois.clear()
                self.poiTypeMenu.clear()
                self.clearInputs()
                self.hide_detail_view()
                self.remove_parameters()
            else:
                self.poiTypeMenu.clear()
                self.poiTypeMenu.addItem("All")
                self.clearInputs()
                self.hide_detail_view()
                self.remove_parameters()
                allPoiTypes = dbHandler.getPluginPOITypes(
                    self.poiPluginMenu.currentText())

                for type in allPoiTypes:
                    self.poiTypeMenu.addItem(type)
Ejemplo n.º 10
0
    def load_plugin_data(self):
        try:
            self.runsMenu.currentIndexChanged.disconnect(self.load_project_run)
        except TypeError:  #when not cennected
            pass

        self.plugin_name = self.pluginMenu.currentText()

        self.plugin_pois = dict()
        self.plugin_pois['Function'] = []
        self.plugin_pois['String'] = []
        for poi in dbHandler.getPluginPOI(self.plugin_name):
            for poi_type in self.poi_types:
                if poi.type == poi_type:
                    self.plugin_pois[poi_type].append(poi.to_dict())

        self.runsMenu.clear()
        self.run = DS.get_runs(self.project_name,
                               self.pluginMenu.currentText()) - 1
        runs = [str(run) for run in range(self.run + 1)[1:]]
        self.runsMenu.addItems(runs)
        self.runsMenu.currentIndexChanged.connect(self.load_project_run)
 def load_plugins(self):
     plugins = dbHandler.getAllPlugins()
     self.plugins = []
     for plugin in plugins:
         self.plugins.append(plugin)  # local list of plugins
         self.pluginListView.addItem(plugin)
Ejemplo n.º 12
0
 def delete_poi(self):
     dbHandler.deletePOI(self.poiPluginMenu.currentText(),
                         self.poiNameEdit.text())
     self.poiList.takeItem(self.poiList.currentRow())
     self.clearInputs()
     self.hide_detail_view()