QGIS API Documentation 3.31.0-Master (b8458777cd)
qgsprocessingparameters.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsprocessingparameters.h
3 -------------------------
4 begin : April 2017
5 copyright : (C) 2017 by Nyall Dawson
6 email : nyall dot dawson at gmail dot com
7***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18#ifndef QGSPROCESSINGPARAMETERS_H
19#define QGSPROCESSINGPARAMETERS_H
20
21#include "qgis_core.h"
22#include "qgis.h"
23#include "qgsprocessing.h"
24#include "qgsproperty.h"
26#include "qgsprocessingutils.h"
29#include <QMap>
30#include <limits>
31
34class QgsRasterLayer;
35class QgsMeshLayer;
36class QgsVectorLayer;
37class QgsFeatureSink;
42class QgsPrintLayout;
43class QgsLayoutItem;
46
57{
58 public:
59
64 enum Flag
65 {
66 FlagOverrideDefaultGeometryCheck = 1 << 0,
67 FlagCreateIndividualOutputPerInputFeature = 1 << 1,
68 };
69 Q_DECLARE_FLAGS( Flags, Flag )
70
71
87 QgsProcessingFeatureSourceDefinition( const QString &source = QString(), bool selectedFeaturesOnly = false, long long featureLimit = -1,
88 QgsProcessingFeatureSourceDefinition::Flags flags = QgsProcessingFeatureSourceDefinition::Flags(), QgsFeatureRequest::InvalidGeometryCheck geometryCheck = QgsFeatureRequest::GeometryAbortOnInvalid, const QString &filterExpression = QString() )
89 : source( QgsProperty::fromValue( source ) )
90 , selectedFeaturesOnly( selectedFeaturesOnly )
91 , featureLimit( featureLimit )
92 , filterExpression( filterExpression )
93 , flags( flags )
94 , geometryCheck( geometryCheck )
95 {}
96
113 QgsProcessingFeatureSourceDefinition( const QgsProperty &source, bool selectedFeaturesOnly = false, long long featureLimit = -1,
114 QgsProcessingFeatureSourceDefinition::Flags flags = QgsProcessingFeatureSourceDefinition::Flags(), QgsFeatureRequest::InvalidGeometryCheck geometryCheck = QgsFeatureRequest::GeometryAbortOnInvalid, const QString &filterExpression = QString() )
115 : source( source )
116 , selectedFeaturesOnly( selectedFeaturesOnly )
117 , featureLimit( featureLimit )
118 , filterExpression( filterExpression )
119 , flags( flags )
120 , geometryCheck( geometryCheck )
121 {}
122
127
132
139 long long featureLimit = -1;
140
147
153 Flags flags = Flags();
154
164
171 QVariant toVariant() const;
172
179 bool loadVariant( const QVariantMap &map );
180
181 // TODO c++20 - replace with = default
183 {
184 return source == other.source
185 && selectedFeaturesOnly == other.selectedFeaturesOnly
186 && featureLimit == other.featureLimit
187 && filterExpression == other.filterExpression
188 && flags == other.flags
189 && geometryCheck == other.geometryCheck;
190 }
191
193 {
194 return !( *this == other );
195 }
196
198 operator QVariant() const
199 {
200 return QVariant::fromValue( *this );
201 }
202
203};
204
206Q_DECLARE_OPERATORS_FOR_FLAGS( QgsProcessingFeatureSourceDefinition::Flags )
207
208
218{
219 public:
220
226 QgsProcessingOutputLayerDefinition( const QString &sink = QString(), QgsProject *destinationProject = nullptr )
227 : sink( QgsProperty::fromValue( sink ) )
228 , destinationProject( destinationProject )
229 {}
230
236 QgsProcessingOutputLayerDefinition( const QgsProperty &sink, QgsProject *destinationProject = nullptr )
237 : sink( sink )
238 , destinationProject( destinationProject )
239 {}
240
245
251 QgsProject *destinationProject = nullptr;
252
257
264 QVariantMap createOptions;
265
272 bool useRemapping() const { return mUseRemapping; }
273
281 QgsRemappingSinkDefinition remappingDefinition() const { return mRemappingDefinition; }
282
293 void setRemappingDefinition( const QgsRemappingSinkDefinition &definition );
294
301 QVariant toVariant() const;
302
309 bool loadVariant( const QVariantMap &map );
310
312 operator QVariant() const
313 {
314 return QVariant::fromValue( *this );
315 }
316
317 // TODO c++20 - replace with = default
318 bool operator==( const QgsProcessingOutputLayerDefinition &other ) const;
319 bool operator!=( const QgsProcessingOutputLayerDefinition &other ) const;
320
321 private:
322
323 bool mUseRemapping = false;
325
326};
327
329
330
331
332
333//
334// Parameter definitions
335//
336
337
350{
351
352#ifdef SIP_RUN
353 % TypeHeaderCode
360 % End
362 if ( sipCpp->type() == QgsProcessingParameterBoolean::typeName() )
363 sipType = sipType_QgsProcessingParameterBoolean;
364 else if ( sipCpp->type() == QgsProcessingParameterCrs::typeName() )
365 sipType = sipType_QgsProcessingParameterCrs;
366 else if ( sipCpp->type() == QgsProcessingParameterMapLayer::typeName() )
367 sipType = sipType_QgsProcessingParameterMapLayer;
368 else if ( sipCpp->type() == QgsProcessingParameterExtent::typeName() )
369 sipType = sipType_QgsProcessingParameterExtent;
370 else if ( sipCpp->type() == QgsProcessingParameterPoint::typeName() )
371 sipType = sipType_QgsProcessingParameterPoint;
372 else if ( sipCpp->type() == QgsProcessingParameterGeometry::typeName() )
373 sipType = sipType_QgsProcessingParameterGeometry;
374 else if ( sipCpp->type() == QgsProcessingParameterFile::typeName() )
375 sipType = sipType_QgsProcessingParameterFile;
376 else if ( sipCpp->type() == QgsProcessingParameterMatrix::typeName() )
377 sipType = sipType_QgsProcessingParameterMatrix;
378 else if ( sipCpp->type() == QgsProcessingParameterMultipleLayers::typeName() )
379 sipType = sipType_QgsProcessingParameterMultipleLayers;
380 else if ( sipCpp->type() == QgsProcessingParameterNumber::typeName() )
381 sipType = sipType_QgsProcessingParameterNumber;
382 else if ( sipCpp->type() == QgsProcessingParameterDistance::typeName() )
383 sipType = sipType_QgsProcessingParameterDistance;
384 else if ( sipCpp->type() == QgsProcessingParameterDuration::typeName() )
385 sipType = sipType_QgsProcessingParameterDuration;
386 else if ( sipCpp->type() == QgsProcessingParameterScale::typeName() )
387 sipType = sipType_QgsProcessingParameterScale;
388 else if ( sipCpp->type() == QgsProcessingParameterRange::typeName() )
389 sipType = sipType_QgsProcessingParameterRange;
390 else if ( sipCpp->type() == QgsProcessingParameterRasterLayer::typeName() )
391 sipType = sipType_QgsProcessingParameterRasterLayer;
392 else if ( sipCpp->type() == QgsProcessingParameterMeshLayer::typeName() )
393 sipType = sipType_QgsProcessingParameterMeshLayer;
394 else if ( sipCpp->type() == QgsProcessingParameterEnum::typeName() )
395 sipType = sipType_QgsProcessingParameterEnum;
396 else if ( sipCpp->type() == QgsProcessingParameterString::typeName() )
397 sipType = sipType_QgsProcessingParameterString;
398 else if ( sipCpp->type() == QgsProcessingParameterExpression::typeName() )
399 sipType = sipType_QgsProcessingParameterExpression;
400 else if ( sipCpp->type() == QgsProcessingParameterAuthConfig::typeName() )
401 sipType = sipType_QgsProcessingParameterAuthConfig;
402 else if ( sipCpp->type() == QgsProcessingParameterVectorLayer::typeName() )
403 sipType = sipType_QgsProcessingParameterVectorLayer;
404 else if ( sipCpp->type() == QgsProcessingParameterField::typeName() )
405 sipType = sipType_QgsProcessingParameterField;
406 else if ( sipCpp->type() == QgsProcessingParameterFeatureSource::typeName() )
407 sipType = sipType_QgsProcessingParameterFeatureSource;
408 else if ( sipCpp->type() == QgsProcessingParameterFeatureSink::typeName() )
409 sipType = sipType_QgsProcessingParameterFeatureSink;
410 else if ( sipCpp->type() == QgsProcessingParameterVectorDestination::typeName() )
411 sipType = sipType_QgsProcessingParameterVectorDestination;
412 else if ( sipCpp->type() == QgsProcessingParameterRasterDestination::typeName() )
413 sipType = sipType_QgsProcessingParameterRasterDestination;
414 else if ( sipCpp->type() == QgsProcessingParameterPointCloudDestination::typeName() )
415 sipType = sipType_QgsProcessingParameterPointCloudDestination;
416 else if ( sipCpp->type() == QgsProcessingParameterFileDestination::typeName() )
417 sipType = sipType_QgsProcessingParameterFileDestination;
418 else if ( sipCpp->type() == QgsProcessingParameterFolderDestination::typeName() )
419 sipType = sipType_QgsProcessingParameterFolderDestination;
420 else if ( sipCpp->type() == QgsProcessingParameterBand::typeName() )
421 sipType = sipType_QgsProcessingParameterBand;
422 else if ( sipCpp->type() == QgsProcessingParameterLayout::typeName() )
423 sipType = sipType_QgsProcessingParameterLayout;
424 else if ( sipCpp->type() == QgsProcessingParameterLayoutItem::typeName() )
425 sipType = sipType_QgsProcessingParameterLayoutItem;
426 else if ( sipCpp->type() == QgsProcessingParameterColor::typeName() )
427 sipType = sipType_QgsProcessingParameterColor;
428 else if ( sipCpp->type() == QgsProcessingParameterCoordinateOperation::typeName() )
429 sipType = sipType_QgsProcessingParameterCoordinateOperation;
430 else if ( sipCpp->type() == QgsProcessingParameterMapTheme::typeName() )
431 sipType = sipType_QgsProcessingParameterMapTheme;
432 else if ( sipCpp->type() == QgsProcessingParameterDateTime::typeName() )
433 sipType = sipType_QgsProcessingParameterDateTime;
434 else if ( sipCpp->type() == QgsProcessingParameterProviderConnection::typeName() )
435 sipType = sipType_QgsProcessingParameterProviderConnection;
436 else if ( sipCpp->type() == QgsProcessingParameterDatabaseSchema::typeName() )
437 sipType = sipType_QgsProcessingParameterDatabaseSchema;
438 else if ( sipCpp->type() == QgsProcessingParameterDatabaseTable::typeName() )
439 sipType = sipType_QgsProcessingParameterDatabaseTable;
440 else if ( sipCpp->type() == QgsProcessingParameterFieldMapping::typeName() )
441 sipType = sipType_QgsProcessingParameterFieldMapping;
442 else if ( sipCpp->type() == QgsProcessingParameterTinInputLayers::typeName() )
443 sipType = sipType_QgsProcessingParameterTinInputLayers;
444 else if ( sipCpp->type() == QgsProcessingParameterVectorTileWriterLayers::typeName() )
445 sipType = sipType_QgsProcessingParameterVectorTileWriterLayers;
446 else if ( sipCpp->type() == QgsProcessingParameterDxfLayers::typeName() )
447 sipType = sipType_QgsProcessingParameterDxfLayers;
448 else if ( sipCpp->type() == QgsProcessingParameterMeshDatasetGroups::typeName() )
449 sipType = sipType_QgsProcessingParameterMeshDatasetGroups;
450 else if ( sipCpp->type() == QgsProcessingParameterMeshDatasetTime::typeName() )
451 sipType = sipType_QgsProcessingParameterMeshDatasetTime;
452 else if ( sipCpp->type() == QgsProcessingParameterPointCloudLayer::typeName() )
453 sipType = sipType_QgsProcessingParameterPointCloudLayer;
454 else if ( sipCpp->type() == QgsProcessingParameterAnnotationLayer::typeName() )
455 sipType = sipType_QgsProcessingParameterAnnotationLayer;
456 else
457 sipType = nullptr;
458 SIP_END
459#endif
460
461 public:
462
464 enum Flag
465 {
466 FlagAdvanced = 1 << 1,
467 FlagHidden = 1 << 2,
468 FlagOptional = 1 << 3,
469 FlagIsModelOutput = 1 << 4,
470 };
471 Q_DECLARE_FLAGS( Flags, Flag )
472
473
476 QgsProcessingParameterDefinition( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
477 bool optional = false, const QString &help = QString() );
478
480
485
489 virtual QString type() const = 0;
490
496 virtual bool isDestination() const { return false; }
497
503 QString name() const { return mName; }
504
510 void setName( const QString &name ) { mName = name; }
511
517 QString description() const { return mDescription; }
518
524 void setDescription( const QString &description ) { mDescription = description; }
525
535 QString help() const { return mHelp; }
536
546 void setHelp( const QString &help ) { mHelp = help; }
547
554 QVariant defaultValue() const { return mDefault; }
555
562 void setDefaultValue( const QVariant &value ) { mDefault = value; }
563
576 QVariant guiDefaultValueOverride() const { return mGuiDefault; }
577
593 void setGuiDefaultValueOverride( const QVariant &value ) { mGuiDefault = value; }
594
603 QVariant defaultValueForGui() const { return mGuiDefault.isValid() ? mGuiDefault : mDefault; }
604
609 Flags flags() const { return mFlags; }
610
615 void setFlags( Flags flags ) { mFlags = flags; }
616
624 virtual bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const;
625
633 virtual QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const;
634
646 virtual QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const;
647
661 virtual QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const;
662
676 virtual QStringList valueAsStringList( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const;
677
683 virtual QString valueAsPythonComment( const QVariant &value, QgsProcessingContext &context ) const;
684
689 virtual QString asScriptCode() const;
690
700 virtual QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const;
701
707 virtual QVariantMap toVariantMap() const;
708
714 virtual bool fromVariantMap( const QVariantMap &map );
715
722 SIP_SKIP QVariantMap metadata() const { return mMetadata; }
723
729 QVariantMap &metadata() { return mMetadata; }
730
736 void setMetadata( const QVariantMap &metadata ) { mMetadata = metadata; }
737
742 virtual QStringList dependsOnOtherParameters() const { return QStringList(); }
743
750
756 QgsProcessingProvider *provider() const;
757
762 virtual QString toolTip() const;
763
771 bool isDynamic() const { return mIsDynamic; }
772
780 void setIsDynamic( bool dynamic ) { mIsDynamic = dynamic; }
781
788 QgsPropertyDefinition dynamicPropertyDefinition() const { return mPropertyDefinition; }
789
796 void setDynamicPropertyDefinition( const QgsPropertyDefinition &definition ) { mPropertyDefinition = definition; }
797
809 QString dynamicLayerParameterName() const { return mDynamicLayerParameterName; }
810
822 void setDynamicLayerParameterName( const QString &name ) { mDynamicLayerParameterName = name; }
823
837 QStringList additionalExpressionContextVariables() const { return mAdditionalExpressionVariables; }
838
856 void setAdditionalExpressionContextVariables( const QStringList &variables ) { mAdditionalExpressionVariables = variables; }
857
858#ifndef SIP_RUN
859
867 enum class ValueAsStringFlag : int
868 {
869 AllowMapLayerValues = 1 << 0,
870 };
871 Q_DECLARE_FLAGS( ValueAsStringFlags, ValueAsStringFlag )
872#endif
873
874 protected:
875
876#ifndef SIP_RUN
877
884 QString valueAsStringPrivate( const QVariant &value, QgsProcessingContext &context, bool &ok, ValueAsStringFlags flags ) const;
885
892 QVariant valueAsJsonObjectPrivate( const QVariant &value, QgsProcessingContext &context, ValueAsStringFlags flags ) const;
893#endif
894
896 QString mName;
897
900
902 QString mHelp;
903
905 QVariant mDefault;
906
908 QVariant mGuiDefault;
909
911 Flags mFlags;
912
914 QVariantMap mMetadata;
915
917 QgsProcessingAlgorithm *mAlgorithm = nullptr;
918
920 bool mIsDynamic = false;
921
924
927
930
931 // To allow access to mAlgorithm. We don't want a public setter for this!
933
934};
935
936Q_DECLARE_OPERATORS_FOR_FLAGS( QgsProcessingParameterDefinition::Flags )
937
938#ifndef SIP_RUN
939Q_DECLARE_OPERATORS_FOR_FLAGS( QgsProcessingParameterDefinition::ValueAsStringFlags )
940#endif
941
943typedef QList< const QgsProcessingParameterDefinition * > QgsProcessingParameterDefinitions;
944
963class CORE_EXPORT QgsProcessingParameters
964{
965
966 public:
967
972 static bool isDynamic( const QVariantMap &parameters, const QString &name );
973
977 static QString parameterAsString( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
978
983 static QString parameterAsString( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
984
988 static QString parameterAsExpression( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
989
994 static QString parameterAsExpression( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
995
999 static double parameterAsDouble( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1000
1005 static double parameterAsDouble( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1006
1010 static int parameterAsInt( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1011
1016 static int parameterAsInt( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1017
1022 static QList<int> parameterAsInts( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1023
1028 static QList<int> parameterAsInts( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1029
1038 static QDateTime parameterAsDateTime( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1039
1048 static QDateTime parameterAsDateTime( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1049
1058 static QDate parameterAsDate( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1059
1068 static QDate parameterAsDate( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1069
1078 static QTime parameterAsTime( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1079
1088 static QTime parameterAsTime( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1089
1093 static int parameterAsEnum( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1094
1099 static int parameterAsEnum( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1100
1104 static QList<int> parameterAsEnums( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1105
1110 static QList<int> parameterAsEnums( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1111
1116 static QString parameterAsEnumString( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1117
1122 static QString parameterAsEnumString( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1123
1128 static QStringList parameterAsEnumStrings( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1129
1134 static QStringList parameterAsEnumStrings( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1135
1139 static bool parameterAsBool( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1140
1146 static bool parameterAsBoolean( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1147
1152 static bool parameterAsBool( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1153
1158 static bool parameterAsBoolean( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1159
1177 static QgsFeatureSink *parameterAsSink( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters,
1178 const QgsFields &fields, Qgis::WkbType geometryType, const QgsCoordinateReferenceSystem &crs,
1179 QgsProcessingContext &context, QString &destinationIdentifier SIP_OUT, QgsFeatureSink::SinkFlags sinkFlags = QgsFeatureSink::SinkFlags(), const QVariantMap &createOptions = QVariantMap(), const QStringList &datasourceOptions = QStringList(), const QStringList &layerOptions = QStringList() ) SIP_FACTORY;
1180
1200 static QgsFeatureSink *parameterAsSink( const QgsProcessingParameterDefinition *definition, const QVariant &value,
1201 const QgsFields &fields, Qgis::WkbType geometryType, const QgsCoordinateReferenceSystem &crs,
1202 QgsProcessingContext &context, QString &destinationIdentifier SIP_OUT, QgsFeatureSink::SinkFlags sinkFlags = QgsFeatureSink::SinkFlags(), const QVariantMap &createOptions = QVariantMap(), const QStringList &datasourceOptions = QStringList(), const QStringList &layerOptions = QStringList() ) SIP_THROW( QgsProcessingException ) SIP_FACTORY;
1203
1212 static QgsProcessingFeatureSource *parameterAsSource( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context ) SIP_FACTORY;
1213
1224 static QgsProcessingFeatureSource *parameterAsSource( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context ) SIP_FACTORY;
1225
1241 static QString parameterAsCompatibleSourceLayerPath( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters,
1242 QgsProcessingContext &context, const QStringList &compatibleFormats, const QString &preferredFormat = QString( "shp" ), QgsProcessingFeedback *feedback = nullptr );
1243
1273 static QString parameterAsCompatibleSourceLayerPathAndLayerName( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters,
1274 QgsProcessingContext &context, const QStringList &compatibleFormats, const QString &preferredFormat = QString( "shp" ), QgsProcessingFeedback *feedback = nullptr, QString *layerName SIP_OUT = nullptr );
1275
1283 static QgsMapLayer *parameterAsLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsProcessingUtils::LayerHint layerHint = QgsProcessingUtils::LayerHint::UnknownType );
1284
1294 static QgsMapLayer *parameterAsLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, QgsProcessingUtils::LayerHint layerHint = QgsProcessingUtils::LayerHint::UnknownType );
1295
1303 static QgsRasterLayer *parameterAsRasterLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1304
1314 static QgsRasterLayer *parameterAsRasterLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1315
1319 static QString parameterAsOutputLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1320
1325 static QString parameterAsOutputLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1326
1330 static QString parameterAsFileOutput( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1331
1336 static QString parameterAsFileOutput( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1337
1345 static QgsVectorLayer *parameterAsVectorLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1346
1356 static QgsVectorLayer *parameterAsVectorLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1357
1367 static QgsMeshLayer *parameterAsMeshLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1368
1378 static QgsMeshLayer *parameterAsMeshLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1379
1383 static QgsCoordinateReferenceSystem parameterAsCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1384
1389 static QgsCoordinateReferenceSystem parameterAsCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1390
1400 static QgsRectangle parameterAsExtent( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context,
1402
1414 static QgsRectangle parameterAsExtent( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context,
1416
1428 static QgsGeometry parameterAsExtentGeometry( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context,
1430
1436 static QgsCoordinateReferenceSystem parameterAsExtentCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1437
1443 static QgsCoordinateReferenceSystem parameterAsExtentCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1444
1445
1453 static QgsPointXY parameterAsPoint( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context,
1455
1464 static QgsPointXY parameterAsPoint( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context,
1466
1472 static QgsCoordinateReferenceSystem parameterAsPointCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1473
1480 static QgsCoordinateReferenceSystem parameterAsPointCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1481
1487 static QgsGeometry parameterAsGeometry( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem() );
1488
1494 static QgsGeometry parameterAsGeometry( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem() );
1495
1502 static QgsCoordinateReferenceSystem parameterAsGeometryCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1503
1510 static QgsCoordinateReferenceSystem parameterAsGeometryCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1511
1515 static QString parameterAsFile( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1516
1521 static QString parameterAsFile( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1522
1527 static QVariantList parameterAsMatrix( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1528
1534 static QVariantList parameterAsMatrix( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1535
1539 static QList< QgsMapLayer *> parameterAsLayerList( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1540
1545 static QList< QgsMapLayer *> parameterAsLayerList( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1546
1552 static QStringList parameterAsFileList( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1553
1559 static QStringList parameterAsFileList( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1560
1564 static QList<double> parameterAsRange( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1565
1570 static QList<double> parameterAsRange( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1571
1575 static QStringList parameterAsFields( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1576
1581 static QStringList parameterAsFields( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1582
1591 static QgsPrintLayout *parameterAsLayout( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1592
1601 static QgsPrintLayout *parameterAsLayout( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1602
1611 static QgsLayoutItem *parameterAsLayoutItem( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsPrintLayout *layout );
1612
1621 static QgsLayoutItem *parameterAsLayoutItem( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, QgsPrintLayout *layout );
1622
1628 static QColor parameterAsColor( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1629
1635 static QColor parameterAsColor( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1636
1642 static QString parameterAsConnectionName( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1643
1649 static QString parameterAsConnectionName( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1650
1656 static QString parameterAsSchema( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1657
1663 static QString parameterAsSchema( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1664
1670 static QString parameterAsDatabaseTableName( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1671
1677 static QString parameterAsDatabaseTableName( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1678
1688 static QgsPointCloudLayer *parameterAsPointCloudLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1689
1699 static QgsPointCloudLayer *parameterAsPointCloudLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1700
1714 static QgsAnnotationLayer *parameterAsAnnotationLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1715
1729 static QgsAnnotationLayer *parameterAsAnnotationLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1730
1736 static QgsProcessingParameterDefinition *parameterFromVariantMap( const QVariantMap &map ) SIP_FACTORY;
1737
1741 static QString descriptionFromName( const QString &name );
1742
1748 static QgsProcessingParameterDefinition *parameterFromScriptCode( const QString &code ) SIP_FACTORY;
1749
1750 private:
1751
1752 static bool parseScriptCodeParameterOptions( const QString &code, bool &isOptional, QString &name, QString &type, QString &definition );
1753};
1754
1755
1756
1764{
1765 public:
1766
1770 QgsProcessingParameterBoolean( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1771 bool optional = false );
1772
1776 static QString typeName() { return QStringLiteral( "boolean" ); }
1777 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1778 QString type() const override { return typeName(); }
1779 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1780 QString asScriptCode() const override;
1781
1785 static QgsProcessingParameterBoolean *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1786};
1787
1795{
1796 public:
1797
1801 QgsProcessingParameterCrs( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1802 bool optional = false );
1803
1807 static QString typeName() { return QStringLiteral( "crs" ); }
1808 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1809 QString type() const override { return typeName(); }
1810 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1811 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1812 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
1813 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
1814
1818 static QgsProcessingParameterCrs *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1819
1820};
1821
1829{
1830 public:
1831
1835 QgsProcessingParameterExtent( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1836 bool optional = false );
1837
1841 static QString typeName() { return QStringLiteral( "extent" ); }
1842 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1843 QString type() const override { return typeName(); }
1844 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1845 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1846 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
1847 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
1848
1852 static QgsProcessingParameterExtent *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1853
1854};
1855
1856
1864{
1865 public:
1866
1870 QgsProcessingParameterPoint( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1871 bool optional = false );
1872
1876 static QString typeName() { return QStringLiteral( "point" ); }
1877 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1878 QString type() const override { return typeName(); }
1879 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1880 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1881
1885 static QgsProcessingParameterPoint *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1886
1887};
1888
1896{
1897 public:
1898
1906 QgsProcessingParameterGeometry( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false, const QList< int > &geometryTypes = QList< int >(), bool allowMultipart = true );
1907
1911 static QString typeName() { return QStringLiteral( "geometry" ); }
1912 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1913 QString type() const override { return typeName(); }
1914 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1915 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1916 QString asScriptCode() const override;
1917 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
1918 QVariantMap toVariantMap() const override;
1919 bool fromVariantMap( const QVariantMap &map ) override;
1920
1925 QList<int> geometryTypes() const { return mGeomTypes; }
1926
1931 void setGeometryTypes( const QList<int> &geometryTypes ) { mGeomTypes = geometryTypes; }
1932
1937 bool allowMultipart() const { return mAllowMultipart; }
1938
1943 void setAllowMultipart( bool allowMultipart ) { mAllowMultipart = allowMultipart; }
1944
1945
1946
1950 static QgsProcessingParameterGeometry *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1951
1952 private:
1953
1954 QList<int> mGeomTypes;
1955 bool mAllowMultipart;
1956
1957};
1958
1966{
1967 public:
1968
1971 {
1972 File = 0,
1974 };
1975
1983 QgsProcessingParameterFile( const QString &name, const QString &description = QString(), Behavior behavior = File, const QString &extension = QString(), const QVariant &defaultValue = QVariant(),
1984 bool optional = false, const QString &fileFilter = QString() );
1985
1989 static QString typeName() { return QStringLiteral( "file" ); }
1990 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1991 QString type() const override { return typeName(); }
1992 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1993 QString asScriptCode() const override;
1994 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
1995 QString createFileFilter() const override;
1996
2001 Behavior behavior() const { return mBehavior; }
2002
2007 void setBehavior( Behavior behavior ) { mBehavior = behavior; }
2008
2016 QString extension() const { return mExtension; }
2017
2027 void setExtension( const QString &extension );
2028
2035 QString fileFilter() const;
2036
2046 void setFileFilter( const QString &filter );
2047
2048 QVariantMap toVariantMap() const override;
2049 bool fromVariantMap( const QVariantMap &map ) override;
2050
2054 static QgsProcessingParameterFile *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition, Behavior behavior = File ) SIP_FACTORY;
2055
2056 private:
2057
2058 Behavior mBehavior = File;
2059 QString mExtension;
2060 QString mFileFilter;
2061};
2062
2070{
2071 public:
2072
2076 QgsProcessingParameterMatrix( const QString &name, const QString &description = QString(), int numberRows = 3,
2077 bool hasFixedNumberRows = false, const QStringList &headers = QStringList(),
2078 const QVariant &defaultValue = QVariant(),
2079 bool optional = false );
2080
2084 static QString typeName() { return QStringLiteral( "matrix" ); }
2085 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2086 QString type() const override { return typeName(); }
2087 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2088 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2089 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
2090
2095 QStringList headers() const;
2096
2101 void setHeaders( const QStringList &headers );
2102
2109 int numberRows() const;
2110
2117 void setNumberRows( int rows );
2118
2124 bool hasFixedNumberRows() const;
2125
2131 void setHasFixedNumberRows( bool hasFixedNumberRows );
2132
2133 QVariantMap toVariantMap() const override;
2134 bool fromVariantMap( const QVariantMap &map ) override;
2135
2139 static QgsProcessingParameterMatrix *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2140
2141 private:
2142
2143 QStringList mHeaders;
2144 int mNumberRows = 3;
2145 bool mFixedNumberRows = false;
2146
2147};
2148
2156{
2157 public:
2158
2162 QgsProcessingParameterMultipleLayers( const QString &name, const QString &description = QString(), QgsProcessing::SourceType layerType = QgsProcessing::TypeVectorAnyGeometry,
2163 const QVariant &defaultValue = QVariant(),
2164 bool optional = false );
2165
2169 static QString typeName() { return QStringLiteral( "multilayer" ); }
2170 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2171 QString type() const override { return typeName(); }
2172 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2173 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2174 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2175 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2176 QString asScriptCode() const override;
2177 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
2178 QString createFileFilter() const override;
2179
2184 QgsProcessing::SourceType layerType() const;
2185
2190 void setLayerType( QgsProcessing::SourceType type );
2191
2197 int minimumNumberInputs() const;
2198
2204 void setMinimumNumberInputs( int minimum );
2205
2206 QVariantMap toVariantMap() const override;
2207 bool fromVariantMap( const QVariantMap &map ) override;
2208
2212 static QgsProcessingParameterMultipleLayers *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2213
2214 private:
2215
2217 int mMinimumNumberInputs = 0;
2218
2219};
2220
2240{
2241 public:
2242
2244 enum Type
2245 {
2248 };
2249
2253 explicit QgsProcessingParameterNumber( const QString &name, const QString &description = QString(),
2254 Type type = Integer,
2255 const QVariant &defaultValue = QVariant(),
2256 bool optional = false,
2257 double minValue = std::numeric_limits<double>::lowest() + 1,
2258 double maxValue = std::numeric_limits<double>::max()
2259 );
2260
2264 static QString typeName() { return QStringLiteral( "number" ); }
2265 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2266 QString type() const override { return typeName(); }
2267 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2268 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2269 QString toolTip() const override;
2270 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
2271
2276 double minimum() const;
2277
2282 void setMinimum( double minimum );
2283
2288 double maximum() const;
2289
2294 void setMaximum( double maximum );
2295
2300 Type dataType() const;
2301
2306 void setDataType( Type type );
2307
2308 QVariantMap toVariantMap() const override;
2309 bool fromVariantMap( const QVariantMap &map ) override;
2310
2314 static QgsProcessingParameterNumber *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2315
2316 private:
2317
2318 double mMin = std::numeric_limits<double>::lowest() + 1;
2319 double mMax = std::numeric_limits<double>::max();
2320 Type mDataType = Integer;
2321};
2322
2343{
2344 public:
2345
2349 explicit QgsProcessingParameterDistance( const QString &name, const QString &description = QString(),
2350 const QVariant &defaultValue = QVariant(),
2351 const QString &parentParameterName = QString(),
2352 bool optional = false,
2353 double minValue = std::numeric_limits<double>::lowest() + 1,
2354 double maxValue = std::numeric_limits<double>::max() );
2355
2359 static QString typeName() { return QStringLiteral( "distance" ); }
2360
2361 QgsProcessingParameterDistance *clone() const override SIP_FACTORY;
2362
2363 QString type() const override;
2364 QStringList dependsOnOtherParameters() const override;
2365 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
2366
2371 QString parentParameterName() const;
2372
2377 void setParentParameterName( const QString &parentParameterName );
2378
2385 Qgis::DistanceUnit defaultUnit() const { return mDefaultUnit; }
2386
2393 void setDefaultUnit( Qgis::DistanceUnit unit ) { mDefaultUnit = unit; }
2394
2395 QVariantMap toVariantMap() const override;
2396 bool fromVariantMap( const QVariantMap &map ) override;
2397
2398 private:
2399
2400 QString mParentParameterName;
2401 Qgis::DistanceUnit mDefaultUnit = Qgis::DistanceUnit::Unknown;
2402
2403};
2404
2413{
2414 public:
2415
2419 explicit QgsProcessingParameterDuration( const QString &name, const QString &description = QString(),
2420 const QVariant &defaultValue = QVariant(),
2421 bool optional = false,
2422 double minValue = std::numeric_limits<double>::lowest() + 1,
2423 double maxValue = std::numeric_limits<double>::max() );
2424
2428 static QString typeName() { return QStringLiteral( "duration" ); }
2429
2430 QgsProcessingParameterDuration *clone() const override SIP_FACTORY;
2431
2432 QString type() const override;
2433 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
2434
2440 Qgis::TemporalUnit defaultUnit() const { return mDefaultUnit; }
2441
2447 void setDefaultUnit( Qgis::TemporalUnit unit ) { mDefaultUnit = unit; }
2448
2449 QVariantMap toVariantMap() const override;
2450 bool fromVariantMap( const QVariantMap &map ) override;
2451
2452 private:
2453
2454 Qgis::TemporalUnit mDefaultUnit = Qgis::TemporalUnit::Milliseconds;
2455
2456};
2457
2469{
2470 public:
2471
2475 explicit QgsProcessingParameterScale( const QString &name, const QString &description = QString(),
2476 const QVariant &defaultValue = QVariant(),
2477 bool optional = false );
2478
2482 static QString typeName() { return QStringLiteral( "scale" ); }
2483
2484 QgsProcessingParameterScale *clone() const override SIP_FACTORY;
2485
2486 QString type() const override;
2487 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
2488
2492 static QgsProcessingParameterScale *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2493
2494};
2495
2503{
2504 public:
2505
2509 QgsProcessingParameterRange( const QString &name, const QString &description = QString(),
2511 const QVariant &defaultValue = QVariant(),
2512 bool optional = false );
2513
2517 static QString typeName() { return QStringLiteral( "range" ); }
2518 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2519 QString type() const override { return typeName(); }
2520 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2521 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2522 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
2523
2528 QgsProcessingParameterNumber::Type dataType() const;
2529
2534 void setDataType( QgsProcessingParameterNumber::Type dataType );
2535
2536 QVariantMap toVariantMap() const override;
2537 bool fromVariantMap( const QVariantMap &map ) override;
2538
2542 static QgsProcessingParameterRange *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2543
2544 private:
2545
2547};
2548
2556{
2557 public:
2558
2562 QgsProcessingParameterRasterLayer( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2563 bool optional = false );
2564
2568 static QString typeName() { return QStringLiteral( "raster" ); }
2569 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2570 QString type() const override { return typeName(); }
2571 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2572 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2573 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2574 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2575 QString createFileFilter() const override;
2576
2580 static QgsProcessingParameterRasterLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2581
2582};
2583
2603{
2604 public:
2605
2609 QgsProcessingParameterEnum( const QString &name, const QString &description = QString(), const QStringList &options = QStringList(),
2610 bool allowMultiple = false,
2611 const QVariant &defaultValue = QVariant(),
2612 bool optional = false,
2613 bool usesStaticStrings = false );
2614
2618 static QString typeName() { return QStringLiteral( "enum" ); }
2619 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2620 QString type() const override { return typeName(); }
2621 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2622 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2623 QString valueAsPythonComment( const QVariant &value, QgsProcessingContext &context ) const override;
2624 QString asScriptCode() const override;
2625 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
2626
2631 QStringList options() const;
2632
2637 void setOptions( const QStringList &options );
2638
2643 bool allowMultiple() const;
2644
2649 void setAllowMultiple( bool allowMultiple );
2650
2657 bool usesStaticStrings() const;
2658
2665 void setUsesStaticStrings( bool usesStaticStrings );
2666
2667 QVariantMap toVariantMap() const override;
2668 bool fromVariantMap( const QVariantMap &map ) override;
2669
2673 static QgsProcessingParameterEnum *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2674
2675 private:
2676
2677 QStringList mOptions;
2678 bool mAllowMultiple = false;
2679 bool mUsesStaticStrings = false;
2680};
2681
2710{
2711 public:
2712
2716 QgsProcessingParameterString( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2717 bool multiLine = false,
2718 bool optional = false );
2719
2723 static QString typeName() { return QStringLiteral( "string" ); }
2724 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2725 QString type() const override { return typeName(); }
2726 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2727 QString asScriptCode() const override;
2728 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
2729
2734 bool multiLine() const;
2735
2740 void setMultiLine( bool multiLine );
2741
2742 QVariantMap toVariantMap() const override;
2743 bool fromVariantMap( const QVariantMap &map ) override;
2744
2748 static QgsProcessingParameterString *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2749
2750 private:
2751
2752 bool mMultiLine = false;
2753
2754};
2755
2756
2770{
2771 public:
2772
2776 QgsProcessingParameterAuthConfig( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2777 bool optional = false );
2778
2782 static QString typeName() { return QStringLiteral( "authcfg" ); }
2783 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2784 QString type() const override { return typeName(); }
2785 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2786 QString asScriptCode() const override;
2787
2791 static QgsProcessingParameterAuthConfig *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2792
2793};
2794
2802{
2803 public:
2804
2808 QgsProcessingParameterExpression( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2809 const QString &parentLayerParameterName = QString(),
2810 bool optional = false );
2811
2815 static QString typeName() { return QStringLiteral( "expression" ); }
2816 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2817 QString type() const override { return typeName(); }
2818 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2819 QStringList dependsOnOtherParameters() const override;
2820 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
2821
2826 QString parentLayerParameterName() const;
2827
2832 void setParentLayerParameterName( const QString &parentLayerParameterName );
2833
2834 QVariantMap toVariantMap() const override;
2835 bool fromVariantMap( const QVariantMap &map ) override;
2836
2840 static QgsProcessingParameterExpression *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2841
2842 private:
2843
2844 QString mParentLayerParameterName;
2845
2846};
2847
2848
2856{
2857 public:
2858
2862 QgsProcessingParameterLimitedDataTypes( const QList< int > &types = QList< int >() );
2863
2868 QList< int > dataTypes() const;
2869
2874 void setDataTypes( const QList< int > &types );
2875
2876 protected:
2877
2879 QList< int > mDataTypes;
2880};
2881
2890{
2891 public:
2892
2896 QgsProcessingParameterVectorLayer( const QString &name,
2897 const QString &description = QString(),
2898 const QList< int > &types = QList< int >(),
2899 const QVariant &defaultValue = QVariant(),
2900 bool optional = false );
2901
2905 static QString typeName() { return QStringLiteral( "vector" ); }
2906 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2907 QString type() const override { return typeName(); }
2908 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2909 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2910 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2911 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2912 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
2913 QString createFileFilter() const override;
2914
2915 QVariantMap toVariantMap() const override;
2916 bool fromVariantMap( const QVariantMap &map ) override;
2917
2921 static QgsProcessingParameterVectorLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2922
2923};
2924
2932{
2933 public:
2934
2938 QgsProcessingParameterMeshLayer( const QString &name,
2939 const QString &description = QString(),
2940 const QVariant &defaultValue = QVariant(),
2941 bool optional = false );
2942
2946 static QString typeName() { return QStringLiteral( "mesh" ); }
2947 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2948 QString type() const override { return typeName(); }
2949 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2950 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2951 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2952 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2953 QString createFileFilter() const override;
2954
2958 static QgsProcessingParameterMeshLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2959};
2960
2968{
2969 public:
2970
2974 QgsProcessingParameterMapLayer( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2975 bool optional = false,
2976 const QList< int > &types = QList< int >() );
2977
2981 static QString typeName() { return QStringLiteral( "layer" ); }
2982 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2983 QString type() const override { return typeName(); }
2984 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2985 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2986 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2987 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2988 QString asScriptCode() const override;
2989 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
2990 QString createFileFilter() const override;
2991
2992 QVariantMap toVariantMap() const override;
2993 bool fromVariantMap( const QVariantMap &map ) override;
2994
2998 static QgsProcessingParameterMapLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2999
3000};
3001
3009{
3010 public:
3011
3014 {
3015 Any = -1,
3016 Numeric = 0,
3017 String = 1,
3018 DateTime = 2
3020
3024 QgsProcessingParameterField( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3025 const QString &parentLayerParameterName = QString(),
3026 DataType type = Any,
3027 bool allowMultiple = false,
3028 bool optional = false,
3029 bool defaultToAllFields = false );
3030
3034 static QString typeName() { return QStringLiteral( "field" ); }
3035 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3036 QString type() const override { return typeName(); }
3037 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3038 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3039 QString asScriptCode() const override;
3040 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
3041 QStringList dependsOnOtherParameters() const override;
3042
3047 QString parentLayerParameterName() const;
3048
3053 void setParentLayerParameterName( const QString &parentLayerParameterName );
3054
3059 DataType dataType() const;
3060
3065 void setDataType( DataType type );
3066
3071 bool allowMultiple() const;
3072
3077 void setAllowMultiple( bool allowMultiple );
3078
3088 bool defaultToAllFields() const;
3089
3099 void setDefaultToAllFields( bool enabled );
3100
3101 QVariantMap toVariantMap() const override;
3102 bool fromVariantMap( const QVariantMap &map ) override;
3103
3107 static QgsProcessingParameterField *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3108
3109 private:
3110
3111 QString mParentLayerParameterName;
3112 DataType mDataType = Any;
3113 bool mAllowMultiple = false;
3114 bool mDefaultToAllFields = false;
3115
3116};
3117
3118
3126{
3127 public:
3128
3132 QgsProcessingParameterFeatureSource( const QString &name, const QString &description = QString(),
3133 const QList< int > &types = QList< int >(),
3134 const QVariant &defaultValue = QVariant(), bool optional = false );
3135
3139 static QString typeName() { return QStringLiteral( "source" ); }
3140 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3141 QString type() const override { return typeName(); }
3142 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3143 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3144 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
3145 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
3146 QString asScriptCode() const override;
3147 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
3148 QString createFileFilter() const override;
3149
3150 QVariantMap toVariantMap() const override;
3151 bool fromVariantMap( const QVariantMap &map ) override;
3152
3156 static QgsProcessingParameterFeatureSource *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3157
3158};
3159
3168{
3169 public:
3170
3177 QgsProcessingDestinationParameter( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3178 bool optional = false, bool createByDefault = true );
3179
3180 bool isDestination() const override { return true; }
3181 QVariantMap toVariantMap() const override;
3182 bool fromVariantMap( const QVariantMap &map ) override;
3183 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
3184 QString createFileFilter() const override;
3185
3191
3197 bool supportsNonFileBasedOutput() const { return mSupportsNonFileBasedOutputs; }
3198
3204 void setSupportsNonFileBasedOutput( bool supportsNonFileBasedOutput ) { mSupportsNonFileBasedOutputs = supportsNonFileBasedOutput; }
3205
3210 virtual QString defaultFileExtension() const = 0;
3211
3217 virtual QString generateTemporaryDestination() const;
3218
3233 virtual bool isSupportedOutputValue( const QVariant &value, QgsProcessingContext &context, QString &error SIP_OUT ) const;
3234
3240 bool createByDefault() const;
3241
3247 void setCreateByDefault( bool createByDefault );
3248
3249 protected:
3250
3259 QgsProcessingProvider *originalProvider() const { return mOriginalProvider; }
3260
3261 private:
3262
3270 QgsProcessingProvider *mOriginalProvider = nullptr;
3271
3272 bool mSupportsNonFileBasedOutputs = true;
3273 bool mCreateByDefault = true;
3274
3275 friend class QgsProcessingModelAlgorithm;
3276 friend class TestQgsProcessing;
3277 friend class TestQgsProcessingModelAlgorithm;
3278};
3279
3280
3290{
3291 public:
3292
3299 QgsProcessingParameterFeatureSink( const QString &name, const QString &description = QString(), QgsProcessing::SourceType type = QgsProcessing::TypeVectorAnyGeometry, const QVariant &defaultValue = QVariant(),
3300 bool optional = false, bool createByDefault = true, bool supportsAppend = false );
3301
3305 static QString typeName() { return QStringLiteral( "sink" ); }
3306 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3307 QString type() const override { return typeName(); }
3308 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3309 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3310 QString asScriptCode() const override;
3311 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3312 QString defaultFileExtension() const override;
3313 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
3314 QString createFileFilter() const override;
3315
3321 virtual QStringList supportedOutputVectorLayerExtensions() const;
3322
3327 QgsProcessing::SourceType dataType() const;
3328
3333 bool hasGeometry() const;
3334
3339 void setDataType( QgsProcessing::SourceType type );
3340
3349 bool supportsAppend() const;
3350
3359 void setSupportsAppend( bool supportsAppend );
3360
3361 QVariantMap toVariantMap() const override;
3362 bool fromVariantMap( const QVariantMap &map ) override;
3363 QString generateTemporaryDestination() const override;
3364
3368 static QgsProcessingParameterFeatureSink *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3369
3370 private:
3371
3372 QgsProcessing::SourceType mDataType = QgsProcessing::TypeVectorAnyGeometry;
3373 bool mSupportsAppend = false;
3374};
3375
3376
3388{
3389 public:
3390
3397 QgsProcessingParameterVectorDestination( const QString &name, const QString &description = QString(), QgsProcessing::SourceType type = QgsProcessing::TypeVectorAnyGeometry, const QVariant &defaultValue = QVariant(),
3398 bool optional = false, bool createByDefault = true );
3399
3403 static QString typeName() { return QStringLiteral( "vectorDestination" ); }
3404 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3405 QString type() const override { return typeName(); }
3406 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3407 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3408 QString asScriptCode() const override;
3409 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3410 QString defaultFileExtension() const override;
3411 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
3412 QString createFileFilter() const override;
3413
3419 virtual QStringList supportedOutputVectorLayerExtensions() const;
3420
3425 QgsProcessing::SourceType dataType() const;
3426
3431 bool hasGeometry() const;
3432
3437 void setDataType( QgsProcessing::SourceType type );
3438
3439 QVariantMap toVariantMap() const override;
3440 bool fromVariantMap( const QVariantMap &map ) override;
3441
3445 static QgsProcessingParameterVectorDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3446
3447
3448 private:
3449
3450 QgsProcessing::SourceType mDataType = QgsProcessing::TypeVectorAnyGeometry;
3451};
3452
3461{
3462 public:
3463
3470 QgsProcessingParameterRasterDestination( const QString &name, const QString &description = QString(),
3471 const QVariant &defaultValue = QVariant(),
3472 bool optional = false,
3473 bool createByDefault = true );
3474
3478 static QString typeName() { return QStringLiteral( "rasterDestination" ); }
3479 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3480 QString type() const override { return typeName(); }
3481 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3482 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3483 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3484 QString defaultFileExtension() const override;
3485 QString createFileFilter() const override;
3486
3492 virtual QStringList supportedOutputRasterLayerExtensions() const;
3493
3497 static QgsProcessingParameterRasterDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3498};
3499
3522{
3523 public:
3524
3531 QgsProcessingParameterFileDestination( const QString &name, const QString &description = QString(),
3532 const QString &fileFilter = QString(),
3533 const QVariant &defaultValue = QVariant(),
3534 bool optional = false,
3535 bool createByDefault = true );
3536
3540 static QString typeName() { return QStringLiteral( "fileDestination" ); }
3541 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3542 QString type() const override { return typeName(); }
3543 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3544 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3545 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3546 QString defaultFileExtension() const override;
3547 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
3548 QString createFileFilter() const override;
3549
3554 QString fileFilter() const;
3555
3560 void setFileFilter( const QString &filter );
3561
3562 QVariantMap toVariantMap() const override;
3563 bool fromVariantMap( const QVariantMap &map ) override;
3564
3568 static QgsProcessingParameterFileDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3569
3570
3571 private:
3572
3573 QString mFileFilter;
3574};
3575
3584{
3585 public:
3586
3590 QgsProcessingParameterFolderDestination( const QString &name, const QString &description = QString(),
3591 const QVariant &defaultValue = QVariant(),
3592 bool optional = false,
3593 bool createByDefault = true );
3594
3598 static QString typeName() { return QStringLiteral( "folderDestination" ); }
3599 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3600 QString type() const override { return typeName(); }
3601 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3602 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3603 QString defaultFileExtension() const override;
3604
3608 static QgsProcessingParameterFolderDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3609
3610};
3611
3619{
3620 public:
3621
3625 QgsProcessingParameterBand( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3626 const QString &parentLayerParameterName = QString(),
3627 bool optional = false,
3628 bool allowMultiple = false );
3629
3633 static QString typeName() { return QStringLiteral( "band" ); }
3634 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3635 QString type() const override { return typeName(); }
3636 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3637 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3638 QString asScriptCode() const override;
3639 QStringList dependsOnOtherParameters() const override;
3640 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
3641
3646 QString parentLayerParameterName() const;
3647
3652 void setParentLayerParameterName( const QString &parentLayerParameterName );
3653
3654 QVariantMap toVariantMap() const override;
3655 bool fromVariantMap( const QVariantMap &map ) override;
3656
3660 static QgsProcessingParameterBand *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3661
3667 bool allowMultiple() const;
3668
3674 void setAllowMultiple( bool allowMultiple );
3675
3676 private:
3677
3678 QString mParentLayerParameterName;
3679 bool mAllowMultiple = false;
3680};
3681
3694{
3695 public:
3696
3700 QgsProcessingParameterLayout( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3701 bool optional = false );
3702
3706 static QString typeName() { return QStringLiteral( "layout" ); }
3707 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3708 QString type() const override { return typeName(); }
3709 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3710 QString asScriptCode() const override;
3711 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
3712
3716 static QgsProcessingParameterLayout *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3717
3718};
3719
3732{
3733 public:
3734
3738 QgsProcessingParameterLayoutItem( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3739 const QString &parentLayoutParameterName = QString(),
3740 int itemType = -1,
3741 bool optional = false );
3742
3746 static QString typeName() { return QStringLiteral( "layoutitem" ); }
3747 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3748 QString type() const override { return typeName(); }
3749 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3750 QString asScriptCode() const override;
3751 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
3752 QVariantMap toVariantMap() const override;
3753 bool fromVariantMap( const QVariantMap &map ) override;
3754 QStringList dependsOnOtherParameters() const override;
3755
3759 static QgsProcessingParameterLayoutItem *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3760
3765 QString parentLayoutParameterName() const;
3766
3771 void setParentLayoutParameterName( const QString &name );
3772
3780 int itemType() const;
3781
3789 void setItemType( int type );
3790
3791 private:
3792 QString mParentLayoutParameterName;
3793 int mItemType = -1;
3794};
3795
3806{
3807 public:
3808
3814 QgsProcessingParameterColor( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3815 bool opacityEnabled = true,
3816 bool optional = false );
3817
3821 static QString typeName() { return QStringLiteral( "color" ); }
3822 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3823 QString type() const override { return typeName(); }
3824 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3825 QString asScriptCode() const override;
3826 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
3827 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3828 QVariantMap toVariantMap() const override;
3829 bool fromVariantMap( const QVariantMap &map ) override;
3830
3837 bool opacityEnabled() const;
3838
3846 void setOpacityEnabled( bool enabled );
3847
3851 static QgsProcessingParameterColor *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3852
3853 private:
3854
3855 bool mAllowOpacity = true;
3856
3857};
3858
3859
3870{
3871 public:
3872
3876 QgsProcessingParameterCoordinateOperation( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3877 const QString &sourceCrsParameterName = QString(), const QString &destinationCrsParameterName = QString(),
3878 const QVariant &staticSourceCrs = QVariant(), const QVariant &staticDestinationCrs = QVariant(),
3879 bool optional = false );
3880
3884 static QString typeName() { return QStringLiteral( "coordinateoperation" ); }
3885 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3886 QString type() const override { return typeName(); }
3887 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3888 QString asScriptCode() const override;
3889 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
3890 QStringList dependsOnOtherParameters() const override;
3891
3892 QVariantMap toVariantMap() const override;
3893 bool fromVariantMap( const QVariantMap &map ) override;
3894
3898 static QgsProcessingParameterCoordinateOperation *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3899
3905 QString sourceCrsParameterName() const { return mSourceParameterName; }
3906
3912 void setSourceCrsParameterName( const QString &name ) { mSourceParameterName = name; }
3913
3919 QString destinationCrsParameterName() const { return mDestParameterName; }
3920
3926 void setDestinationCrsParameterName( const QString &name ) { mDestParameterName = name; }
3927
3933 QVariant sourceCrs() const { return mSourceCrs; }
3934
3940 void setSourceCrs( const QVariant &crs ) { mSourceCrs = crs; }
3941
3947 QVariant destinationCrs() const { return mDestCrs; }
3948
3954 void setDestinationCrs( const QVariant &crs ) { mDestCrs = crs; }
3955
3956 private:
3957
3958 QString mSourceParameterName;
3959 QString mDestParameterName;
3960 QVariant mSourceCrs;
3961 QVariant mDestCrs;
3962
3963};
3964
3965
3976{
3977 public:
3978
3982 QgsProcessingParameterMapTheme( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3983 bool optional = false );
3984
3988 static QString typeName() { return QStringLiteral( "maptheme" ); }
3989 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3990 QString type() const override { return typeName(); }
3991 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3992 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3993 QString asScriptCode() const override;
3994 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
3995 QVariantMap toVariantMap() const override;
3996 bool fromVariantMap( const QVariantMap &map ) override;
3997
4001 static QgsProcessingParameterMapTheme *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4002
4003 private:
4004
4005};
4006
4007
4019{
4020 public:
4021
4023 enum Type
4024 {
4028 };
4029
4033 explicit QgsProcessingParameterDateTime( const QString &name, const QString &description = QString(),
4034 Type type = DateTime,
4035 const QVariant &defaultValue = QVariant(),
4036 bool optional = false,
4037 const QDateTime &minValue = QDateTime(),
4038 const QDateTime &maxValue = QDateTime()
4039 );
4040
4044 static QString typeName() { return QStringLiteral( "datetime" ); }
4045 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4046 QString type() const override { return typeName(); }
4047 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4048 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4049 QString toolTip() const override;
4050 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
4051
4059 QDateTime minimum() const;
4060
4072 void setMinimum( const QDateTime &minimum );
4073
4081 QDateTime maximum() const;
4082
4094 void setMaximum( const QDateTime &maximum );
4095
4100 Type dataType() const;
4101
4106 void setDataType( Type type );
4107
4108 QVariantMap toVariantMap() const override;
4109 bool fromVariantMap( const QVariantMap &map ) override;
4110
4114 static QgsProcessingParameterDateTime *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4115
4116 private:
4117
4118 QDateTime mMin;
4119 QDateTime mMax;
4120 Type mDataType = DateTime;
4121};
4122
4123
4135{
4136 public:
4137
4144 QgsProcessingParameterProviderConnection( const QString &name, const QString &description, const QString &provider, const QVariant &defaultValue = QVariant(),
4145 bool optional = false );
4146
4150 static QString typeName() { return QStringLiteral( "providerconnection" ); }
4151 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4152 QString type() const override { return typeName(); }
4153 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4154 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4155 QString asScriptCode() const override;
4156 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
4157 QVariantMap toVariantMap() const override;
4158 bool fromVariantMap( const QVariantMap &map ) override;
4159
4164 QString providerId() const { return mProviderId; }
4165
4170 void setProviderId( const QString &provider ) { mProviderId = provider; }
4171
4175 static QgsProcessingParameterProviderConnection *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4176
4177 private:
4178
4179 QString mProviderId;
4180};
4181
4182
4194{
4195 public:
4196
4205 QgsProcessingParameterDatabaseSchema( const QString &name, const QString &description, const QString &connectionParameterName = QString(), const QVariant &defaultValue = QVariant(),
4206 bool optional = false );
4207
4211 static QString typeName() { return QStringLiteral( "databaseschema" ); }
4212 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4213 QString type() const override { return typeName(); }
4214 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4215 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4216 QString asScriptCode() const override;
4217 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
4218 QVariantMap toVariantMap() const override;
4219 bool fromVariantMap( const QVariantMap &map ) override;
4220 QStringList dependsOnOtherParameters() const override;
4221
4226 QString parentConnectionParameterName() const;
4227
4232 void setParentConnectionParameterName( const QString &name );
4233
4237 static QgsProcessingParameterDatabaseSchema *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4238
4239 private:
4240
4241 QString mParentConnectionParameterName;
4242};
4243
4244
4256{
4257 public:
4258
4268 QgsProcessingParameterDatabaseTable( const QString &name, const QString &description,
4269 const QString &connectionParameterName = QString(),
4270 const QString &schemaParameterName = QString(),
4271 const QVariant &defaultValue = QVariant(),
4272 bool optional = false,
4273 bool allowNewTableNames = false );
4274
4278 static QString typeName() { return QStringLiteral( "databasetable" ); }
4279 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4280 QString type() const override { return typeName(); }
4281 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4282 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4283 QString asScriptCode() const override;
4284 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
4285 QVariantMap toVariantMap() const override;
4286 bool fromVariantMap( const QVariantMap &map ) override;
4287 QStringList dependsOnOtherParameters() const override;
4288
4293 QString parentConnectionParameterName() const;
4294
4299 void setParentConnectionParameterName( const QString &name );
4300
4305 QString parentSchemaParameterName() const;
4306
4311 void setParentSchemaParameterName( const QString &name );
4312
4316 static QgsProcessingParameterDatabaseTable *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4317
4324 bool allowNewTableNames() const;
4325
4332 void setAllowNewTableNames( bool allowed );
4333
4334 private:
4335
4336 QString mParentConnectionParameterName;
4337 QString mParentSchemaParameterName;
4338 bool mAllowNewTableNames = false;
4339};
4340
4341
4349{
4350 public:
4351
4355 QgsProcessingParameterPointCloudLayer( const QString &name, const QString &description = QString(),
4356 const QVariant &defaultValue = QVariant(), bool optional = false );
4357
4361 static QString typeName() { return QStringLiteral( "pointcloud" ); }
4362 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4363 QString type() const override { return typeName(); }
4364 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4365 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4366 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
4367 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
4368 QString createFileFilter() const override;
4369
4373 static QgsProcessingParameterPointCloudLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4374};
4375
4376
4384{
4385 public:
4386
4390 QgsProcessingParameterAnnotationLayer( const QString &name, const QString &description = QString(),
4391 const QVariant &defaultValue = QVariant(), bool optional = false );
4392
4396 static QString typeName() { return QStringLiteral( "annotation" ); }
4397 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4398 QString type() const override { return typeName(); }
4399 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4400 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4401 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
4402 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
4403
4407 static QgsProcessingParameterAnnotationLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4408};
4409
4418{
4419 public:
4420
4427 QgsProcessingParameterPointCloudDestination( const QString &name, const QString &description = QString(),
4428 const QVariant &defaultValue = QVariant(),
4429 bool optional = false,
4430 bool createByDefault = true );
4431
4435 static QString typeName() { return QStringLiteral( "pointCloudDestination" ); }
4436 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4437 QString type() const override { return typeName(); }
4438 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4439 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4440 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
4441 QString defaultFileExtension() const override;
4442 QString createFileFilter() const override;
4443
4448 virtual QStringList supportedOutputPointCloudLayerExtensions() const;
4449
4453 static QgsProcessingParameterPointCloudDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4454};
4455
4456// clazy:excludeall=qstring-allocations
4457
4458#endif // QGSPROCESSINGPARAMETERS_H
4459
4460
The Qgis class provides global constants for use throughout the application.
Definition: qgis.h:55
DistanceUnit
Units of distance.
Definition: qgis.h:3047
TemporalUnit
Temporal units.
Definition: qgis.h:3152
WkbType
The WKB type describes the number of dimensions a geometry has.
Definition: qgis.h:155
Represents a map layer containing a set of georeferenced annotations, e.g.
This class represents a coordinate reference system (CRS).
This class wraps a request for features to a vector layer (or directly its vector data provider).
InvalidGeometryCheck
Handling of features with invalid geometries.
@ GeometryAbortOnInvalid
Close iterator on encountering any features with invalid geometry. This requires a slow geometry vali...
An interface for objects which accept features via addFeature(s) methods.
Container of fields for a vector layer.
Definition: qgsfields.h:45
Abstract interface for classes which generate a file filter string.
A geometry is the spatial representation of a feature.
Definition: qgsgeometry.h:164
Base class for graphical items within a QgsLayout.
Base class for all map layer types.
Definition: qgsmaplayer.h:73
Represents a mesh layer supporting display of data on structured or unstructured meshes.
Definition: qgsmeshlayer.h:100
Represents a map layer supporting display of point clouds.
A class to represent a 2D point.
Definition: qgspointxy.h:59
Print layout, a QgsLayout subclass for static or atlas-based layouts.
Abstract base class for processing algorithms.
Contains information about the context in which a processing algorithm is executed.
Base class for all parameter definitions which represent file or layer destinations,...
virtual QString defaultFileExtension() const =0
Returns the default file extension for destination file paths associated with this parameter.
bool supportsNonFileBasedOutput() const
Returns true if the destination parameter supports non filed-based outputs, such as memory layers or ...
bool isDestination() const override
Returns true if this parameter represents a file or layer destination, e.g.
virtual QgsProcessingOutputDefinition * toOutputDefinition() const =0
Returns a new QgsProcessingOutputDefinition corresponding to the definition of the destination parame...
QgsProcessingProvider * originalProvider() const
Original (source) provider which this parameter has been derived from.
void setSupportsNonFileBasedOutput(bool supportsNonFileBasedOutput)
Sets whether the destination parameter supports non filed-based outputs, such as memory layers or dir...
Custom exception class for processing related exceptions.
Definition: qgsexception.h:83
Encapsulates settings relating to a feature source input to a processing algorithm.
Flags flags
Flags which dictate source behavior.
bool operator!=(const QgsProcessingFeatureSourceDefinition &other) const
bool selectedFeaturesOnly
true if only selected features in the source should be used by algorithms.
QgsFeatureRequest::InvalidGeometryCheck geometryCheck
Geometry check method to apply to this source.
bool operator==(const QgsProcessingFeatureSourceDefinition &other) const
QgsProcessingFeatureSourceDefinition(const QgsProperty &source, bool selectedFeaturesOnly=false, long long featureLimit=-1, QgsProcessingFeatureSourceDefinition::Flags flags=QgsProcessingFeatureSourceDefinition::Flags(), QgsFeatureRequest::InvalidGeometryCheck geometryCheck=QgsFeatureRequest::GeometryAbortOnInvalid, const QString &filterExpression=QString())
Constructor for QgsProcessingFeatureSourceDefinition, accepting a QgsProperty source.
long long featureLimit
If set to a value > 0, places a limit on the maximum number of features which will be read from the s...
Flag
Flags which control source behavior.
QString filterExpression
Optional expression filter to use for filtering features which will be read from the source.
QgsFeatureSource subclass which proxies methods to an underlying QgsFeatureSource,...
Base class for providing feedback from a processing algorithm.
Base class for the definition of processing outputs.
Encapsulates settings relating to a feature sink or output raster layer for a processing algorithm.
QgsProcessingOutputLayerDefinition(const QgsProperty &sink, QgsProject *destinationProject=nullptr)
Constructor for QgsProcessingOutputLayerDefinition, accepting a QgsProperty sink/layer.
QgsProperty sink
Sink/layer definition.
bool useRemapping() const
Returns true if the output uses a remapping definition.
QgsProcessingOutputLayerDefinition(const QString &sink=QString(), QgsProject *destinationProject=nullptr)
Constructor for QgsProcessingOutputLayerDefinition, accepting a static sink/layer string.
QgsRemappingSinkDefinition remappingDefinition() const
Returns the output remapping definition, if useRemapping() is true.
QString destinationName
Name to use for sink if it's to be loaded into a destination project.
QVariantMap createOptions
Map of optional sink/layer creation options, which are passed to the underlying provider when creatin...
An annotation layer parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A string parameter for authentication configuration ID values.
static QString typeName()
Returns the type name for the parameter class.
A raster band parameter for Processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A boolean parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A color parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A coordinate operation parameter for processing algorithms, for selection between available coordinat...
static QString typeName()
Returns the type name for the parameter class.
QVariant sourceCrs() const
Returns the static source CRS, or an invalid value if this is not set.
QString destinationCrsParameterName() const
Returns the name of the destination CRS parameter, or an empty string if this is not set.
void setDestinationCrsParameterName(const QString &name)
Sets the name of the destination CRS parameter.
void setSourceCrs(const QVariant &crs)
Sets the static source crs.
QVariant destinationCrs() const
Returns the static destination CRS, or an invalid value if this is not set.
void setDestinationCrs(const QVariant &crs)
Sets the static destination crs.
void setSourceCrsParameterName(const QString &name)
Sets the name of the source CRS parameter.
QString sourceCrsParameterName() const
Returns the name of the source CRS parameter, or an empty string if this is not set.
A coordinate reference system parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A database schema parameter for processing algorithms, allowing users to select from existing schemas...
static QString typeName()
Returns the type name for the parameter class.
A database table name parameter for processing algorithms, allowing users to select from existing dat...
static QString typeName()
Returns the type name for the parameter class.
A datetime (or pure date or time) parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
Base class for the definition of processing parameters.
QVariant defaultValue() const
Returns the default value for the parameter.
void setDefaultValue(const QVariant &value)
Sets the default value for the parameter.
QVariant guiDefaultValueOverride() const
Returns the default value to use in the GUI for the parameter.
QStringList additionalExpressionContextVariables() const
Returns a list of additional expression context variables which are available for use when evaluating...
QStringList mAdditionalExpressionVariables
Additional expression context variables exposed for use by this parameter.
QString help() const
Returns the help for the parameter.
void setMetadata(const QVariantMap &metadata)
Sets the parameter's freeform metadata.
ValueAsStringFlag
Flags for passing to the valueAsStringPrivate() method.
void setGuiDefaultValueOverride(const QVariant &value)
Sets the default value to use for the parameter in GUI widgets.
QVariantMap metadata() const
Returns the parameter's freeform metadata.
QString description() const
Returns the description for the parameter.
QString mDynamicLayerParameterName
Linked vector layer parameter name for dynamic properties.
QVariant defaultValueForGui() const
Returns the default value to use for the parameter in a GUI.
virtual bool isDestination() const
Returns true if this parameter represents a file or layer destination, e.g.
void setDescription(const QString &description)
Sets the description for the parameter.
void setDynamicLayerParameterName(const QString &name)
Sets the name for the parameter for a layer linked to a dynamic parameter, or an empty string if this...
QString dynamicLayerParameterName() const
Returns the name of the parameter for a layer linked to a dynamic parameter, or an empty string if th...
void setAdditionalExpressionContextVariables(const QStringList &variables)
Sets a list of additional expression context variables which are available for use when evaluating th...
QVariantMap mMetadata
Freeform metadata for parameter. Mostly used by widget wrappers to customize their appearance and beh...
void setName(const QString &name)
Sets the name of the parameter.
QString mDescription
Parameter description.
virtual QgsProcessingParameterDefinition * clone() const =0
Creates a clone of the parameter definition.
virtual QString type() const =0
Unique parameter type name.
void setDynamicPropertyDefinition(const QgsPropertyDefinition &definition)
Sets the property definition for dynamic properties.
Flags flags() const
Returns any flags associated with the parameter.
void setHelp(const QString &help)
Sets the help for the parameter.
QString name() const
Returns the name of the parameter.
QVariant mDefault
Default value for parameter.
virtual QStringList dependsOnOtherParameters() const
Returns a list of other parameter names on which this parameter is dependent (e.g.
void setIsDynamic(bool dynamic)
Sets whether the parameter is dynamic, and can support data-defined values (i.e.
QVariant mGuiDefault
Default value for parameter in GUI.
QgsPropertyDefinition mPropertyDefinition
Data defined property definition.
bool isDynamic() const
Returns true if the parameter supports is dynamic, and can support data-defined values (i....
void setFlags(Flags flags)
Sets the flags associated with the parameter.
virtual ~QgsProcessingParameterDefinition()=default
QVariantMap & metadata()
Returns the parameter's freeform metadata.
QgsPropertyDefinition dynamicPropertyDefinition() const
Returns the property definition for dynamic properties.
A double numeric parameter for distance values.
static QString typeName()
Returns the type name for the parameter class.
void setDefaultUnit(Qgis::DistanceUnit unit)
Sets the default distance unit for the parameter.
A double numeric parameter for duration values.
void setDefaultUnit(Qgis::TemporalUnit unit)
Sets the default duration unit for the parameter.
static QString typeName()
Returns the type name for the parameter class.
static QString typeName()
Returns the type name for the parameter class.
An enum based parameter for processing algorithms, allowing for selection from predefined values.
static QString typeName()
Returns the type name for the parameter class.
An expression parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A rectangular map extent parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A feature sink output for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
An input feature source (such as vector layers) parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
static QString typeName()
Returns the type name for the parameter class.
A vector layer or feature source field parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A generic file based destination parameter, for specifying the destination path for a file (non-map l...
static QString typeName()
Returns the type name for the parameter class.
An input file or folder parameter for processing algorithms.
QString extension() const
Returns any specified file extension for the parameter.
static QString typeName()
Returns the type name for the parameter class.
void setBehavior(Behavior behavior)
Sets the parameter behavior (e.g.
Behavior behavior() const
Returns the parameter behavior (e.g.
A folder destination parameter, for specifying the destination path for a folder created by the algor...
static QString typeName()
Returns the type name for the parameter class.
A geometry parameter for processing algorithms.
void setGeometryTypes(const QList< int > &geometryTypes)
Sets the allowed geometryTypes, as a list of QgsWkbTypes::GeometryType values.
bool allowMultipart() const
Returns the parameter allow multipart geometries.
QList< int > geometryTypes() const
Returns the parameter allowed geometries, as a list of QgsWkbTypes::GeometryType values.
void setAllowMultipart(bool allowMultipart)
Sets the allow multipart geometries.
static QString typeName()
Returns the type name for the parameter class.
A print layout item parameter, allowing users to select a particular item from a print layout.
static QString typeName()
Returns the type name for the parameter class.
A print layout parameter, allowing users to select a print layout.
static QString typeName()
Returns the type name for the parameter class.
Can be inherited by parameters which require limits to their acceptable data types.
QList< int > mDataTypes
List of acceptable data types for the parameter.
A map layer parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A map theme parameter for processing algorithms, allowing users to select an existing map theme from ...
static QString typeName()
Returns the type name for the parameter class.
A table (matrix) parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
static QString typeName()
Returns the type name for the parameter class.
static QString typeName()
Returns the type name for the parameter class.
A mesh layer parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A parameter for processing algorithms which accepts multiple map layers.
static QString typeName()
Returns the type name for the parameter class.
A numeric parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A point cloud layer destination parameter, for specifying the destination path for a point cloud laye...
static QString typeName()
Returns the type name for the parameter class.
A point cloud layer parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A point parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A data provider connection parameter for processing algorithms, allowing users to select from availab...
static QString typeName()
Returns the type name for the parameter class.
void setProviderId(const QString &provider)
Sets the ID of the provider associated with the connections.
QString providerId() const
Returns the ID of the provider associated with the connections.
A numeric range parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A raster layer destination parameter, for specifying the destination path for a raster layer created ...
static QString typeName()
Returns the type name for the parameter class.
A raster layer parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A double numeric parameter for map scale values.
static QString typeName()
Returns the type name for the parameter class.
A string parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
static QString typeName()
Returns the type name for the parameter class.
A vector layer destination parameter, for specifying the destination path for a vector layer created ...
static QString typeName()
Returns the type name for the parameter class.
A vector layer (with or without geometry) parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
static QString typeName()
Returns the type name for the parameter class.
A collection of utilities for working with parameters when running a processing algorithm.
Abstract base class for processing providers.
LayerHint
Layer type hints.
@ UnknownType
Unknown layer type.
Contains enumerations and other constants for use in processing algorithms and parameters.
Definition: qgsprocessing.h:41
PythonOutputType
Available Python output types.
Definition: qgsprocessing.h:64
@ PythonQgsProcessingAlgorithmSubclass
Full Python QgsProcessingAlgorithm subclass.
Definition: qgsprocessing.h:65
SourceType
Data source types enum.
Definition: qgsprocessing.h:47
@ TypeVectorAnyGeometry
Any vector layer with geometry.
Definition: qgsprocessing.h:49
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition: qgsproject.h:105
Definition for a property.
Definition: qgsproperty.h:46
A store for object properties.
Definition: qgsproperty.h:230
Represents a raster layer.
A rectangle specified with double values.
Definition: qgsrectangle.h:42
Defines the parameters used to remap features when creating a QgsRemappingProxyFeatureSink.
Represents a vector layer which manages a vector based data sets.
As part of the API refactoring and improvements which landed in the Processing API was substantially reworked from the x version This was done in order to allow much of the underlying Processing framework to be ported into allowing algorithms to be written in pure substantial changes are required in order to port existing x Processing algorithms for QGIS x The most significant changes are outlined not GeoAlgorithm For algorithms which operate on features one by consider subclassing the QgsProcessingFeatureBasedAlgorithm class This class allows much of the boilerplate code for looping over features from a vector layer to be bypassed and instead requires implementation of a processFeature method Ensure that your algorithm(or algorithm 's parent class) implements the new pure virtual createInstance(self) call
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
Definition: qgis_sip.h:186
#define SIP_SKIP
Definition: qgis_sip.h:126
#define SIP_OUT
Definition: qgis_sip.h:58
#define SIP_FACTORY
Definition: qgis_sip.h:76
#define SIP_THROW(name,...)
Definition: qgis_sip.h:198
#define SIP_END
Definition: qgis_sip.h:203
Q_DECLARE_METATYPE(QgsDatabaseQueryLogEntry)
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
bool operator!=(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsField::ConfigurationFlags) CORE_EXPORT QDataStream &operator<<(QDataStream &out
Writes the field to stream out. QGIS version compatibility is not guaranteed.
QList< const QgsProcessingParameterDefinition * > QgsProcessingParameterDefinitions
List of processing parameters.
const QgsCoordinateReferenceSystem & crs
const QString & typeName