mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-25 00:58:06 -05:00
[processing] Add a setParameters method to AlgorithmDialog
Allows pre-populating the dialog with non-default parameter values.
This commit is contained in:
parent
595b9812ce
commit
edcd058e32
@ -80,6 +80,9 @@ class AlgorithmDialog(QgsProcessingAlgorithmDialogBase):
|
||||
dlg.show()
|
||||
dlg.exec_()
|
||||
|
||||
def setParameters(self, parameters):
|
||||
self.mainWidget().setParameters(parameters)
|
||||
|
||||
def getParameterValues(self):
|
||||
parameters = {}
|
||||
|
||||
|
@ -266,6 +266,12 @@ class DestinationSelectionPanel(BASE, WIDGET):
|
||||
self.leText.setText(QDir.toNativeSeparators(dirName))
|
||||
settings.setValue('/Processing/LastOutputPath', dirName)
|
||||
|
||||
def setValue(self, value):
|
||||
if value == 'memory:':
|
||||
self.saveToTemporary()
|
||||
else:
|
||||
self.leText.setText(value)
|
||||
|
||||
def getValue(self):
|
||||
key = None
|
||||
if self.use_temporary and isinstance(self.parameter, QgsProcessingParameterFeatureSink):
|
||||
|
@ -181,6 +181,21 @@ class ParametersPanel(BASE, WIDGET):
|
||||
for wrapper in list(self.wrappers.values()):
|
||||
wrapper.postInitialize(list(self.wrappers.values()))
|
||||
|
||||
def setParameters(self, parameters):
|
||||
for param in self.alg.parameterDefinitions():
|
||||
if param.flags() & QgsProcessingParameterDefinition.FlagHidden:
|
||||
continue
|
||||
|
||||
if not param.name() in parameters:
|
||||
continue
|
||||
|
||||
if not param.isDestination():
|
||||
wrapper = self.wrappers[param.name()]
|
||||
wrapper.setValue(parameters[param.name()])
|
||||
else:
|
||||
dest_widget = self.outputWidgets[param.name()]
|
||||
dest_widget.setValue(parameters[param.name()])
|
||||
|
||||
def buttonToggled(self, value):
|
||||
if value:
|
||||
sender = self.sender()
|
||||
|
Loading…
x
Reference in New Issue
Block a user