@@ -168,10 +168,13 @@ class QgsProcessingParameterDefinition
168168 @see flags ()
169169%End
170170
171- virtual bool checkValueIsAcceptable( const QVariant &input ) const ;
171+ virtual bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = 0 ) const ;
172172%Docstring
173173 Checks whether the specified ``input`` value is acceptable for the
174174 parameter. Returns true if the value can be accepted.
175+ The optional ``context`` parameter can be specified to allow a more stringent
176+ check to be performed, capable of checking for the presence of required
177+ layers and other factors within the context.
175178 :rtype: bool
176179%End
177180
@@ -384,6 +387,8 @@ class QgsProcessingParameterCrs : QgsProcessingParameterDefinition
384387%End
385388
386389 virtual QString type() const;
390+ virtual bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = 0 ) const;
391+
387392};
388393
389394class QgsProcessingParameterMapLayer : QgsProcessingParameterDefinition
@@ -405,6 +410,8 @@ class QgsProcessingParameterMapLayer : QgsProcessingParameterDefinition
405410%End
406411
407412 virtual QString type() const;
413+ virtual bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = 0 ) const;
414+
408415};
409416
410417class QgsProcessingParameterExtent : QgsProcessingParameterDefinition
@@ -426,6 +433,8 @@ class QgsProcessingParameterExtent : QgsProcessingParameterDefinition
426433%End
427434
428435 virtual QString type() const;
436+ virtual bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = 0 ) const;
437+
429438
430439};
431440
@@ -449,7 +458,7 @@ class QgsProcessingParameterPoint : QgsProcessingParameterDefinition
449458%End
450459
451460 virtual QString type() const;
452- virtual bool checkValueIsAcceptable( const QVariant &input ) const;
461+ virtual bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = 0 ) const;
453462
454463
455464};
@@ -479,7 +488,7 @@ class QgsProcessingParameterFile : QgsProcessingParameterDefinition
479488%End
480489
481490 virtual QString type() const;
482- virtual bool checkValueIsAcceptable( const QVariant &input ) const;
491+ virtual bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = 0 ) const;
483492
484493
485494 Behavior behavior() const;
@@ -531,7 +540,7 @@ class QgsProcessingParameterMatrix : QgsProcessingParameterDefinition
531540%End
532541
533542 virtual QString type() const;
534- virtual bool checkValueIsAcceptable( const QVariant &input ) const;
543+ virtual bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = 0 ) const;
535544
536545
537546 QStringList headers() const;
@@ -601,7 +610,7 @@ class QgsProcessingParameterMultipleLayers : QgsProcessingParameterDefinition
601610%End
602611
603612 virtual QString type() const;
604- virtual bool checkValueIsAcceptable( const QVariant &input ) const;
613+ virtual bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = 0 ) const;
605614
606615
607616 QgsProcessingParameterDefinition::LayerType layerType() const;
@@ -664,7 +673,7 @@ class QgsProcessingParameterNumber : QgsProcessingParameterDefinition
664673%End
665674
666675 virtual QString type() const;
667- virtual bool checkValueIsAcceptable( const QVariant &input ) const;
676+ virtual bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = 0 ) const;
668677
669678
670679 double minimum() const;
@@ -729,7 +738,7 @@ class QgsProcessingParameterRange : QgsProcessingParameterDefinition
729738%End
730739
731740 virtual QString type() const;
732- virtual bool checkValueIsAcceptable( const QVariant &input ) const;
741+ virtual bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = 0 ) const;
733742
734743
735744 QgsProcessingParameterNumber::Type dataType() const;
@@ -766,6 +775,8 @@ class QgsProcessingParameterRasterLayer : QgsProcessingParameterDefinition
766775%End
767776
768777 virtual QString type() const;
778+ virtual bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = 0 ) const;
779+
769780
770781};
771782
@@ -790,7 +801,7 @@ class QgsProcessingParameterEnum : QgsProcessingParameterDefinition
790801%End
791802
792803 virtual QString type() const;
793- virtual bool checkValueIsAcceptable( const QVariant &input ) const;
804+ virtual bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = 0 ) const;
794805
795806
796807 QStringList options() const;
@@ -945,7 +956,7 @@ class QgsProcessingParameterTableField : QgsProcessingParameterDefinition
945956%End
946957
947958 virtual QString type() const;
948- virtual bool checkValueIsAcceptable( const QVariant &input ) const;
959+ virtual bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = 0 ) const;
949960
950961
951962 QString parentLayerParameter() const;
@@ -1001,26 +1012,28 @@ class QgsProcessingParameterVectorLayer : QgsProcessingParameterDefinition
10011012%End
10021013 public:
10031014
1004- QgsProcessingParameterVectorLayer( const QString &name, const QString &description = QString(), QgsProcessingParameterDefinition::LayerType type = QgsProcessingParameterDefinition::TypeVectorAny, const QVariant &defaultValue = QVariant(),
1005- bool optional = false );
1015+ QgsProcessingParameterVectorLayer( const QString &name, const QString &description = QString(),
1016+ const QList< int > &types = QList< int >(),
1017+ const QVariant &defaultValue = QVariant(), bool optional = false );
10061018%Docstring
10071019 Constructor for QgsProcessingParameterVectorLayer.
10081020%End
10091021
10101022 virtual QString type() const;
1023+ virtual bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = 0 ) const;
10111024
10121025
1013- QgsProcessingParameterDefinition::LayerType dataType () const;
1026+ QList< int > dataTypes () const;
10141027%Docstring
1015- Returns the layer type for layers acceptable by the parameter.
1016- .. seealso:: setDataType ()
1017- :rtype: QgsProcessingParameterDefinition.LayerType
1028+ Returns the layer types for layers acceptable by the parameter.
1029+ .. seealso:: setDataTypes ()
1030+ :rtype: list of int
10181031%End
10191032
1020- void setDataType( QgsProcessingParameterDefinition::LayerType type );
1033+ void setDataTypes( const QList< int > &types );
10211034%Docstring
1022- Sets the layer ``type `` for layers acceptable by the parameter.
1023- .. seealso:: dataType ()
1035+ Sets the layer ``types `` for layers acceptable by the parameter.
1036+ .. seealso:: dataTypes ()
10241037%End
10251038
10261039};
@@ -1048,6 +1061,8 @@ class QgsProcessingParameterOutputVectorLayer : QgsProcessingParameterDefinition
10481061
10491062 virtual QString type() const;
10501063 virtual bool isDestination() const;
1064+ virtual bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = 0 ) const;
1065+
10511066
10521067 QgsProcessingParameterDefinition::LayerType dataType() const;
10531068%Docstring
0 commit comments