コード例 #1
0
 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()
コード例 #2
0
ファイル: arkgrid.py プロジェクト: lparchaeology/ArkGrid
    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()