mirror of
https://github.com/qgis/QGIS.git
synced 2025-12-26 00:22:10 -05:00
[processing] allow multiple selection of tables
This commit is contained in:
parent
57d80a5a82
commit
16da906398
@ -32,6 +32,7 @@ import xml.sax.saxutils
|
||||
|
||||
from osgeo import ogr
|
||||
|
||||
from processing.tools import dataobjects
|
||||
from processing.core.GeoAlgorithm import GeoAlgorithm
|
||||
from processing.core.GeoAlgorithmExecutionException import GeoAlgorithmExecutionException
|
||||
from processing.core.parameters import ParameterMultipleInput
|
||||
@ -52,7 +53,8 @@ class Datasources2Vrt(GeoAlgorithm):
|
||||
self.group, self.i18n_group = self.trAlgorithm('Vector general tools')
|
||||
|
||||
self.addParameter(ParameterMultipleInput(self.DATASOURCES,
|
||||
self.tr('Input datasources')))
|
||||
self.tr('Input datasources'),
|
||||
dataobjects.TYPE_TABLE))
|
||||
self.addParameter(ParameterBoolean(self.UNIONED,
|
||||
self.tr('Create "unioned" VRT'),
|
||||
default=False))
|
||||
@ -66,7 +68,6 @@ class Datasources2Vrt(GeoAlgorithm):
|
||||
input_layers = self.getParameterValue(self.DATASOURCES)
|
||||
unioned = self.getParameterValue(self.UNIONED)
|
||||
vrtPath = self.getOutputValue(self.VRT_FILE)
|
||||
vrtString = self.getOutputValue(self.VRT_STRING)
|
||||
|
||||
layers = input_layers.split(';')
|
||||
|
||||
|
||||
@ -461,6 +461,8 @@ class MultipleInputWidgetWrapper(WidgetWrapper):
|
||||
[dataobjects.TYPE_VECTOR_POLYGON, dataobjects.TYPE_VECTOR_ANY])
|
||||
elif self.param.datatype == dataobjects.TYPE_RASTER:
|
||||
options = self.dialog.getAvailableValuesOfType(ParameterRaster, OutputRaster)
|
||||
elif self.param.datatype == dataobjects.TYPE_TABLE:
|
||||
options = self.dialog.getAvailableValuesOfType(ParameterTable, OutputTable)
|
||||
else:
|
||||
options = self.dialog.getAvailableValuesOfType(ParameterFile, OutputFile)
|
||||
options = sorted(options, key=lambda opt: self.dialog.resolveValueDescription(opt))
|
||||
@ -475,6 +477,8 @@ class MultipleInputWidgetWrapper(WidgetWrapper):
|
||||
options = dataobjects.getRasterLayers(sorting=False)
|
||||
elif self.param.datatype == dataobjects.TYPE_VECTOR_ANY:
|
||||
options = dataobjects.getVectorLayers(sorting=False)
|
||||
elif self.param.datatype == dataobjects.TYPE_TABLE:
|
||||
options = dataobjects.getTables(sorting=False)
|
||||
else:
|
||||
options = dataobjects.getVectorLayers([self.param.datatype], sorting=False)
|
||||
opts = [getExtendedLayerName(opt) for opt in options]
|
||||
@ -493,6 +497,8 @@ class MultipleInputWidgetWrapper(WidgetWrapper):
|
||||
options = dataobjects.getRasterLayers(sorting=False)
|
||||
elif self.param.datatype == dataobjects.TYPE_VECTOR_ANY:
|
||||
options = dataobjects.getVectorLayers(sorting=False)
|
||||
elif self.param.datatype == dataobjects.TYPE_TABLE:
|
||||
options = dataobjects.getTables(sorting=False)
|
||||
else:
|
||||
options = dataobjects.getVectorLayers([self.param.datatype], sorting=False)
|
||||
opts = [self.getExtendedLayerName(opt) for opt in options]
|
||||
@ -520,6 +526,8 @@ class MultipleInputWidgetWrapper(WidgetWrapper):
|
||||
options = dataobjects.getRasterLayers(sorting=False)
|
||||
elif self.param.datatype == dataobjects.TYPE_VECTOR_ANY:
|
||||
options = dataobjects.getVectorLayers(sorting=False)
|
||||
elif self.param.datatype == dataobjects.TYPE_TABLE:
|
||||
options = dataobjects.getTables(sorting=False)
|
||||
else:
|
||||
options = dataobjects.getVectorLayers([self.param.datatype], sorting=False)
|
||||
return [options[i] for i in self.widget.selectedoptions]
|
||||
|
||||
@ -58,7 +58,7 @@ TYPE_VECTOR_LINE = 1
|
||||
TYPE_VECTOR_POLYGON = 2
|
||||
TYPE_RASTER = 3
|
||||
TYPE_FILE = 4
|
||||
|
||||
TYPE_TABLE = 5
|
||||
|
||||
_loadedLayers = {}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user