18 #ifndef QGSPROCESSINGMODELCHILDPARAMETERSOURCE_H
19 #define QGSPROCESSINGMODELCHILDPARAMETERSOURCE_H
21 #include "qgis_core.h"
25 class QgsProcessingModelAlgorithm;
34 class CORE_EXPORT QgsProcessingModelChildParameterSource
53 QgsProcessingModelChildParameterSource() =
default;
55 bool operator==(
const QgsProcessingModelChildParameterSource &other )
const;
56 bool operator!=(
const QgsProcessingModelChildParameterSource &other )
const
68 static QgsProcessingModelChildParameterSource fromStaticValue(
const QVariant &value );
77 static QgsProcessingModelChildParameterSource fromModelParameter(
const QString ¶meterName );
86 static QgsProcessingModelChildParameterSource fromChildOutput(
const QString &childId,
const QString &outputName );
99 static QgsProcessingModelChildParameterSource fromExpression(
const QString &expression );
113 static QgsProcessingModelChildParameterSource fromExpressionText(
const QString &text );
118 Source source()
const;
125 void setSource( Source source );
131 QVariant staticValue()
const {
return mStaticValue; }
137 void setStaticValue(
const QVariant &value ) { mStaticValue = value; mSource = StaticValue; }
143 QString parameterName()
const {
return mParameterName; }
149 void setParameterName(
const QString &name ) { mParameterName = name; mSource = ModelParameter; }
156 QString outputChildId()
const {
return mChildId; }
163 void setOutputChildId(
const QString &
id ) { mChildId = id; mSource = ChildOutput; }
170 QString outputName()
const {
return mOutputName; }
177 void setOutputName(
const QString &name ) { mOutputName = name; mSource = ChildOutput; }
183 QString expression()
const {
return mExpression; }
192 void setExpression(
const QString &expression ) { mExpression = expression; mSource = Expression; }
200 QString expressionText()
const {
return mExpressionText; }
211 void setExpressionText(
const QString &text ) { mExpressionText = text; mSource = ExpressionText; }
217 QVariant toVariant()
const;
223 bool loadVariant(
const QVariantMap &map );
243 QString friendlyIdentifier( QgsProcessingModelAlgorithm *model )
const;
247 Source mSource = StaticValue;
248 QVariant mStaticValue;
249 QString mParameterName;
253 QString mExpressionText;
258 CORE_EXPORT QDataStream &
operator<<( QDataStream &out,
const QgsProcessingModelChildParameterSource &source );
259 CORE_EXPORT QDataStream &
operator>>( QDataStream &in, QgsProcessingModelChildParameterSource &source );
262 typedef QList< QgsProcessingModelChildParameterSource > QgsProcessingModelChildParameterSources;
268 #endif // QGSPROCESSINGMODELCHILDPARAMETERSOURCE_H