def browseAction(self,row):
     '''
     method to open qgis browser dialog to get new datasource/provider
     '''
     layerId = self.dlg.layerTable.cellWidget(row,0).text()
     layerName = self.dlg.layerTable.cellWidget(row,1).text()
     newType,newProvider,newDatasource = dataSourceBrowser.uri(title = layerName)
     #check if databrowser return a incompatible layer type
     rowLayer = QgsMapLayerRegistry.instance().mapLayer(layerId)
     enumLayerTypes = ("vector","raster","plugin")
     if newType and enumLayerTypes[rowLayer.type()] != newType:
         self.iface.messageBar().pushMessage("Error", "Layer type mismatch %s/%s" % (enumLayerTypes[rowLayer.type()], newType), level=QgsMessageBar.CRITICAL, duration=4)
         return None
     if newDatasource:
         self.dlg.layerTable.cellWidget(row,3).setText(newDatasource)
     if newProvider:
         self.dlg.layerTable.cellWidget(row,2).setText(newProvider)
 def browseAction(self,row):
     '''
     method to open qgis browser dialog to get new datasource/provider
     '''
     layerId = self.dlg.layerTable.cellWidget(row,0).text()
     layerName = self.dlg.layerTable.cellWidget(row,1).text()
     newType,newProvider,newDatasource = dataSourceBrowser.uri(title = layerName)
     #check if databrowser return a incompatible layer type
     rowLayer = QgsMapLayerRegistry.instance().mapLayer(layerId)
     enumLayerTypes = ("vector","raster","plugin")
     if newType and enumLayerTypes[rowLayer.type()] != newType:
         self.iface.messageBar().pushMessage("Error", "Layer type mismatch %s/%s" % (enumLayerTypes[rowLayer.type()], newType), level=QgsMessageBar.CRITICAL, duration=4)
         return None
     if newDatasource:
         self.dlg.layerTable.cellWidget(row,3).setText(newDatasource)
     if newProvider:
         self.dlg.layerTable.cellWidget(row,2).setText(newProvider)
Beispiel #3
0
 def openFileBrowser(self):
     '''
     method used to open datasource browser dialog to get new provider/uri for the single layer
     '''
     type,provider,fileName = dataSourceBrowser.uri()
     enumLayerTypes = ("vector","raster","plugin")
     if type and enumLayerTypes[self.layer.type()] != type:
         self.iface.messageBar().pushMessage("Error", "Layer type mismatch: %s/%s" % (enumLayerTypes[self.layer.type()],type), level=QgsMessageBar.CRITICAL, duration=4)
     else:
         if fileName:
             self.lineEdit.setPlainText(fileName)
         if provider:
             allSources = [self.selectDatasourceCombo.itemText(i) for i in range(self.selectDatasourceCombo.count())]
             if type in allSources:
                 self.selectDatasourceCombo.setCurrentIndex(allSources.index(provider))
             else:
                 self.selectDatasourceCombo.addItem(provider)
                 self.selectDatasourceCombo.setCurrentIndex(self.selectDatasourceCombo.count()-1)
 def openFileBrowser(self):
     '''
     method used to open datasource browser dialog to get new provider/uri for the single layer
     '''
     type,provider,fileName = dataSourceBrowser.uri()
     enumLayerTypes = ("vector","raster","plugin")
     if type and enumLayerTypes[self.layer.type()] != type:
         self.iface.messageBar().pushMessage("Error", "Layer type mismatch: %s/%s" % (enumLayerTypes[self.layer.type()],type), level=QgsMessageBar.CRITICAL, duration=4)
     else:
         if fileName:
             self.lineEdit.setPlainText(fileName)
         if provider:
             allSources = [self.selectDatasourceCombo.itemText(i) for i in range(self.selectDatasourceCombo.count())]
             if type in allSources:
                 self.selectDatasourceCombo.setCurrentIndex(allSources.index(provider))
             else:
                 self.selectDatasourceCombo.addItem(provider)
                 self.selectDatasourceCombo.setCurrentIndex(self.selectDatasourceCombo.count()-1)