From b8b668888c49a78df99c358035a141de28d05cd0 Mon Sep 17 00:00:00 2001 From: Nyall Dawson Date: Thu, 19 Dec 2019 15:40:47 +1000 Subject: [PATCH] Allow algorithms to link to multiple depandant parameters in modeler scene --- .../plugins/processing/modeler/ModelerScene.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/python/plugins/processing/modeler/ModelerScene.py b/python/plugins/processing/modeler/ModelerScene.py index 695f443c626..65666d40926 100644 --- a/python/plugins/processing/modeler/ModelerScene.py +++ b/python/plugins/processing/modeler/ModelerScene.py @@ -99,14 +99,18 @@ class ModelerScene(QGraphicsScene): for input_name in list(model.parameterComponents().keys()): idx = 0 parameter_def = model.parameterDefinition(input_name) - parent_name = None + parent_names = [] if hasattr(parameter_def, 'parentLayerParameterName') and parameter_def.parentLayerParameterName(): - parent_name = parameter_def.parentLayerParameterName() + parent_names.append(parameter_def.parentLayerParameterName()) if hasattr(parameter_def, 'parentLayoutParameterName') and parameter_def.parentLayoutParameterName(): - parent_name = parameter_def.parentLayoutParameterName() - elif hasattr(parameter_def, 'parentParameterName') and parameter_def.parentParameterName(): - parent_name = parameter_def.parentParameterName() - if parent_name: + parent_names.append(parameter_def.parentLayoutParameterName()) + if hasattr(parameter_def, 'parentParameterName') and parameter_def.parentParameterName(): + parent_names.append(parameter_def.parentParameterName()) + if hasattr(parameter_def, 'sourceCrsParameterName') and parameter_def.sourceCrsParameterName(): + parent_names.append(parameter_def.sourceCrsParameterName()) + if hasattr(parameter_def, 'destinationCrsParameterName') and parameter_def.destinationCrsParameterName(): + parent_names.append(parameter_def.destinationCrsParameterName()) + for parent_name in parent_names: if input_name in self.paramItems and parent_name in self.paramItems: input_item = self.paramItems[input_name] parent_item = self.paramItems[parent_name]