38
38
QgsProcessingParameterBoolean ,
39
39
QgsProcessingParameterNumber ,
40
40
QgsProcessingParameterEnum ,
41
- QgsProcessingParameterMultipleLayers )
41
+ QgsProcessingParameterMultipleLayers ,
42
+ QgsProcessingParameterMatrix ,
43
+ QgsProcessingParameterString ,
44
+ QgsProcessingParameterField )
42
45
from processing .core .ProcessingConfig import ProcessingConfig
43
46
from processing .core .parameters import (getParameterFromString ,
44
- ParameterExtent ,
45
- ParameterFixedTable )
47
+ ParameterExtent )
46
48
from processing .core .outputs import (getOutputFromString ,
47
49
OutputVector ,
48
50
OutputRaster )
@@ -223,11 +225,11 @@ def processAlgorithm(self, parameters, context, feedback):
223
225
command += ' -' + param .name ().strip () + " true"
224
226
else :
225
227
command += ' -' + param .name ().strip () + " false"
226
- elif isinstance (param , ParameterFixedTable ):
228
+ elif isinstance (param , QgsProcessingParameterMatrix ):
227
229
tempTableFile = getTempFilename ('txt' )
228
230
with open (tempTableFile , 'w' ) as f :
229
- f .write ('\t ' .join ([col for col in param .cols ]) + '\n ' )
230
- values = parameters [ param .name ()]. split ( ',' )
231
+ f .write ('\t ' .join ([col for col in param .headers () ]) + '\n ' )
232
+ values = self . parameterAsMatrix ( parameters , param .name (), context )
231
233
for i in range (0 , len (values ), 3 ):
232
234
s = values [i ] + '\t ' + values [i + 1 ] + '\t ' + values [i + 2 ] + '\n '
233
235
f .write (s )
@@ -241,10 +243,12 @@ def processAlgorithm(self, parameters, context, feedback):
241
243
for i in range (4 ):
242
244
command += ' -' + self .extentParamNames [i ] + ' ' \
243
245
+ str (float (values [i ]) + offset [i ])
244
- elif isinstance (param , (QgsProcessingParameterNumber , QgsProcessingParameterEnum )):
245
- command += ' -' + param .name () + ' ' + str (param .value )
246
- else :
247
- command += ' -' + param .name () + ' "' + str (param .value ) + '"'
246
+ elif isinstance (param , QgsProcessingParameterNumber ):
247
+ command += ' -' + param .name () + ' ' + str (self .parameterAsDouble (parameters , param .name (), context ))
248
+ elif isinstance (param , QgsProcessingParameterEnum ):
249
+ command += ' -' + param .name () + ' ' + str (self .parameterAsEnum (parameters , param .name (), context ))
250
+ elif isinstance (param , QgsProcessingParameterString , QgsProcessingParameterField ):
251
+ command += ' -' + param .name () + ' "' + self .parameterAsString (parameters , param .name (), context ) + '"'
248
252
249
253
for out in self .outputs :
250
254
command += ' -' + out .name + ' "' + out .getCompatibleFileName (self ) + '"'
0 commit comments