def askLayer(self): ''' Ask for the layer to load Look for layer already loaded in the layer list ''' # create dialog to select layer dlg = SelectLayerDialog(self.gui) ret = dlg.exec_() if ret: # get selected layer newLayer = dlg.selectLayer_CBox.currentLayer() # set gui with the new layer name self.gui.inputLayer_lineEdit.setText(newLayer.publicSource()) # then load layer self.loadLayer()
def loadDelimitedText(self, url, layerName, provider): #unload the layer inLayer = QgsVectorLayer(url, 'temp', provider) if (inLayer is None or not inLayer.isValid()): return dialog = SelectLayerDialog(self.iface) toLayer = None if dialog.exec_(): if dialog.currentLayer(): toLayer = self.mapCanvas().currentLayer() elif dialog.selectedLayer(): toLayer = dialog.layer() elif dialog.newLayer(): fields = inLayer.pendingFields() toLayer = layers.createMemoryLayer(layerName, QGis.WKBPoint, self.projectCrs(), fields) layers.addLayerToLegend(self.iface, toLayer) if toLayer and toLayer.geometryType() == QGis.Point: self._addLocalMapFields(toLayer, False) if toLayer.startEditing(): for feature in inLayer.getFeatures(): toLayer.addFeature(feature) self.mapCanvas().refresh()