@@ -89,30 +89,20 @@ def showExpressionsBuilder(self):
89
89
90
90
def getValue (self ):
91
91
value = self .leText .text ()
92
- values = []
93
- #for param in self.modelParametersDialog.model.parameterDefinitions():
94
- # if isinstance(param, QgsProcessingParameterNumber):
95
- # if "@" + param.name() in value:
96
- # values.append(ValueFromInput(param.name()))
97
- #for alg in list(self.modelParametersDialog.model.algs.values()):
98
- # for out in alg.algorithm.outputDefinitions():
99
- # if isinstance(out, QgsProcessingOutputNumber) and "@%s_%s" % (alg.modeler_name, out.name) in value:
100
- # values.append(ValueFromOutput(alg.modeler_name, out.name()))
101
-
102
92
for param in self .modelParametersDialog .model .parameterDefinitions ():
103
93
if isinstance (param , QgsProcessingParameterNumber ):
104
- if "@" + param .name () == value :
94
+ if "@" + param .name () == value . strip () :
105
95
return QgsProcessingModelAlgorithm .ChildParameterSource .fromModelParameter (param .name ())
106
96
107
97
for alg in list (self .modelParametersDialog .model .childAlgorithms ().values ()):
108
98
for out in alg .algorithm ().outputDefinitions ():
109
- if isinstance (out , QgsProcessingOutputNumber ) and "@%s_%s" % (alg .childId (), out .name ()) == value :
99
+ if isinstance (out , QgsProcessingOutputNumber ) and "@%s_%s" % (alg .childId (), out .name ()) == value . strip () :
110
100
return QgsProcessingModelAlgorithm .ChildParameterSource .fromChildOutput (alg .childId (), out .outputName ())
111
101
112
- if values :
113
- return CompoundValue ( values , value )
114
- else :
115
- return value
102
+ try :
103
+ return float ( value . strip () )
104
+ except :
105
+ return QgsProcessingModelAlgorithm . ChildParameterSource . fromExpression ( self . leText . text ())
116
106
117
107
def setValue (self , value ):
118
108
if isinstance (value , QgsProcessingModelAlgorithm .ChildParameterSource ):
@@ -121,6 +111,8 @@ def setValue(self, value):
121
111
elif value .source () == QgsProcessingModelAlgorithm .ChildParameterSource .ChildOutput :
122
112
name = "%s_%s" % (value .outputChildId (), value .outputName ())
123
113
self .leText .setText (name )
114
+ elif value .source () == QgsProcessingModelAlgorithm .ChildParameterSource .Expression :
115
+ self .leText .setText (value .expression ())
124
116
else :
125
117
self .leText .setText (str (value .staticValue ()))
126
118
else :
0 commit comments