def populateTable(self): layer = utils.getVectorLayerByName(self.cmbLayers.currentText()) if not layer.crs().geographicFlag(): QMessageBox.warning(self, self.tr("Wrong layer CRS"), self.tr("Selected layer has projected CRS. Please choose layer with geographic CRS or reproject this one.") ) return QApplication.setOverrideCursor(QCursor(Qt.WaitCursor)) self.model.clear() self.setTableHeader() self.workThread = layerreaderthread.LayerReaderThread(layer, self.cmbFields.currentText()) self.workThread.rangeChanged.connect(self.setProgressRange) self.workThread.updateProgress.connect(self.updateProgressAndTable) self.workThread.processFinished.connect(self.populateFinished) self.workThread.processInterrupted.connect(self.populateInterrupted) self.btnPopulate.clicked.disconnect(self.populateTable) self.btnPopulate.clicked.connect(self.stopProcessing) self.btnPopulate.setText(self.tr("Cancel")) self.workThread.start()
def reloadFields(self): self.cmbTags.clear() self.cmbValues.clear() layer = utils.getVectorLayerByName(self.cmbLayers.currentText()) fields = utils.getFieldNames(layer) self.cmbTags.addItems(fields) self.cmbValues.addItems(fields) self.resetTagsEditor() self.resetValuesEditor()
def resetValuesEditor(self): myLayer = utils.getVectorLayerByName(self.cmbLayers.currentText()) self.valuesDelegate = uniquevaluesdelegate.UniqueValuesDelegate(layer=myLayer, field=self.cmbValues.currentText()) self.tableView.setItemDelegateForColumn(2, self.valuesDelegate)
def resetValuesEditor(self): myLayer = utils.getVectorLayerByName(self.cmbLayers.currentText()) self.valuesDelegate = uniquevaluesdelegate.UniqueValuesDelegate( layer=myLayer, field=self.cmbValues.currentText()) self.tableView.setItemDelegateForColumn(2, self.valuesDelegate)
def reloadFields(self): self.cmbFields.clear() layer = utils.getVectorLayerByName(self.cmbLayers.currentText()) self.cmbFields.addItems(utils.getFieldNames(layer))