QGIS API Documentation 3.43.0-Master (32433f7016e)
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
56{
57 public:
58
75 QgsProcessingFeatureSourceDefinition( const QString &source = QString(), bool selectedFeaturesOnly = false, long long featureLimit = -1,
77 : source( QgsProperty::fromValue( source ) )
78 , selectedFeaturesOnly( selectedFeaturesOnly )
79 , featureLimit( featureLimit )
80 , filterExpression( filterExpression )
81 , flags( flags )
82 , geometryCheck( geometryCheck )
83 {}
84
101 QgsProcessingFeatureSourceDefinition( const QgsProperty &source, bool selectedFeaturesOnly = false, long long featureLimit = -1,
103 : source( source )
104 , selectedFeaturesOnly( selectedFeaturesOnly )
105 , featureLimit( featureLimit )
106 , filterExpression( filterExpression )
107 , flags( flags )
108 , geometryCheck( geometryCheck )
109 {}
110
115
120
127 long long featureLimit = -1;
128
135
142
151
158 QVariant toVariant() const;
159
166 bool loadVariant( const QVariantMap &map );
167
168 // TODO c++20 - replace with = default
170 {
171 return source == other.source
172 && selectedFeaturesOnly == other.selectedFeaturesOnly
173 && featureLimit == other.featureLimit
174 && filterExpression == other.filterExpression
175 && flags == other.flags
176 && geometryCheck == other.geometryCheck;
177 }
178
180 {
181 return !( *this == other );
182 }
183
185 operator QVariant() const
186 {
187 return QVariant::fromValue( *this );
188 }
189
190};
191
193
194
203{
204 public:
205
211 QgsProcessingOutputLayerDefinition( const QString &sink = QString(), QgsProject *destinationProject = nullptr )
212 : sink( QgsProperty::fromValue( sink ) )
213 , destinationProject( destinationProject )
214 {}
215
221 QgsProcessingOutputLayerDefinition( const QgsProperty &sink, QgsProject *destinationProject = nullptr )
222 : sink( sink )
223 , destinationProject( destinationProject )
224 {}
225
230
236 QgsProject *destinationProject = nullptr;
237
242
249 QVariantMap createOptions;
250
257 bool useRemapping() const { return mUseRemapping; }
258
266 QgsRemappingSinkDefinition remappingDefinition() const { return mRemappingDefinition; }
267
278 void setRemappingDefinition( const QgsRemappingSinkDefinition &definition );
279
286 QVariant toVariant() const;
287
294 bool loadVariant( const QVariantMap &map );
295
297 operator QVariant() const
298 {
299 return QVariant::fromValue( *this );
300 }
301
302 // TODO c++20 - replace with = default
303 bool operator==( const QgsProcessingOutputLayerDefinition &other ) const;
304 bool operator!=( const QgsProcessingOutputLayerDefinition &other ) const;
305
306 private:
307
308 bool mUseRemapping = false;
310
311};
312
314
315
316
317
318//
319// Parameter definitions
320//
321
322
334{
335
336#ifdef SIP_RUN
337 % TypeHeaderCode
344 % End
346 if ( sipCpp->type() == QgsProcessingParameterBoolean::typeName() )
347 sipType = sipType_QgsProcessingParameterBoolean;
348 else if ( sipCpp->type() == QgsProcessingParameterCrs::typeName() )
349 sipType = sipType_QgsProcessingParameterCrs;
350 else if ( sipCpp->type() == QgsProcessingParameterMapLayer::typeName() )
351 sipType = sipType_QgsProcessingParameterMapLayer;
352 else if ( sipCpp->type() == QgsProcessingParameterExtent::typeName() )
353 sipType = sipType_QgsProcessingParameterExtent;
354 else if ( sipCpp->type() == QgsProcessingParameterPoint::typeName() )
355 sipType = sipType_QgsProcessingParameterPoint;
356 else if ( sipCpp->type() == QgsProcessingParameterGeometry::typeName() )
357 sipType = sipType_QgsProcessingParameterGeometry;
358 else if ( sipCpp->type() == QgsProcessingParameterFile::typeName() )
359 sipType = sipType_QgsProcessingParameterFile;
360 else if ( sipCpp->type() == QgsProcessingParameterMatrix::typeName() )
361 sipType = sipType_QgsProcessingParameterMatrix;
362 else if ( sipCpp->type() == QgsProcessingParameterMultipleLayers::typeName() )
363 sipType = sipType_QgsProcessingParameterMultipleLayers;
364 else if ( sipCpp->type() == QgsProcessingParameterNumber::typeName() )
365 sipType = sipType_QgsProcessingParameterNumber;
366 else if ( sipCpp->type() == QgsProcessingParameterDistance::typeName() )
367 sipType = sipType_QgsProcessingParameterDistance;
368 else if ( sipCpp->type() == QgsProcessingParameterArea::typeName() )
369 sipType = sipType_QgsProcessingParameterArea;
370 else if ( sipCpp->type() == QgsProcessingParameterVolume::typeName() )
371 sipType = sipType_QgsProcessingParameterVolume;
372 else if ( sipCpp->type() == QgsProcessingParameterDuration::typeName() )
373 sipType = sipType_QgsProcessingParameterDuration;
374 else if ( sipCpp->type() == QgsProcessingParameterScale::typeName() )
375 sipType = sipType_QgsProcessingParameterScale;
376 else if ( sipCpp->type() == QgsProcessingParameterRange::typeName() )
377 sipType = sipType_QgsProcessingParameterRange;
378 else if ( sipCpp->type() == QgsProcessingParameterRasterLayer::typeName() )
379 sipType = sipType_QgsProcessingParameterRasterLayer;
380 else if ( sipCpp->type() == QgsProcessingParameterMeshLayer::typeName() )
381 sipType = sipType_QgsProcessingParameterMeshLayer;
382 else if ( sipCpp->type() == QgsProcessingParameterEnum::typeName() )
383 sipType = sipType_QgsProcessingParameterEnum;
384 else if ( sipCpp->type() == QgsProcessingParameterString::typeName() )
385 sipType = sipType_QgsProcessingParameterString;
386 else if ( sipCpp->type() == QgsProcessingParameterExpression::typeName() )
387 sipType = sipType_QgsProcessingParameterExpression;
388 else if ( sipCpp->type() == QgsProcessingParameterAuthConfig::typeName() )
389 sipType = sipType_QgsProcessingParameterAuthConfig;
390 else if ( sipCpp->type() == QgsProcessingParameterVectorLayer::typeName() )
391 sipType = sipType_QgsProcessingParameterVectorLayer;
392 else if ( sipCpp->type() == QgsProcessingParameterField::typeName() )
393 sipType = sipType_QgsProcessingParameterField;
394 else if ( sipCpp->type() == QgsProcessingParameterFeatureSource::typeName() )
395 sipType = sipType_QgsProcessingParameterFeatureSource;
396 else if ( sipCpp->type() == QgsProcessingParameterFeatureSink::typeName() )
397 sipType = sipType_QgsProcessingParameterFeatureSink;
398 else if ( sipCpp->type() == QgsProcessingParameterVectorDestination::typeName() )
399 sipType = sipType_QgsProcessingParameterVectorDestination;
400 else if ( sipCpp->type() == QgsProcessingParameterRasterDestination::typeName() )
401 sipType = sipType_QgsProcessingParameterRasterDestination;
402 else if ( sipCpp->type() == QgsProcessingParameterPointCloudDestination::typeName() )
403 sipType = sipType_QgsProcessingParameterPointCloudDestination;
404 else if ( sipCpp->type() == QgsProcessingParameterFileDestination::typeName() )
405 sipType = sipType_QgsProcessingParameterFileDestination;
406 else if ( sipCpp->type() == QgsProcessingParameterFolderDestination::typeName() )
407 sipType = sipType_QgsProcessingParameterFolderDestination;
408 else if ( sipCpp->type() == QgsProcessingParameterBand::typeName() )
409 sipType = sipType_QgsProcessingParameterBand;
410 else if ( sipCpp->type() == QgsProcessingParameterLayout::typeName() )
411 sipType = sipType_QgsProcessingParameterLayout;
412 else if ( sipCpp->type() == QgsProcessingParameterLayoutItem::typeName() )
413 sipType = sipType_QgsProcessingParameterLayoutItem;
414 else if ( sipCpp->type() == QgsProcessingParameterColor::typeName() )
415 sipType = sipType_QgsProcessingParameterColor;
416 else if ( sipCpp->type() == QgsProcessingParameterCoordinateOperation::typeName() )
417 sipType = sipType_QgsProcessingParameterCoordinateOperation;
418 else if ( sipCpp->type() == QgsProcessingParameterMapTheme::typeName() )
419 sipType = sipType_QgsProcessingParameterMapTheme;
420 else if ( sipCpp->type() == QgsProcessingParameterDateTime::typeName() )
421 sipType = sipType_QgsProcessingParameterDateTime;
422 else if ( sipCpp->type() == QgsProcessingParameterProviderConnection::typeName() )
423 sipType = sipType_QgsProcessingParameterProviderConnection;
424 else if ( sipCpp->type() == QgsProcessingParameterDatabaseSchema::typeName() )
425 sipType = sipType_QgsProcessingParameterDatabaseSchema;
426 else if ( sipCpp->type() == QgsProcessingParameterDatabaseTable::typeName() )
427 sipType = sipType_QgsProcessingParameterDatabaseTable;
428 else if ( sipCpp->type() == QgsProcessingParameterFieldMapping::typeName() )
429 sipType = sipType_QgsProcessingParameterFieldMapping;
430 else if ( sipCpp->type() == QgsProcessingParameterTinInputLayers::typeName() )
431 sipType = sipType_QgsProcessingParameterTinInputLayers;
432 else if ( sipCpp->type() == QgsProcessingParameterVectorTileWriterLayers::typeName() )
433 sipType = sipType_QgsProcessingParameterVectorTileWriterLayers;
434 else if ( sipCpp->type() == QgsProcessingParameterDxfLayers::typeName() )
435 sipType = sipType_QgsProcessingParameterDxfLayers;
436 else if ( sipCpp->type() == QgsProcessingParameterMeshDatasetGroups::typeName() )
437 sipType = sipType_QgsProcessingParameterMeshDatasetGroups;
438 else if ( sipCpp->type() == QgsProcessingParameterMeshDatasetTime::typeName() )
439 sipType = sipType_QgsProcessingParameterMeshDatasetTime;
440 else if ( sipCpp->type() == QgsProcessingParameterPointCloudLayer::typeName() )
441 sipType = sipType_QgsProcessingParameterPointCloudLayer;
442 else if ( sipCpp->type() == QgsProcessingParameterAnnotationLayer::typeName() )
443 sipType = sipType_QgsProcessingParameterAnnotationLayer;
444 else if ( sipCpp->type() == QgsProcessingParameterPointCloudAttribute::typeName() )
445 sipType = sipType_QgsProcessingParameterPointCloudAttribute;
446 else if ( sipCpp->type() == QgsProcessingParameterVectorTileDestination::typeName() )
447 sipType = sipType_QgsProcessingParameterVectorTileDestination;
448 else
449 sipType = nullptr;
450 SIP_END
451#endif
452
453 public:
454
458 QgsProcessingParameterDefinition( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
459 bool optional = false, const QString &help = QString() );
460
462
467
471 virtual QString type() const = 0;
472
478 virtual bool isDestination() const { return false; }
479
485 QString name() const { return mName; }
486
492 void setName( const QString &name ) { mName = name; }
493
499 QString description() const { return mDescription; }
500
506 void setDescription( const QString &description ) { mDescription = description; }
507
517 QString help() const { return mHelp; }
518
528 void setHelp( const QString &help ) { mHelp = help; }
529
536 QVariant defaultValue() const { return mDefault; }
537
544 void setDefaultValue( const QVariant &value ) { mDefault = value; }
545
558 QVariant guiDefaultValueOverride() const;
559
575 void setGuiDefaultValueOverride( const QVariant &value ) { mGuiDefault = value; }
576
585 QVariant defaultValueForGui() const;
586
591 Qgis::ProcessingParameterFlags flags() const { return mFlags; }
592
597 void setFlags( Qgis::ProcessingParameterFlags flags ) { mFlags = flags; }
598
606 virtual bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const;
607
615 virtual QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const;
616
628 virtual QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const;
629
643 virtual QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const;
644
658 virtual QStringList valueAsStringList( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const;
659
665 virtual QString valueAsPythonComment( const QVariant &value, QgsProcessingContext &context ) const;
666
671 virtual QString asScriptCode() const;
672
683
689 virtual QVariantMap toVariantMap() const;
690
696 virtual bool fromVariantMap( const QVariantMap &map );
697
704 SIP_SKIP QVariantMap metadata() const { return mMetadata; }
705
711 QVariantMap &metadata() { return mMetadata; }
712
718 void setMetadata( const QVariantMap &metadata ) { mMetadata = metadata; }
719
724 virtual QStringList dependsOnOtherParameters() const { return QStringList(); }
725
732
738 QgsProcessingProvider *provider() const;
739
744 virtual QString toolTip() const;
745
753 bool isDynamic() const { return mIsDynamic; }
754
762 void setIsDynamic( bool dynamic ) { mIsDynamic = dynamic; }
763
770 QgsPropertyDefinition dynamicPropertyDefinition() const { return mPropertyDefinition; }
771
778 void setDynamicPropertyDefinition( const QgsPropertyDefinition &definition ) { mPropertyDefinition = definition; }
779
791 QString dynamicLayerParameterName() const { return mDynamicLayerParameterName; }
792
804 void setDynamicLayerParameterName( const QString &name ) { mDynamicLayerParameterName = name; }
805
819 QStringList additionalExpressionContextVariables() const { return mAdditionalExpressionVariables; }
820
838 void setAdditionalExpressionContextVariables( const QStringList &variables ) { mAdditionalExpressionVariables = variables; }
839
840#ifndef SIP_RUN
841
849 enum class ValueAsStringFlag : int
850 {
851 AllowMapLayerValues = 1 << 0,
852 };
854#endif
855
856 protected:
857
858#ifndef SIP_RUN
859
866 QString valueAsStringPrivate( const QVariant &value, QgsProcessingContext &context, bool &ok, ValueAsStringFlags flags ) const;
867
874 QVariant valueAsJsonObjectPrivate( const QVariant &value, QgsProcessingContext &context, ValueAsStringFlags flags ) const;
875#endif
876
883 QVariant defaultGuiValueFromSetting() const;
884
886 QString mName;
887
890
892 QString mHelp;
893
895 QVariant mDefault;
896
898 QVariant mGuiDefault;
899
902
904 QVariantMap mMetadata;
905
907 QgsProcessingAlgorithm *mAlgorithm = nullptr;
908
910 bool mIsDynamic = false;
911
914
917
920
921 // To allow access to mAlgorithm. We don't want a public setter for this!
923
924};
925
926#ifndef SIP_RUN
928#endif
929
931typedef QList< const QgsProcessingParameterDefinition * > QgsProcessingParameterDefinitions;
932
950class CORE_EXPORT QgsProcessingParameters
951{
952
953 public:
954
959 static bool isDynamic( const QVariantMap &parameters, const QString &name );
960
964 static QString parameterAsString( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
965
970 static QString parameterAsString( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
971
975 static QString parameterAsExpression( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
976
981 static QString parameterAsExpression( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
982
986 static double parameterAsDouble( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
987
992 static double parameterAsDouble( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
993
997 static int parameterAsInt( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
998
1003 static int parameterAsInt( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1004
1009 static QList<int> parameterAsInts( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1010
1015 static QList<int> parameterAsInts( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1016
1025 static QDateTime parameterAsDateTime( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1026
1035 static QDateTime parameterAsDateTime( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1036
1045 static QDate parameterAsDate( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1046
1055 static QDate parameterAsDate( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1056
1065 static QTime parameterAsTime( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1066
1075 static QTime parameterAsTime( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1076
1080 static int parameterAsEnum( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1081
1086 static int parameterAsEnum( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1087
1091 static QList<int> parameterAsEnums( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1092
1097 static QList<int> parameterAsEnums( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1098
1103 static QString parameterAsEnumString( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1104
1109 static QString parameterAsEnumString( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1110
1115 static QStringList parameterAsEnumStrings( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1116
1121 static QStringList parameterAsEnumStrings( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1122
1126 static bool parameterAsBool( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1127
1133 static bool parameterAsBoolean( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1134
1139 static bool parameterAsBool( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1140
1145 static bool parameterAsBoolean( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1146
1164 static QgsFeatureSink *parameterAsSink( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters,
1165 const QgsFields &fields, Qgis::WkbType geometryType, const QgsCoordinateReferenceSystem &crs,
1166 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;
1167
1187 static QgsFeatureSink *parameterAsSink( const QgsProcessingParameterDefinition *definition, const QVariant &value,
1188 const QgsFields &fields, Qgis::WkbType geometryType, const QgsCoordinateReferenceSystem &crs,
1189 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;
1190
1199 static QgsProcessingFeatureSource *parameterAsSource( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context ) SIP_FACTORY;
1200
1211 static QgsProcessingFeatureSource *parameterAsSource( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context ) SIP_FACTORY;
1212
1228 static QString parameterAsCompatibleSourceLayerPath( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters,
1229 QgsProcessingContext &context, const QStringList &compatibleFormats, const QString &preferredFormat = QString( "shp" ), QgsProcessingFeedback *feedback = nullptr );
1230
1260 static QString parameterAsCompatibleSourceLayerPathAndLayerName( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters,
1261 QgsProcessingContext &context, const QStringList &compatibleFormats, const QString &preferredFormat = QString( "shp" ), QgsProcessingFeedback *feedback = nullptr, QString *layerName SIP_OUT = nullptr );
1262
1271
1282
1290 static QgsRasterLayer *parameterAsRasterLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1291
1301 static QgsRasterLayer *parameterAsRasterLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1302
1306 static QString parameterAsOutputLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1307
1316 static QString parameterAsOutputLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, bool testOnly = false );
1317
1321 static QString parameterAsFileOutput( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1322
1327 static QString parameterAsFileOutput( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1328
1336 static QgsVectorLayer *parameterAsVectorLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1337
1347 static QgsVectorLayer *parameterAsVectorLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1348
1358 static QgsMeshLayer *parameterAsMeshLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1359
1369 static QgsMeshLayer *parameterAsMeshLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1370
1374 static QgsCoordinateReferenceSystem parameterAsCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1375
1380 static QgsCoordinateReferenceSystem parameterAsCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1381
1391 static QgsRectangle parameterAsExtent( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context,
1393
1405 static QgsRectangle parameterAsExtent( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context,
1407
1419 static QgsGeometry parameterAsExtentGeometry( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context,
1421
1427 static QgsCoordinateReferenceSystem parameterAsExtentCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1428
1434 static QgsCoordinateReferenceSystem parameterAsExtentCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1435
1436
1444 static QgsPointXY parameterAsPoint( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context,
1446
1455 static QgsPointXY parameterAsPoint( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context,
1457
1463 static QgsCoordinateReferenceSystem parameterAsPointCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1464
1471 static QgsCoordinateReferenceSystem parameterAsPointCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1472
1478 static QgsGeometry parameterAsGeometry( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem() );
1479
1485 static QgsGeometry parameterAsGeometry( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem() );
1486
1493 static QgsCoordinateReferenceSystem parameterAsGeometryCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1494
1501 static QgsCoordinateReferenceSystem parameterAsGeometryCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1502
1506 static QString parameterAsFile( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1507
1512 static QString parameterAsFile( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1513
1518 static QVariantList parameterAsMatrix( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1519
1525 static QVariantList parameterAsMatrix( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1526
1531 static QList< QgsMapLayer *> parameterAsLayerList( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsProcessing::LayerOptionsFlags flags = QgsProcessing::LayerOptionsFlags() );
1532
1538 static QList< QgsMapLayer *> parameterAsLayerList( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, QgsProcessing::LayerOptionsFlags flags = QgsProcessing::LayerOptionsFlags() );
1539
1545 static QStringList parameterAsFileList( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1546
1552 static QStringList parameterAsFileList( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1553
1557 static QList<double> parameterAsRange( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1558
1563 static QList<double> parameterAsRange( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1564
1570 Q_DECL_DEPRECATED static QStringList parameterAsFields( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context ) SIP_DEPRECATED;
1571
1578 Q_DECL_DEPRECATED static QStringList parameterAsFields( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context ) SIP_DEPRECATED;
1579
1585 static QStringList parameterAsStrings( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1586
1592 static QStringList parameterAsStrings( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1593
1602 static QgsPrintLayout *parameterAsLayout( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1603
1612 static QgsPrintLayout *parameterAsLayout( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1613
1622 static QgsLayoutItem *parameterAsLayoutItem( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsPrintLayout *layout );
1623
1632 static QgsLayoutItem *parameterAsLayoutItem( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, QgsPrintLayout *layout );
1633
1639 static QColor parameterAsColor( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1640
1646 static QColor parameterAsColor( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1647
1653 static QString parameterAsConnectionName( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1654
1660 static QString parameterAsConnectionName( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1661
1667 static QString parameterAsSchema( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1668
1674 static QString parameterAsSchema( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1675
1681 static QString parameterAsDatabaseTableName( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1682
1688 static QString parameterAsDatabaseTableName( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1689
1700 static QgsPointCloudLayer *parameterAsPointCloudLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsProcessing::LayerOptionsFlags flags = QgsProcessing::LayerOptionsFlags() );
1701
1712 static QgsPointCloudLayer *parameterAsPointCloudLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, QgsProcessing::LayerOptionsFlags flags = QgsProcessing::LayerOptionsFlags() );
1713
1727 static QgsAnnotationLayer *parameterAsAnnotationLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1728
1742 static QgsAnnotationLayer *parameterAsAnnotationLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1743
1749 static QgsProcessingParameterDefinition *parameterFromVariantMap( const QVariantMap &map ) SIP_FACTORY;
1750
1754 static QString descriptionFromName( const QString &name );
1755
1761 static QgsProcessingParameterDefinition *parameterFromScriptCode( const QString &code ) SIP_FACTORY;
1762
1763 private:
1764
1765 static bool parseScriptCodeParameterOptions( const QString &code, bool &isOptional, QString &name, QString &type, QString &definition );
1766};
1767
1768
1769
1776{
1777 public:
1778
1782 QgsProcessingParameterBoolean( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1783 bool optional = false );
1784
1788 static QString typeName() { return QStringLiteral( "boolean" ); }
1789 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1790 QString type() const override { return typeName(); }
1791 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1792 QString asScriptCode() const override;
1793
1797 static QgsProcessingParameterBoolean *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1798};
1799
1806{
1807 public:
1808
1812 QgsProcessingParameterCrs( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1813 bool optional = false );
1814
1818 static QString typeName() { return QStringLiteral( "crs" ); }
1819 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1820 QString type() const override { return typeName(); }
1821 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1822 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1823 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
1824 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
1825
1829 static QgsProcessingParameterCrs *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1830
1831};
1832
1839{
1840 public:
1841
1845 QgsProcessingParameterExtent( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1846 bool optional = false );
1847
1851 static QString typeName() { return QStringLiteral( "extent" ); }
1852 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1853 QString type() const override { return typeName(); }
1854 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1855 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1856 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
1857 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
1858
1862 static QgsProcessingParameterExtent *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1863
1864 private:
1865
1871 static bool variantIsValidStringForExtent( const QVariant &value );
1872
1873};
1874
1875
1882{
1883 public:
1884
1888 QgsProcessingParameterPoint( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1889 bool optional = false );
1890
1894 static QString typeName() { return QStringLiteral( "point" ); }
1895 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1896 QString type() const override { return typeName(); }
1897 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1898 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1899
1903 static QgsProcessingParameterPoint *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1904
1905};
1906
1914{
1915 public:
1916
1924 QgsProcessingParameterGeometry( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false, const QList< int > &geometryTypes = QList< int >(), bool allowMultipart = true );
1925
1929 static QString typeName() { return QStringLiteral( "geometry" ); }
1930 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1931 QString type() const override { return typeName(); }
1932 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1933 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1934 QString asScriptCode() const override;
1936 QVariantMap toVariantMap() const override;
1937 bool fromVariantMap( const QVariantMap &map ) override;
1938
1943 QList<int> geometryTypes() const { return mGeomTypes; }
1944
1949 void setGeometryTypes( const QList<int> &geometryTypes ) { mGeomTypes = geometryTypes; }
1950
1955 bool allowMultipart() const { return mAllowMultipart; }
1956
1961 void setAllowMultipart( bool allowMultipart ) { mAllowMultipart = allowMultipart; }
1962
1963
1964
1968 static QgsProcessingParameterGeometry *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1969
1970 private:
1971
1972 QList<int> mGeomTypes;
1973 bool mAllowMultipart;
1974
1975};
1976
1983{
1984 public:
1985
1993 QgsProcessingParameterFile( const QString &name, const QString &description = QString(), Qgis::ProcessingFileParameterBehavior behavior = Qgis::ProcessingFileParameterBehavior::File, const QString &extension = QString(), const QVariant &defaultValue = QVariant(),
1994 bool optional = false, const QString &fileFilter = QString() );
1995
1999 static QString typeName() { return QStringLiteral( "file" ); }
2000 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2001 QString type() const override { return typeName(); }
2002 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2003 QString asScriptCode() const override;
2005 QString createFileFilter() const override;
2006
2012
2017 void setBehavior( Qgis::ProcessingFileParameterBehavior behavior ) { mBehavior = behavior; }
2018
2026 QString extension() const { return mExtension; }
2027
2037 void setExtension( const QString &extension );
2038
2045 QString fileFilter() const;
2046
2056 void setFileFilter( const QString &filter );
2057
2058 QVariantMap toVariantMap() const override;
2059 bool fromVariantMap( const QVariantMap &map ) override;
2060
2064 static QgsProcessingParameterFile *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition, Qgis::ProcessingFileParameterBehavior behavior = Qgis::ProcessingFileParameterBehavior::File ) SIP_FACTORY;
2065
2066 private:
2067
2069 QString mExtension;
2070 QString mFileFilter;
2071};
2072
2079{
2080 public:
2081
2085 QgsProcessingParameterMatrix( const QString &name, const QString &description = QString(), int numberRows = 3,
2086 bool hasFixedNumberRows = false, const QStringList &headers = QStringList(),
2087 const QVariant &defaultValue = QVariant(),
2088 bool optional = false );
2089
2093 static QString typeName() { return QStringLiteral( "matrix" ); }
2094 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2095 QString type() const override { return typeName(); }
2096 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2097 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2099
2104 QStringList headers() const;
2105
2110 void setHeaders( const QStringList &headers );
2111
2118 int numberRows() const;
2119
2126 void setNumberRows( int rows );
2127
2133 bool hasFixedNumberRows() const;
2134
2140 void setHasFixedNumberRows( bool hasFixedNumberRows );
2141
2142 QVariantMap toVariantMap() const override;
2143 bool fromVariantMap( const QVariantMap &map ) override;
2144
2148 static QgsProcessingParameterMatrix *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2149
2150 private:
2151
2152 QStringList mHeaders;
2153 int mNumberRows = 3;
2154 bool mFixedNumberRows = false;
2155
2156};
2157
2164{
2165 public:
2166
2170 QgsProcessingParameterMultipleLayers( const QString &name, const QString &description = QString(), Qgis::ProcessingSourceType layerType = Qgis::ProcessingSourceType::VectorAnyGeometry,
2171 const QVariant &defaultValue = QVariant(),
2172 bool optional = false );
2173
2177 static QString typeName() { return QStringLiteral( "multilayer" ); }
2178 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2179 QString type() const override { return typeName(); }
2180 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2181 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2182 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2183 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2184 QString asScriptCode() const override;
2186 QString createFileFilter() const override;
2187
2192 Qgis::ProcessingSourceType layerType() const;
2193
2198 void setLayerType( Qgis::ProcessingSourceType type );
2199
2205 int minimumNumberInputs() const;
2206
2212 void setMinimumNumberInputs( int minimum );
2213
2214 QVariantMap toVariantMap() const override;
2215 bool fromVariantMap( const QVariantMap &map ) override;
2216
2220 static QgsProcessingParameterMultipleLayers *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2221
2222 private:
2223
2225 int mMinimumNumberInputs = 0;
2226
2227};
2228
2247{
2248 public:
2249
2253 explicit QgsProcessingParameterNumber( const QString &name, const QString &description = QString(),
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;
2271
2276 double minimum() const;
2277
2282 void setMinimum( double minimum );
2283
2288 double maximum() const;
2289
2294 void setMaximum( double maximum );
2295
2300 Qgis::ProcessingNumberParameterType dataType() const;
2301
2306 void setDataType( Qgis::ProcessingNumberParameterType 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();
2321};
2322
2345{
2346 public:
2347
2351 explicit QgsProcessingParameterDistance( const QString &name, const QString &description = QString(),
2352 const QVariant &defaultValue = QVariant(),
2353 const QString &parentParameterName = QString(),
2354 bool optional = false,
2355 double minValue = std::numeric_limits<double>::lowest() + 1,
2356 double maxValue = std::numeric_limits<double>::max() );
2357
2361 static QString typeName() { return QStringLiteral( "distance" ); } // cppcheck-suppress duplInheritedMember
2362
2363 QgsProcessingParameterDistance *clone() const override SIP_FACTORY;
2364
2365 QString type() const override;
2366 QStringList dependsOnOtherParameters() const override;
2367 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2368
2373 QString parentParameterName() const;
2374
2379 void setParentParameterName( const QString &parentParameterName );
2380
2387 Qgis::DistanceUnit defaultUnit() const { return mDefaultUnit; }
2388
2395 void setDefaultUnit( Qgis::DistanceUnit unit ) { mDefaultUnit = unit; }
2396
2397 QVariantMap toVariantMap() const override;
2398 bool fromVariantMap( const QVariantMap &map ) override;
2399
2400 private:
2401
2402 QString mParentParameterName;
2404
2405};
2406
2407
2430{
2431 public:
2432
2436 explicit QgsProcessingParameterArea( const QString &name, const QString &description = QString(),
2437 const QVariant &defaultValue = QVariant(),
2438 const QString &parentParameterName = QString(),
2439 bool optional = false,
2440 double minValue = 0,
2441 double maxValue = std::numeric_limits<double>::max() );
2442
2446 static QString typeName() { return QStringLiteral( "area" ); } // cppcheck-suppress duplInheritedMember
2447
2448 QgsProcessingParameterArea *clone() const override SIP_FACTORY;
2449
2450 QString type() const override;
2451 QStringList dependsOnOtherParameters() const override;
2452 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2453
2458 QString parentParameterName() const;
2459
2464 void setParentParameterName( const QString &parentParameterName );
2465
2471 Qgis::AreaUnit defaultUnit() const { return mDefaultUnit; }
2472
2478 void setDefaultUnit( Qgis::AreaUnit unit ) { mDefaultUnit = unit; }
2479
2480 QVariantMap toVariantMap() const override;
2481 bool fromVariantMap( const QVariantMap &map ) override;
2482
2483 private:
2484
2485 QString mParentParameterName;
2487
2488};
2489
2490
2513{
2514 public:
2515
2519 explicit QgsProcessingParameterVolume( const QString &name, const QString &description = QString(),
2520 const QVariant &defaultValue = QVariant(),
2521 const QString &parentParameterName = QString(),
2522 bool optional = false,
2523 double minValue = 0,
2524 double maxValue = std::numeric_limits<double>::max() );
2525
2529 static QString typeName() { return QStringLiteral( "volume" ); } // cppcheck-suppress duplInheritedMember
2530
2531 QgsProcessingParameterVolume *clone() const override SIP_FACTORY;
2532
2533 QString type() const override;
2534 QStringList dependsOnOtherParameters() const override;
2535 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2536
2541 QString parentParameterName() const;
2542
2547 void setParentParameterName( const QString &parentParameterName );
2548
2554 Qgis::VolumeUnit defaultUnit() const { return mDefaultUnit; }
2555
2561 void setDefaultUnit( Qgis::VolumeUnit unit ) { mDefaultUnit = unit; }
2562
2563 QVariantMap toVariantMap() const override;
2564 bool fromVariantMap( const QVariantMap &map ) override;
2565
2566 private:
2567
2568 QString mParentParameterName;
2570
2571};
2572
2573
2583{
2584 public:
2585
2589 explicit QgsProcessingParameterDuration( const QString &name, const QString &description = QString(),
2590 const QVariant &defaultValue = QVariant(),
2591 bool optional = false,
2592 double minValue = std::numeric_limits<double>::lowest() + 1,
2593 double maxValue = std::numeric_limits<double>::max() );
2594
2598 static QString typeName() { return QStringLiteral( "duration" ); } // cppcheck-suppress duplInheritedMember
2599
2600 QgsProcessingParameterDuration *clone() const override SIP_FACTORY;
2601
2602 QString type() const override;
2603 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2604
2610 Qgis::TemporalUnit defaultUnit() const { return mDefaultUnit; }
2611
2617 void setDefaultUnit( Qgis::TemporalUnit unit ) { mDefaultUnit = unit; }
2618
2619 QVariantMap toVariantMap() const override;
2620 bool fromVariantMap( const QVariantMap &map ) override;
2621
2622 private:
2623
2625
2626};
2627
2639{
2640 public:
2641
2645 explicit QgsProcessingParameterScale( const QString &name, const QString &description = QString(),
2646 const QVariant &defaultValue = QVariant(),
2647 bool optional = false );
2648
2652 static QString typeName() { return QStringLiteral( "scale" ); } // cppcheck-suppress duplInheritedMember
2653
2654 QgsProcessingParameterScale *clone() const override SIP_FACTORY;
2655
2656 QString type() const override;
2657 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2658
2662 static QgsProcessingParameterScale *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY; // cppcheck-suppress duplInheritedMember
2663
2664};
2665
2672{
2673 public:
2674
2678 QgsProcessingParameterRange( const QString &name, const QString &description = QString(),
2680 const QVariant &defaultValue = QVariant(),
2681 bool optional = false );
2682
2686 static QString typeName() { return QStringLiteral( "range" ); }
2687 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2688 QString type() const override { return typeName(); }
2689 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2690 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2692
2697 Qgis::ProcessingNumberParameterType dataType() const;
2698
2703 void setDataType( Qgis::ProcessingNumberParameterType dataType );
2704
2705 QVariantMap toVariantMap() const override;
2706 bool fromVariantMap( const QVariantMap &map ) override;
2707
2711 static QgsProcessingParameterRange *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2712
2713 private:
2714
2716};
2717
2724{
2725 public:
2726
2730 QgsProcessingParameterRasterLayer( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2731 bool optional = false );
2732
2736 static QString typeName() { return QStringLiteral( "raster" ); }
2737 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2738 QString type() const override { return typeName(); }
2739 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2740 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2741 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2742 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2743 QString createFileFilter() const override;
2744
2748 static QgsProcessingParameterRasterLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2749
2750};
2751
2770{
2771 public:
2772
2776 QgsProcessingParameterEnum( const QString &name, const QString &description = QString(), const QStringList &options = QStringList(),
2777 bool allowMultiple = false,
2778 const QVariant &defaultValue = QVariant(),
2779 bool optional = false,
2780 bool usesStaticStrings = false );
2781
2785 static QString typeName() { return QStringLiteral( "enum" ); }
2786 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2787 QString type() const override { return typeName(); }
2788 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2789 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2790 QString valueAsPythonComment( const QVariant &value, QgsProcessingContext &context ) const override;
2791 QString asScriptCode() const override;
2793
2798 QStringList options() const;
2799
2804 void setOptions( const QStringList &options );
2805
2810 bool allowMultiple() const;
2811
2816 void setAllowMultiple( bool allowMultiple );
2817
2824 bool usesStaticStrings() const;
2825
2832 void setUsesStaticStrings( bool usesStaticStrings );
2833
2834 QVariantMap toVariantMap() const override;
2835 bool fromVariantMap( const QVariantMap &map ) override;
2836
2840 static QgsProcessingParameterEnum *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2841
2842 private:
2843
2844 QStringList mOptions;
2845 bool mAllowMultiple = false;
2846 bool mUsesStaticStrings = false;
2847};
2848
2876{
2877 public:
2878
2882 QgsProcessingParameterString( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2883 bool multiLine = false,
2884 bool optional = false );
2885
2889 static QString typeName() { return QStringLiteral( "string" ); }
2890 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2891 QString type() const override { return typeName(); }
2892 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2893 QString asScriptCode() const override;
2895
2900 bool multiLine() const;
2901
2906 void setMultiLine( bool multiLine );
2907
2908 QVariantMap toVariantMap() const override;
2909 bool fromVariantMap( const QVariantMap &map ) override;
2910
2914 static QgsProcessingParameterString *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2915
2916 private:
2917
2918 bool mMultiLine = false;
2919
2920};
2921
2922
2936{
2937 public:
2938
2942 QgsProcessingParameterAuthConfig( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2943 bool optional = false );
2944
2948 static QString typeName() { return QStringLiteral( "authcfg" ); }
2949 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2950 QString type() const override { return typeName(); }
2951 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2952 QString asScriptCode() const override;
2953
2957 static QgsProcessingParameterAuthConfig *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2958
2959};
2960
2967{
2968 public:
2969
2973 QgsProcessingParameterExpression( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2974 const QString &parentLayerParameterName = QString(),
2975 bool optional = false, Qgis::ExpressionType type = Qgis::ExpressionType::Qgis );
2976
2980 static QString typeName() { return QStringLiteral( "expression" ); }
2981 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2982 QString type() const override { return typeName(); }
2983 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2984 QStringList dependsOnOtherParameters() const override;
2986
2991 QString parentLayerParameterName() const;
2992
2997 void setParentLayerParameterName( const QString &parentLayerParameterName );
2998
3005 Qgis::ExpressionType expressionType() const;
3006
3013 void setExpressionType( Qgis::ExpressionType type );
3014
3015 QVariantMap toVariantMap() const override;
3016 bool fromVariantMap( const QVariantMap &map ) override;
3017
3021 static QgsProcessingParameterExpression *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3022
3023 private:
3024
3025 QString mParentLayerParameterName;
3027};
3028
3029
3036{
3037 public:
3038
3042 QgsProcessingParameterLimitedDataTypes( const QList< int > &types = QList< int >() );
3043
3048 QList< int > dataTypes() const;
3049
3054 void setDataTypes( const QList< int > &types );
3055
3056 protected:
3057
3059 QList< int > mDataTypes;
3060};
3061
3070{
3071 public:
3072
3076 QgsProcessingParameterVectorLayer( const QString &name,
3077 const QString &description = QString(),
3078 const QList< int > &types = QList< int >(),
3079 const QVariant &defaultValue = QVariant(),
3080 bool optional = false );
3081
3085 static QString typeName() { return QStringLiteral( "vector" ); }
3086 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3087 QString type() const override { return typeName(); }
3088 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3089 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3090 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
3091 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
3093 QString createFileFilter() const override;
3094
3095 QVariantMap toVariantMap() const override;
3096 bool fromVariantMap( const QVariantMap &map ) override;
3097
3101 static QgsProcessingParameterVectorLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3102
3103};
3104
3112{
3113 public:
3114
3118 QgsProcessingParameterMeshLayer( const QString &name,
3119 const QString &description = QString(),
3120 const QVariant &defaultValue = QVariant(),
3121 bool optional = false );
3122
3126 static QString typeName() { return QStringLiteral( "mesh" ); }
3127 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3128 QString type() const override { return typeName(); }
3129 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3130 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3131 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
3132 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
3133 QString createFileFilter() const override;
3134
3138 static QgsProcessingParameterMeshLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3139};
3140
3147{
3148 public:
3149
3153 QgsProcessingParameterMapLayer( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3154 bool optional = false,
3155 const QList< int > &types = QList< int >() );
3156
3160 static QString typeName() { return QStringLiteral( "layer" ); }
3161 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3162 QString type() const override { return typeName(); }
3163 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3164 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3165 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
3166 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
3167 QString asScriptCode() const override;
3169 QString createFileFilter() const override;
3170
3171 QVariantMap toVariantMap() const override;
3172 bool fromVariantMap( const QVariantMap &map ) override;
3173
3177 static QgsProcessingParameterMapLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3178
3179};
3180
3187{
3188 public:
3189
3193 QgsProcessingParameterField( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3194 const QString &parentLayerParameterName = QString(),
3196 bool allowMultiple = false,
3197 bool optional = false,
3198 bool defaultToAllFields = false );
3199
3203 static QString typeName() { return QStringLiteral( "field" ); }
3204 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3205 QString type() const override { return typeName(); }
3206 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3207 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3208 QString asScriptCode() const override;
3210 QStringList dependsOnOtherParameters() const override;
3211
3216 QString parentLayerParameterName() const;
3217
3222 void setParentLayerParameterName( const QString &parentLayerParameterName );
3223
3229
3234 void setDataType( Qgis::ProcessingFieldParameterDataType type );
3235
3240 bool allowMultiple() const;
3241
3246 void setAllowMultiple( bool allowMultiple );
3247
3257 bool defaultToAllFields() const;
3258
3268 void setDefaultToAllFields( bool enabled );
3269
3270 QVariantMap toVariantMap() const override;
3271 bool fromVariantMap( const QVariantMap &map ) override;
3272
3276 static QgsProcessingParameterField *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3277
3278 private:
3279
3280 QString mParentLayerParameterName;
3282 bool mAllowMultiple = false;
3283 bool mDefaultToAllFields = false;
3284
3285};
3286
3287
3294{
3295 public:
3296
3300 QgsProcessingParameterFeatureSource( const QString &name, const QString &description = QString(),
3301 const QList< int > &types = QList< int >(),
3302 const QVariant &defaultValue = QVariant(), bool optional = false );
3303
3307 static QString typeName() { return QStringLiteral( "source" ); }
3308 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3309 QString type() const override { return typeName(); }
3310 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3311 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3312 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
3313 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
3314 QString asScriptCode() const override;
3316 QString createFileFilter() const override;
3317
3318 QVariantMap toVariantMap() const override;
3319 bool fromVariantMap( const QVariantMap &map ) override;
3320
3324 static QgsProcessingParameterFeatureSource *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3325
3326};
3327
3335{
3336 public:
3337
3344 QgsProcessingDestinationParameter( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3345 bool optional = false, bool createByDefault = true );
3346
3347 bool isDestination() const override { return true; }
3348 QVariantMap toVariantMap() const override;
3349 bool fromVariantMap( const QVariantMap &map ) override;
3351 QString createFileFilter() const override;
3352
3358
3364 bool supportsNonFileBasedOutput() const { return mSupportsNonFileBasedOutputs; }
3365
3371 void setSupportsNonFileBasedOutput( bool supportsNonFileBasedOutput ) { mSupportsNonFileBasedOutputs = supportsNonFileBasedOutput; }
3372
3377 virtual QString defaultFileExtension() const = 0;
3378
3384 virtual QString generateTemporaryDestination( const QgsProcessingContext *context = nullptr ) const;
3385
3400 virtual bool isSupportedOutputValue( const QVariant &value, QgsProcessingContext &context, QString &error SIP_OUT ) const;
3401
3407 bool createByDefault() const;
3408
3414 void setCreateByDefault( bool createByDefault );
3415
3416 protected:
3417
3426 QgsProcessingProvider *originalProvider() const { return mOriginalProvider; }
3427
3428 private:
3429
3437 QgsProcessingProvider *mOriginalProvider = nullptr;
3438
3439 bool mSupportsNonFileBasedOutputs = true;
3440 bool mCreateByDefault = true;
3441
3442 friend class QgsProcessingModelAlgorithm;
3443 friend class TestQgsProcessing;
3444 friend class TestQgsProcessingModelAlgorithm;
3445};
3446
3447
3456{
3457 public:
3458
3465 QgsProcessingParameterFeatureSink( const QString &name, const QString &description = QString(), Qgis::ProcessingSourceType type = Qgis::ProcessingSourceType::VectorAnyGeometry, const QVariant &defaultValue = QVariant(),
3466 bool optional = false, bool createByDefault = true, bool supportsAppend = false );
3467
3471 static QString typeName() { return QStringLiteral( "sink" ); }
3472 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3473 QString type() const override { return typeName(); }
3474 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3475 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3476 QString asScriptCode() const override;
3477 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3478 QString defaultFileExtension() const override;
3479 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
3480 QString createFileFilter() const override;
3481
3487 virtual QStringList supportedOutputVectorLayerExtensions() const;
3488
3493 Qgis::ProcessingSourceType dataType() const;
3494
3499 bool hasGeometry() const;
3500
3505 void setDataType( Qgis::ProcessingSourceType type );
3506
3515 bool supportsAppend() const;
3516
3525 void setSupportsAppend( bool supportsAppend );
3526
3527 QVariantMap toVariantMap() const override;
3528 bool fromVariantMap( const QVariantMap &map ) override;
3529 QString generateTemporaryDestination( const QgsProcessingContext *context = nullptr ) const override;
3530
3534 static QgsProcessingParameterFeatureSink *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3535
3536 private:
3537
3538 Qgis::ProcessingSourceType mDataType = Qgis::ProcessingSourceType::VectorAnyGeometry;
3539 bool mSupportsAppend = false;
3540};
3541
3542
3553{
3554 public:
3555
3562 QgsProcessingParameterVectorDestination( const QString &name, const QString &description = QString(), Qgis::ProcessingSourceType type = Qgis::ProcessingSourceType::VectorAnyGeometry, const QVariant &defaultValue = QVariant(),
3563 bool optional = false, bool createByDefault = true );
3564
3568 static QString typeName() { return QStringLiteral( "vectorDestination" ); }
3569 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3570 QString type() const override { return typeName(); }
3571 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3572 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3573 QString asScriptCode() const override;
3574 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3575 QString defaultFileExtension() const override;
3576 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
3577 QString createFileFilter() const override;
3578
3584 virtual QStringList supportedOutputVectorLayerExtensions() const;
3585
3590 Qgis::ProcessingSourceType dataType() const;
3591
3596 bool hasGeometry() const;
3597
3602 void setDataType( Qgis::ProcessingSourceType type );
3603
3604 QVariantMap toVariantMap() const override;
3605 bool fromVariantMap( const QVariantMap &map ) override;
3606
3610 static QgsProcessingParameterVectorDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3611
3612
3613 private:
3614
3615 Qgis::ProcessingSourceType mDataType = Qgis::ProcessingSourceType::VectorAnyGeometry;
3616};
3617
3625{
3626 public:
3627
3634 QgsProcessingParameterRasterDestination( const QString &name, const QString &description = QString(),
3635 const QVariant &defaultValue = QVariant(),
3636 bool optional = false,
3637 bool createByDefault = true );
3638
3642 static QString typeName() { return QStringLiteral( "rasterDestination" ); }
3643 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3644 QString type() const override { return typeName(); }
3645 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3646 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3647 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3648 QString defaultFileExtension() const override;
3649 QString createFileFilter() const override;
3650
3656 virtual QStringList supportedOutputRasterLayerExtensions() const;
3657
3661 static QgsProcessingParameterRasterDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3662};
3663
3685{
3686 public:
3687
3694 QgsProcessingParameterFileDestination( const QString &name, const QString &description = QString(),
3695 const QString &fileFilter = QString(),
3696 const QVariant &defaultValue = QVariant(),
3697 bool optional = false,
3698 bool createByDefault = true );
3699
3703 static QString typeName() { return QStringLiteral( "fileDestination" ); }
3704 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3705 QString type() const override { return typeName(); }
3706 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3707 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3708 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3709 QString defaultFileExtension() const override;
3710 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
3711 QString createFileFilter() const override;
3712
3717 QString fileFilter() const;
3718
3723 void setFileFilter( const QString &filter );
3724
3725 QVariantMap toVariantMap() const override;
3726 bool fromVariantMap( const QVariantMap &map ) override;
3727
3731 static QgsProcessingParameterFileDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3732
3733
3734 private:
3735
3736 QString mFileFilter;
3737};
3738
3746{
3747 public:
3748
3752 QgsProcessingParameterFolderDestination( const QString &name, const QString &description = QString(),
3753 const QVariant &defaultValue = QVariant(),
3754 bool optional = false,
3755 bool createByDefault = true );
3756
3760 static QString typeName() { return QStringLiteral( "folderDestination" ); }
3761 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3762 QString type() const override { return typeName(); }
3763 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3764 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3765 QString defaultFileExtension() const override;
3766
3770 static QgsProcessingParameterFolderDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3771
3772};
3773
3780{
3781 public:
3782
3786 QgsProcessingParameterBand( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3787 const QString &parentLayerParameterName = QString(),
3788 bool optional = false,
3789 bool allowMultiple = false );
3790
3794 static QString typeName() { return QStringLiteral( "band" ); }
3795 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3796 QString type() const override { return typeName(); }
3797 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3798 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3799 QString asScriptCode() const override;
3800 QStringList dependsOnOtherParameters() const override;
3802
3807 QString parentLayerParameterName() const;
3808
3813 void setParentLayerParameterName( const QString &parentLayerParameterName );
3814
3815 QVariantMap toVariantMap() const override;
3816 bool fromVariantMap( const QVariantMap &map ) override;
3817
3821 static QgsProcessingParameterBand *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3822
3828 bool allowMultiple() const;
3829
3835 void setAllowMultiple( bool allowMultiple );
3836
3837 private:
3838
3839 QString mParentLayerParameterName;
3840 bool mAllowMultiple = false;
3841};
3842
3855{
3856 public:
3857
3861 QgsProcessingParameterLayout( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3862 bool optional = false );
3863
3867 static QString typeName() { return QStringLiteral( "layout" ); }
3868 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3869 QString type() const override { return typeName(); }
3870 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3871 QString asScriptCode() const override;
3873
3877 static QgsProcessingParameterLayout *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3878
3879};
3880
3893{
3894 public:
3895
3899 QgsProcessingParameterLayoutItem( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3900 const QString &parentLayoutParameterName = QString(),
3901 int itemType = -1,
3902 bool optional = false );
3903
3907 static QString typeName() { return QStringLiteral( "layoutitem" ); }
3908 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3909 QString type() const override { return typeName(); }
3910 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3911 QString asScriptCode() const override;
3913 QVariantMap toVariantMap() const override;
3914 bool fromVariantMap( const QVariantMap &map ) override;
3915 QStringList dependsOnOtherParameters() const override;
3916
3920 static QgsProcessingParameterLayoutItem *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3921
3926 QString parentLayoutParameterName() const;
3927
3932 void setParentLayoutParameterName( const QString &name );
3933
3941 int itemType() const;
3942
3950 void setItemType( int type );
3951
3952 private:
3953 QString mParentLayoutParameterName;
3954 int mItemType = -1;
3955};
3956
3967{
3968 public:
3969
3975 QgsProcessingParameterColor( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3976 bool opacityEnabled = true,
3977 bool optional = false );
3978
3982 static QString typeName() { return QStringLiteral( "color" ); }
3983 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3984 QString type() const override { return typeName(); }
3985 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3986 QString asScriptCode() const override;
3988 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3989 QVariantMap toVariantMap() const override;
3990 bool fromVariantMap( const QVariantMap &map ) override;
3991
3998 bool opacityEnabled() const;
3999
4007 void setOpacityEnabled( bool enabled );
4008
4012 static QgsProcessingParameterColor *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4013
4014 private:
4015
4016 bool mAllowOpacity = true;
4017
4018};
4019
4020
4033{
4034 public:
4035
4039 QgsProcessingParameterCoordinateOperation( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
4040 const QString &sourceCrsParameterName = QString(), const QString &destinationCrsParameterName = QString(),
4041 const QVariant &staticSourceCrs = QVariant(), const QVariant &staticDestinationCrs = QVariant(),
4042 bool optional = false );
4043
4047 static QString typeName() { return QStringLiteral( "coordinateoperation" ); }
4048 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4049 QString type() const override { return typeName(); }
4050 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4051 QString asScriptCode() const override;
4053 QStringList dependsOnOtherParameters() const override;
4054
4055 QVariantMap toVariantMap() const override;
4056 bool fromVariantMap( const QVariantMap &map ) override;
4057
4061 static QgsProcessingParameterCoordinateOperation *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4062
4068 QString sourceCrsParameterName() const { return mSourceParameterName; }
4069
4075 void setSourceCrsParameterName( const QString &name ) { mSourceParameterName = name; }
4076
4082 QString destinationCrsParameterName() const { return mDestParameterName; }
4083
4089 void setDestinationCrsParameterName( const QString &name ) { mDestParameterName = name; }
4090
4096 QVariant sourceCrs() const { return mSourceCrs; }
4097
4103 void setSourceCrs( const QVariant &crs ) { mSourceCrs = crs; }
4104
4110 QVariant destinationCrs() const { return mDestCrs; }
4111
4117 void setDestinationCrs( const QVariant &crs ) { mDestCrs = crs; }
4118
4119 private:
4120 QString valueAsPythonStringPrivate( const QVariant &value, QgsProcessingContext &context, bool allowNonStringValues ) const ;
4121
4122 QString mSourceParameterName;
4123 QString mDestParameterName;
4124 QVariant mSourceCrs;
4125 QVariant mDestCrs;
4126
4127};
4128
4129
4140{
4141 public:
4142
4146 QgsProcessingParameterMapTheme( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
4147 bool optional = false );
4148
4152 static QString typeName() { return QStringLiteral( "maptheme" ); }
4153 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4154 QString type() const override { return typeName(); }
4155 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4156 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4157 QString asScriptCode() const override;
4159 QVariantMap toVariantMap() const override;
4160 bool fromVariantMap( const QVariantMap &map ) override;
4161
4165 static QgsProcessingParameterMapTheme *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4166
4167 private:
4168
4169};
4170
4171
4183{
4184 public:
4185
4189 explicit QgsProcessingParameterDateTime( const QString &name, const QString &description = QString(),
4191 const QVariant &defaultValue = QVariant(),
4192 bool optional = false,
4193 const QDateTime &minValue = QDateTime(),
4194 const QDateTime &maxValue = QDateTime()
4195 );
4196
4200 static QString typeName() { return QStringLiteral( "datetime" ); }
4201 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4202 QString type() const override { return typeName(); }
4203 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4204 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4205 QString toolTip() const override;
4207
4215 QDateTime minimum() const;
4216
4228 void setMinimum( const QDateTime &minimum );
4229
4237 QDateTime maximum() const;
4238
4250 void setMaximum( const QDateTime &maximum );
4251
4257
4262 void setDataType( Qgis::ProcessingDateTimeParameterDataType type );
4263
4264 QVariantMap toVariantMap() const override;
4265 bool fromVariantMap( const QVariantMap &map ) override;
4266
4270 static QgsProcessingParameterDateTime *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4271
4272 private:
4273
4274 QDateTime mMin;
4275 QDateTime mMax;
4277};
4278
4279
4291{
4292 public:
4293
4300 QgsProcessingParameterProviderConnection( const QString &name, const QString &description, const QString &provider, const QVariant &defaultValue = QVariant(),
4301 bool optional = false );
4302
4306 static QString typeName() { return QStringLiteral( "providerconnection" ); }
4307 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4308 QString type() const override { return typeName(); }
4309 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4310 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4311 QString asScriptCode() const override;
4313 QVariantMap toVariantMap() const override;
4314 bool fromVariantMap( const QVariantMap &map ) override;
4315
4320 QString providerId() const { return mProviderId; }
4321
4326 void setProviderId( const QString &provider ) { mProviderId = provider; }
4327
4331 static QgsProcessingParameterProviderConnection *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4332
4333 private:
4334
4335 QString mProviderId;
4336};
4337
4338
4350{
4351 public:
4352
4361 QgsProcessingParameterDatabaseSchema( const QString &name, const QString &description, const QString &connectionParameterName = QString(), const QVariant &defaultValue = QVariant(),
4362 bool optional = false );
4363
4367 static QString typeName() { return QStringLiteral( "databaseschema" ); }
4368 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4369 QString type() const override { return typeName(); }
4370 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4371 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4372 QString asScriptCode() const override;
4374 QVariantMap toVariantMap() const override;
4375 bool fromVariantMap( const QVariantMap &map ) override;
4376 QStringList dependsOnOtherParameters() const override;
4377
4382 QString parentConnectionParameterName() const;
4383
4388 void setParentConnectionParameterName( const QString &name );
4389
4393 static QgsProcessingParameterDatabaseSchema *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4394
4395 private:
4396
4397 QString mParentConnectionParameterName;
4398};
4399
4400
4414{
4415 public:
4416
4426 QgsProcessingParameterDatabaseTable( const QString &name, const QString &description,
4427 const QString &connectionParameterName = QString(),
4428 const QString &schemaParameterName = QString(),
4429 const QVariant &defaultValue = QVariant(),
4430 bool optional = false,
4431 bool allowNewTableNames = false );
4432
4436 static QString typeName() { return QStringLiteral( "databasetable" ); }
4437 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4438 QString type() const override { return typeName(); }
4439 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4440 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4441 QString asScriptCode() const override;
4443 QVariantMap toVariantMap() const override;
4444 bool fromVariantMap( const QVariantMap &map ) override;
4445 QStringList dependsOnOtherParameters() const override;
4446
4451 QString parentConnectionParameterName() const;
4452
4457 void setParentConnectionParameterName( const QString &name );
4458
4463 QString parentSchemaParameterName() const;
4464
4469 void setParentSchemaParameterName( const QString &name );
4470
4474 static QgsProcessingParameterDatabaseTable *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4475
4482 bool allowNewTableNames() const;
4483
4490 void setAllowNewTableNames( bool allowed );
4491
4492 private:
4493
4494 QString mParentConnectionParameterName;
4495 QString mParentSchemaParameterName;
4496 bool mAllowNewTableNames = false;
4497};
4498
4499
4507{
4508 public:
4509
4513 QgsProcessingParameterPointCloudLayer( const QString &name, const QString &description = QString(),
4514 const QVariant &defaultValue = QVariant(), bool optional = false );
4515
4519 static QString typeName() { return QStringLiteral( "pointcloud" ); }
4520 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4521 QString type() const override { return typeName(); }
4522 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4523 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4524 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
4525 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
4526 QString createFileFilter() const override;
4527
4531 static QgsProcessingParameterPointCloudLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4532};
4533
4534
4542{
4543 public:
4544
4548 QgsProcessingParameterAnnotationLayer( const QString &name, const QString &description = QString(),
4549 const QVariant &defaultValue = QVariant(), bool optional = false );
4550
4554 static QString typeName() { return QStringLiteral( "annotation" ); }
4555 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4556 QString type() const override { return typeName(); }
4557 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4558 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4559 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
4560 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
4561
4565 static QgsProcessingParameterAnnotationLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4566};
4567
4576{
4577 public:
4578
4585 QgsProcessingParameterPointCloudDestination( const QString &name, const QString &description = QString(),
4586 const QVariant &defaultValue = QVariant(),
4587 bool optional = false,
4588 bool createByDefault = true );
4589
4593 static QString typeName() { return QStringLiteral( "pointCloudDestination" ); }
4594 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4595 QString type() const override { return typeName(); }
4596 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4597 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4598 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
4599 QString defaultFileExtension() const override;
4600 QString createFileFilter() const override;
4601
4606 virtual QStringList supportedOutputPointCloudLayerExtensions() const;
4607
4611 static QgsProcessingParameterPointCloudDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4612};
4613
4621{
4622 public:
4623
4627 QgsProcessingParameterPointCloudAttribute( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
4628 const QString &parentLayerParameterName = QString(),
4629 bool allowMultiple = false,
4630 bool optional = false,
4631 bool defaultToAllAttributes = false );
4632
4636 static QString typeName() { return QStringLiteral( "attribute" ); }
4637 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4638 QString type() const override { return typeName(); }
4639 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4640 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4641 QString asScriptCode() const override;
4643 QStringList dependsOnOtherParameters() const override;
4644
4649 QString parentLayerParameterName() const;
4650
4655 void setParentLayerParameterName( const QString &parentLayerParameterName );
4656
4661 bool allowMultiple() const;
4662
4667 void setAllowMultiple( bool allowMultiple );
4668
4677 bool defaultToAllAttributes() const;
4678
4687 void setDefaultToAllAttributes( bool enabled );
4688
4689 QVariantMap toVariantMap() const override;
4690 bool fromVariantMap( const QVariantMap &map ) override;
4691
4695 static QgsProcessingParameterPointCloudAttribute *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4696
4697 private:
4698
4699 QString mParentLayerParameterName;
4700 bool mAllowMultiple = false;
4701 bool mDefaultToAllAttributes = false;
4702};
4703
4712{
4713 public:
4714
4721 QgsProcessingParameterVectorTileDestination( const QString &name, const QString &description = QString(),
4722 const QVariant &defaultValue = QVariant(),
4723 bool optional = false,
4724 bool createByDefault = true );
4725
4729 static QString typeName() { return QStringLiteral( "vectorTileDestination" ); }
4730 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4731 QString type() const override { return typeName(); }
4732 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4733 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4734 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
4735 QString defaultFileExtension() const override;
4736 QString createFileFilter() const override;
4737
4742 virtual QStringList supportedOutputVectorTileLayerExtensions() const;
4743
4747 static QgsProcessingParameterVectorTileDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4748};
4749
4750// clazy:excludeall=qstring-allocations
4751
4752#endif // QGSPROCESSINGPARAMETERS_H
4753
4754
Provides global constants and enumerations for use throughout the application.
Definition qgis.h:54
ProcessingSourceType
Processing data source types.
Definition qgis.h:3399
@ VectorAnyGeometry
Any vector layer with geometry.
ProcessingFileParameterBehavior
Flags which dictate the behavior of QgsProcessingParameterFile.
Definition qgis.h:3639
@ File
Parameter is a single file.
ExpressionType
Expression types.
Definition qgis.h:5322
@ Qgis
Native QGIS expression.
DistanceUnit
Units of distance.
Definition qgis.h:4843
@ Unknown
Unknown distance unit.
ProcessingFieldParameterDataType
Processing field parameter data types.
Definition qgis.h:3667
AreaUnit
Units of area.
Definition qgis.h:4920
@ Unknown
Unknown areal unit.
TemporalUnit
Temporal units.
Definition qgis.h:4989
@ Milliseconds
Milliseconds.
QFlags< ProcessingParameterFlag > ProcessingParameterFlags
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3628
VolumeUnit
Units of volume.
Definition qgis.h:4945
@ Unknown
Unknown volume unit.
InvalidGeometryCheck
Methods for handling of features with invalid geometries.
Definition qgis.h:2188
@ AbortOnInvalid
Close iterator on encountering any features with invalid geometry. This requires a slow geometry vali...
QFlags< ProcessingFeatureSourceDefinitionFlag > ProcessingFeatureSourceDefinitionFlags
Flags which control behavior for a Processing feature source.
Definition qgis.h:3550
WkbType
The WKB type describes the number of dimensions a geometry has.
Definition qgis.h:256
ProcessingDateTimeParameterDataType
Processing date time parameter data types.
Definition qgis.h:3685
ProcessingNumberParameterType
Processing numeric parameter data types.
Definition qgis.h:3653
Represents a map layer containing a set of georeferenced annotations, e.g.
Represents a coordinate reference system (CRS).
An interface for objects which accept features via addFeature(s) methods.
QFlags< SinkFlag > SinkFlags
Container of fields for a vector layer.
Definition qgsfields.h:46
Abstract interface for classes which generate a file filter string.
A geometry is the spatial representation of a feature.
Base class for graphical items within a QgsLayout.
Base class for all map layer types.
Definition qgsmaplayer.h:77
Represents a mesh layer supporting display of data on structured or unstructured meshes.
Represents a map layer supporting display of point clouds.
Represents a 2D point.
Definition qgspointxy.h:60
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.
Encapsulates settings relating to a feature source input to a processing algorithm.
bool operator!=(const QgsProcessingFeatureSourceDefinition &other) const
bool selectedFeaturesOnly
true if only selected features in the source should be used by algorithms.
bool operator==(const QgsProcessingFeatureSourceDefinition &other) const
Qgis::InvalidGeometryCheck geometryCheck
Geometry check method to apply to this source.
QgsProcessingFeatureSourceDefinition(const QgsProperty &source, bool selectedFeaturesOnly=false, long long featureLimit=-1, Qgis::ProcessingFeatureSourceDefinitionFlags flags=Qgis::ProcessingFeatureSourceDefinitionFlags(), Qgis::InvalidGeometryCheck geometryCheck=Qgis::InvalidGeometryCheck::AbortOnInvalid, const QString &filterExpression=QString())
Constructor for QgsProcessingFeatureSourceDefinition, accepting a QgsProperty source.
QgsProcessingFeatureSourceDefinition(const QString &source=QString(), bool selectedFeaturesOnly=false, long long featureLimit=-1, Qgis::ProcessingFeatureSourceDefinitionFlags flags=Qgis::ProcessingFeatureSourceDefinitionFlags(), Qgis::InvalidGeometryCheck geometryCheck=Qgis::InvalidGeometryCheck::AbortOnInvalid, const QString &filterExpression=QString())
Constructor for QgsProcessingFeatureSourceDefinition, accepting a static string source.
Qgis::ProcessingFeatureSourceDefinitionFlags flags
Flags which dictate source behavior.
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...
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 double numeric parameter for area values.
void setDefaultUnit(Qgis::AreaUnit unit)
Sets the default area unit for the parameter.
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.
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.
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.
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.
Qgis::ProcessingParameterFlags mFlags
Parameter flags.
QFlags< ValueAsStringFlag > ValueAsStringFlags
void setMetadata(const QVariantMap &metadata)
Sets the parameter's freeform metadata.
void setFlags(Qgis::ProcessingParameterFlags flags)
Sets the flags associated with the parameter.
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.
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.
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.
Qgis::ProcessingParameterFlags flags() const
Returns any flags associated with the parameter.
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....
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(Qgis::ProcessingFileParameterBehavior behavior)
Sets the parameter behavior (e.g.
Qgis::ProcessingFileParameterBehavior 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 Qgis::GeometryType values.
bool allowMultipart() const
Returns the parameter allow multipart geometries.
QList< int > geometryTypes() const
Returns the parameter allowed geometries, as a list of Qgis::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 attribute 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.
A vector tile layer destination parameter, for specifying the destination path for a vector tile laye...
static QString typeName()
Returns the type name for the parameter class.
static QString typeName()
Returns the type name for the parameter class.
A double numeric parameter for volume values.
static QString typeName()
Returns the type name for the parameter class.
void setDefaultUnit(Qgis::VolumeUnit unit)
Sets the default volume unit for the parameter.
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.
QFlags< LayerOptionsFlag > LayerOptionsFlags
PythonOutputType
Available Python output types.
@ PythonQgsProcessingAlgorithmSubclass
Full Python QgsProcessingAlgorithm subclass.
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition qgsproject.h:107
Definition for a property.
Definition qgsproperty.h:45
A store for object properties.
Represents a raster layer.
A rectangle specified with double values.
Defines the parameters used to remap features when creating a QgsRemappingProxyFeatureSink.
Represents a vector layer which manages a vector based dataset.
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:191
#define SIP_DEPRECATED
Definition qgis_sip.h:106
#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:203
#define SIP_END
Definition qgis_sip.h:208
Q_DECLARE_METATYPE(QgsDatabaseQueryLogEntry)
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
bool operator!=(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
QList< const QgsProcessingParameterDefinition * > QgsProcessingParameterDefinitions
List of processing parameters.
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsTextRendererUtils::CurvedTextFlags)
const QgsCoordinateReferenceSystem & crs
const QString & typeName