Ejemplo n.º 1
0
 def setItems(self, items):
     self.clear()
     for name in items:
         item = QListWidgetItem(name)
         item.setFlags(item.flags() or Qt.ItemIsUserCheckable)
         item.setCheckState(Qt.Unchecked)
         self.addItem(item)
Ejemplo n.º 2
0
    def update_schema_names_model(self):
        res, msg = self.db.test_connection()
        schema_names = self.db._schema_names_list()

        if schema_names:
            for schema_name in schema_names:
                item = QListWidgetItem(schema_name['schema_name'])
                item.setFlags(item.flags() | QtCore.Qt.ItemIsUserCheckable)
                item.setCheckState(Qt.Unchecked)
                self.schema_names_list_widget.addItem(item)

            default_item = self.schema_names_list_widget.item(0)
            default_item.setCheckState(Qt.Checked)
        else:
            self.schema_names_list_widget.clear()
            self.export_models_list_view.setModel(QStandardItemModel())
            message_error = 'There are no schemes to export into the database. Please select another database.'
            self.txtStdout.setText(
                QCoreApplication.translate("DialogExportData", message_error))
            self.show_message(message_error, Qgis.Warning)

        self.schema_names_list_widget.currentRowChanged.connect(
            self.on_current_row_changed_schema_names)
        self.schema_names_list_widget.itemChanged.connect(
            self.on_itemchanged_schema_name)
 def update_import_models(self):
     for modelname in DEFAULT_MODEL_NAMES_CHECKED:
         item = QListWidgetItem(modelname)
         item.setFlags(item.flags() | QtCore.Qt.ItemIsUserCheckable)
         item.setCheckState(DEFAULT_MODEL_NAMES_CHECKED[modelname])
         self.import_models_list_widget.addItem(item)
     self.import_models_list_widget.itemClicked.connect(self.on_item_clicked_import_model)
     self.import_models_list_widget.itemChanged.connect(self.on_itemchanged_import_model)
Ejemplo n.º 4
0
    def getNewCompo(self, w, cView):
        """Function that finds new layout to be added to the list."""

        nameCompo = cView.name()
        if not w.findItems(nameCompo, Qt.MatchExactly):
            item = QListWidgetItem()
            item.setFlags(item.flags() | Qt.ItemIsUserCheckable)
            item.setCheckState(Qt.Unchecked)
            item.setText(nameCompo)
            w.addItem(item)
 def __addPolygonsToGui(self):
     self.ui.IDC_listPolygons.clear()
     self.ui.cmbCadastreLayer.clear()
     check = Qt.Unchecked
     for poly_lyr in self.settings.mapData.polygons.polygons():
         item = QListWidgetItem(poly_lyr.name)
         item.setData(Qt.UserRole, poly_lyr)
         item.setFlags(item.flags() | Qt.ItemIsUserCheckable)
         item.setCheckState(check)
         self.ui.IDC_listPolygons.addItem(item)
         self.ui.cmbCadastreLayer.addItem(poly_lyr.name, poly_lyr.id)
 def __addPolygonsToGui(self):
     self.ui.IDC_listPolygons.clear()
     self.ui.cmbCadastreLayer.clear()
     check = Qt.Unchecked
     for poly_lyr in self.settings.mapData.polygons.polygons():
         item = QListWidgetItem(poly_lyr.name)
         item.setData(Qt.UserRole, poly_lyr)
         item.setFlags(item.flags() | Qt.ItemIsUserCheckable)
         item.setCheckState(check)
         self.ui.IDC_listPolygons.addItem(item)
         self.ui.cmbCadastreLayer.addItem(poly_lyr.name, poly_lyr.id)
    def _create_topics_list(self, topics):
        """Builds qt list with topics items from given data.

        Args:
            topics (Dict[str, Any]): topics data (title, abstract, visible_overlays)
        """
        for topic_data in topics:
            item = QListWidgetItem(topic_data.pop('title'))
            item.setFlags(item.flags() | Qt.ItemIsEditable)
            item.setData(Qt.UserRole, topic_data)
            self.dialog.topicsList.addItem(item)
Ejemplo n.º 8
0
    def on_loadTypesPushButton_clicked(self):
        LOGGER.info("CLicked")
        self.listWidget.clear()

        wfs = self.wfsPathLineEdit.text()
        self.converter = KuntaGML2Layers(wfs, '2.1.6', '2.1.1', '1.1.0')
        self.converter.populate_features()

        for f_type in self.converter.feature_types:
            item = QListWidgetItem(f_type)
            item.setFlags(item.flags() | Qt.ItemIsUserCheckable)
            self.listWidget.addItem(item)
    def update_lists(self, only_update_all_list=False):
        """
        Update left list widget and optionally the right one.

        :param only_update_all_list: Only update left list widget.
        :type only_update_all_list: bool
        """
        # All parties
        self.lst_all_parties.clear()
        if self.txt_search_party.text():
            tmp_parties = {
                i: d
                for i, d in self.data.items()
                if self.txt_search_party.text().lower() in d[0].lower()
            }
        else:
            tmp_parties = copy.deepcopy(self.data)  # Copy all!

        for party_id in self.current_selected_parties:
            if party_id in tmp_parties:
                del tmp_parties[party_id]

        for i, d in tmp_parties.items():
            item = QListWidgetItem(d[0])
            item.setData(Qt.UserRole, i)
            self.lst_all_parties.addItem(item)

        if not only_update_all_list:
            # Selected parties
            self.tbl_selected_parties.clearContents()
            self.tbl_selected_parties.setRowCount(
                len(self.current_selected_parties))
            self.tbl_selected_parties.setColumnCount(3)
            self.tbl_selected_parties.setSortingEnabled(False)

            for row, party_id in enumerate(self.current_selected_parties):
                item = QTableWidgetItem(self.data[party_id][0])
                item.setFlags(item.flags() & ~Qt.ItemIsEditable)
                item.setData(Qt.UserRole, party_id)
                self.tbl_selected_parties.setItem(row, 0, item)
                value_denominator = self.parties_to_group[party_id][
                    0] if party_id in self.parties_to_group else self.data[
                        party_id][1]
                self.tbl_selected_parties.setItem(
                    row, 1, QTableWidgetItem(str(value_denominator)))
                value_numerator = self.parties_to_group[party_id][
                    1] if party_id in self.parties_to_group else self.data[
                        party_id][2]
                self.tbl_selected_parties.setItem(
                    row, 2, QTableWidgetItem(str(value_numerator)))

            self.tbl_selected_parties.setSortingEnabled(True)
    def __addRastersToGui(self):
        self.ui.IDC_listRasters.clear()
        check = Qt.Unchecked
        if self.settings.mapData.rasters.count() == 1:
            check = Qt.Checked
            self.settings.mapData.rasters.rasters()[0].selected = True

        for raster_lyr in self.settings.mapData.rasters.rasters():
            item = QListWidgetItem(raster_lyr.name)
            item.setData(Qt.UserRole, raster_lyr)
            item.setFlags(item.flags() | Qt.ItemIsUserCheckable)
            item.setCheckState(check)
            self.ui.IDC_listRasters.addItem(item)
Ejemplo n.º 11
0
 def refreshAnnotations(self):
     self.annotationList.clearSelection()
     self.annotationList.clear()
     for annotation in self.annotationManager.annotations():
         item = QListWidgetItem()
         annotation.appearanceChanged.connect(self.refreshAnnotationTitle)
         if annotation.isVisible():
             item.setCheckState(Qt.Checked)
         else:
             item.setCheckState(Qt.Unchecked)
         item.setFlags(item.flags())
         self.annotationList.addItem(item)
         self.refreshAnnotationTitle(annotation)
    def update_import_models(self):
        for modelname, checked in DEFAULT_MODEL_NAMES_CHECKED.items():
            item = QListWidgetItem(modelname)
            item.setFlags(item.flags() | Qt.ItemIsUserCheckable)
            item.setCheckState(Qt.Checked if modelname in self.selected_models
                               or checked == Qt.Checked else
                               Qt.Unchecked)  # From parameter or by default
            self.import_models_list_widget.addItem(item)

        self.import_models_list_widget.itemClicked.connect(
            self.on_item_clicked_import_model)
        self.import_models_list_widget.itemChanged.connect(
            self.on_itemchanged_import_model)
    def __addRastersToGui(self):
        self.ui.IDC_listRasters.clear()
        check = Qt.Unchecked
        if self.settings.mapData.rasters.count() == 1:
            check = Qt.Checked
            self.settings.mapData.rasters.rasters()[0].selected = True

        for raster_lyr in self.settings.mapData.rasters.rasters():
            item = QListWidgetItem(raster_lyr.name)
            item.setData(Qt.UserRole, raster_lyr)
            item.setFlags(item.flags() | Qt.ItemIsUserCheckable)
            item.setCheckState(check)
            self.ui.IDC_listRasters.addItem(item)
Ejemplo n.º 14
0
    def add_new_item(self, projectid, project, is_new=False, is_valid=True):
        item = QListWidgetItem(self.moduleList, QListWidgetItem.UserType)
        item.setData(QListWidgetItem.UserType, project)
        item.setSizeHint(QSize(150, 150))
        if not is_valid:
            item.setFlags(item.flags() & ~Qt.ItemIsEnabled)

        projectwidget = ProjectWidget(self.moduleList, project, is_new=is_new)
        projectwidget.install_project.connect(self.projectInstall.emit)
        projectwidget.update_project.connect(self.projectUpdate.emit)
        projectwidget.setEnabled(is_valid)
        projectwidget.serverinfo = project

        self.moduleList.addItem(item)
        self.moduleList.setItemWidget(item, projectwidget)

        self.projectitems[projectid] = item
    def update_import_models(self):
        for model in self.__ladmcol_models.supported_models():
            if not model.hidden():
                item = QListWidgetItem(model.full_alias())
                item.setData(Qt.UserRole, model.full_name())
                item.setFlags(item.flags() | Qt.ItemIsUserCheckable)
                if self.selected_models:  # From parameters
                    item.setCheckState(Qt.Checked if model.id() in
                                       self.selected_models else Qt.Unchecked)
                else:  # By default
                    item.setCheckState(
                        Qt.Checked if model.checked() else Qt.Unchecked)
                self.import_models_list_widget.addItem(item)

        self.import_models_list_widget.itemClicked.connect(
            self.on_item_clicked_import_model)
        self.import_models_list_widget.itemChanged.connect(
            self.on_itemchanged_import_model)
 def add_wfs2_service(self, text):
     item = QListWidgetItem(text)
     item.setFlags(item.flags() | Qt.ItemIsEditable
                   | Qt.ItemIsUserCheckable)
     self.wfs2ServicesList.addItem(item)
     return item
Ejemplo n.º 17
0
    def startUI(self):

        if self.first_start == True:
            # Connect to the export button to do the real work
            self.dlg.exportButton = self.dlg.buttonBox.button(
                QDialogButtonBox.Ok)
            self.dlg.exportButton.disconnect()
            self.dlg.exportButton.setText(self.tr(u'Export'))
            self.dlg.exportButton.clicked.connect(self.doIt)
        else:
            # clear the 3 lists
            self.dlg.checkAll.setChecked(False)
            self.dlg.listLayer.clear()
            self.dlg.listLayout.clear()
            self.dlg.supportedFormatsBox.clear()

        self.dlg.checkAll.clicked.connect(self.checkAll)
        self.dlg.browse.setStorageMode(QgsFileWidget.StorageMode.GetDirectory)

        #init the list of layers
        #old method who doesn't keep the order
        #lay = QgsProject.instance().mapLayers()
        #layers = list(lay.values())
        layers = QgsProject.instance().layerTreeRoot().layerOrder()

        self.listLayersId = []  #a initialiser correctement

        for layer in layers:
            #init the list of layersID
            self.listLayersId.append(layer.id())

            #create the list of layers in UI, and add a checkbox
            item = QListWidgetItem()
            item.setFlags(item.flags() | Qt.ItemIsUserCheckable)
            item.setCheckState(Qt.Unchecked)
            item.setText(layer.name())

            self.dlg.listLayer.addItem(item)
            item2 = QListWidgetItem()
            item2.setFlags(item2.flags() | Qt.ItemIsEditable)
            item2.setFlags(item2.flags() ^ QtCore.Qt.ItemIsUserCheckable)
            #if self.first_start == True:
            item2.setText('Double click to set/change the title')
            item2.setForeground(QBrush(QtCore.Qt.darkGray))
            self.dlg.listLayer.addItem(item2)
            item2.setHidden(True)

        self.dlg.listLayer.clicked.connect(self.layerCheckedEvent)

        # init the list of layouts and insert them in UI
        layouts = QgsProject.instance().layoutManager().printLayouts()
        layoutsName = []
        for layout in layouts:
            layoutsName.append(layout.name())
        self.dlg.listLayout.addItems(layoutsName)

        #init the list of supported formats
        self.dlg.supportedFormatsBox.addItems(self.getSupportedFormats())
        #set a the default directory on PDF. Put a signal to open browser in last saved PDF, SVG ou image
        self.defaultDirectory = QSettings().value('/UI/lastSaveAsPdfFile')
        self.defaultDirectory = self.dlg.supportedFormatsBox.currentIndexChanged.connect(
            self.selectDefaultDirectory)
        self.first_start = False
 def add_topic():
     item = QListWidgetItem("New topic")
     item.setFlags(item.flags() | Qt.ItemIsEditable)
     dialog.topicsList.addItem(item)
     dialog.topicsList.editItem(item)
     dialog.topicsList.setCurrentRow(dialog.topicsList.count() - 1)