QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
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() == QgsProcessingParameterDuration::typeName() )
369 sipType = sipType_QgsProcessingParameterDuration;
370 else if ( sipCpp->type() == QgsProcessingParameterScale::typeName() )
371 sipType = sipType_QgsProcessingParameterScale;
372 else if ( sipCpp->type() == QgsProcessingParameterRange::typeName() )
373 sipType = sipType_QgsProcessingParameterRange;
374 else if ( sipCpp->type() == QgsProcessingParameterRasterLayer::typeName() )
375 sipType = sipType_QgsProcessingParameterRasterLayer;
376 else if ( sipCpp->type() == QgsProcessingParameterMeshLayer::typeName() )
377 sipType = sipType_QgsProcessingParameterMeshLayer;
378 else if ( sipCpp->type() == QgsProcessingParameterEnum::typeName() )
379 sipType = sipType_QgsProcessingParameterEnum;
380 else if ( sipCpp->type() == QgsProcessingParameterString::typeName() )
381 sipType = sipType_QgsProcessingParameterString;
382 else if ( sipCpp->type() == QgsProcessingParameterExpression::typeName() )
383 sipType = sipType_QgsProcessingParameterExpression;
384 else if ( sipCpp->type() == QgsProcessingParameterAuthConfig::typeName() )
385 sipType = sipType_QgsProcessingParameterAuthConfig;
386 else if ( sipCpp->type() == QgsProcessingParameterVectorLayer::typeName() )
387 sipType = sipType_QgsProcessingParameterVectorLayer;
388 else if ( sipCpp->type() == QgsProcessingParameterField::typeName() )
389 sipType = sipType_QgsProcessingParameterField;
390 else if ( sipCpp->type() == QgsProcessingParameterFeatureSource::typeName() )
391 sipType = sipType_QgsProcessingParameterFeatureSource;
392 else if ( sipCpp->type() == QgsProcessingParameterFeatureSink::typeName() )
393 sipType = sipType_QgsProcessingParameterFeatureSink;
394 else if ( sipCpp->type() == QgsProcessingParameterVectorDestination::typeName() )
395 sipType = sipType_QgsProcessingParameterVectorDestination;
396 else if ( sipCpp->type() == QgsProcessingParameterRasterDestination::typeName() )
397 sipType = sipType_QgsProcessingParameterRasterDestination;
398 else if ( sipCpp->type() == QgsProcessingParameterPointCloudDestination::typeName() )
399 sipType = sipType_QgsProcessingParameterPointCloudDestination;
400 else if ( sipCpp->type() == QgsProcessingParameterFileDestination::typeName() )
401 sipType = sipType_QgsProcessingParameterFileDestination;
402 else if ( sipCpp->type() == QgsProcessingParameterFolderDestination::typeName() )
403 sipType = sipType_QgsProcessingParameterFolderDestination;
404 else if ( sipCpp->type() == QgsProcessingParameterBand::typeName() )
405 sipType = sipType_QgsProcessingParameterBand;
406 else if ( sipCpp->type() == QgsProcessingParameterLayout::typeName() )
407 sipType = sipType_QgsProcessingParameterLayout;
408 else if ( sipCpp->type() == QgsProcessingParameterLayoutItem::typeName() )
409 sipType = sipType_QgsProcessingParameterLayoutItem;
410 else if ( sipCpp->type() == QgsProcessingParameterColor::typeName() )
411 sipType = sipType_QgsProcessingParameterColor;
412 else if ( sipCpp->type() == QgsProcessingParameterCoordinateOperation::typeName() )
413 sipType = sipType_QgsProcessingParameterCoordinateOperation;
414 else if ( sipCpp->type() == QgsProcessingParameterMapTheme::typeName() )
415 sipType = sipType_QgsProcessingParameterMapTheme;
416 else if ( sipCpp->type() == QgsProcessingParameterDateTime::typeName() )
417 sipType = sipType_QgsProcessingParameterDateTime;
418 else if ( sipCpp->type() == QgsProcessingParameterProviderConnection::typeName() )
419 sipType = sipType_QgsProcessingParameterProviderConnection;
420 else if ( sipCpp->type() == QgsProcessingParameterDatabaseSchema::typeName() )
421 sipType = sipType_QgsProcessingParameterDatabaseSchema;
422 else if ( sipCpp->type() == QgsProcessingParameterDatabaseTable::typeName() )
423 sipType = sipType_QgsProcessingParameterDatabaseTable;
424 else if ( sipCpp->type() == QgsProcessingParameterFieldMapping::typeName() )
425 sipType = sipType_QgsProcessingParameterFieldMapping;
426 else if ( sipCpp->type() == QgsProcessingParameterTinInputLayers::typeName() )
427 sipType = sipType_QgsProcessingParameterTinInputLayers;
428 else if ( sipCpp->type() == QgsProcessingParameterVectorTileWriterLayers::typeName() )
429 sipType = sipType_QgsProcessingParameterVectorTileWriterLayers;
430 else if ( sipCpp->type() == QgsProcessingParameterDxfLayers::typeName() )
431 sipType = sipType_QgsProcessingParameterDxfLayers;
432 else if ( sipCpp->type() == QgsProcessingParameterMeshDatasetGroups::typeName() )
433 sipType = sipType_QgsProcessingParameterMeshDatasetGroups;
434 else if ( sipCpp->type() == QgsProcessingParameterMeshDatasetTime::typeName() )
435 sipType = sipType_QgsProcessingParameterMeshDatasetTime;
436 else if ( sipCpp->type() == QgsProcessingParameterPointCloudLayer::typeName() )
437 sipType = sipType_QgsProcessingParameterPointCloudLayer;
438 else if ( sipCpp->type() == QgsProcessingParameterAnnotationLayer::typeName() )
439 sipType = sipType_QgsProcessingParameterAnnotationLayer;
440 else if ( sipCpp->type() == QgsProcessingParameterPointCloudAttribute::typeName() )
441 sipType = sipType_QgsProcessingParameterPointCloudAttribute;
442 else if ( sipCpp->type() == QgsProcessingParameterVectorTileDestination::typeName() )
443 sipType = sipType_QgsProcessingParameterVectorTileDestination;
444 else
445 sipType = nullptr;
446 SIP_END
447#endif
448
449 public:
450
454 QgsProcessingParameterDefinition( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
455 bool optional = false, const QString &help = QString() );
456
458
463
467 virtual QString type() const = 0;
468
474 virtual bool isDestination() const { return false; }
475
481 QString name() const { return mName; }
482
488 void setName( const QString &name ) { mName = name; }
489
495 QString description() const { return mDescription; }
496
502 void setDescription( const QString &description ) { mDescription = description; }
503
513 QString help() const { return mHelp; }
514
524 void setHelp( const QString &help ) { mHelp = help; }
525
532 QVariant defaultValue() const { return mDefault; }
533
540 void setDefaultValue( const QVariant &value ) { mDefault = value; }
541
554 QVariant guiDefaultValueOverride() const;
555
571 void setGuiDefaultValueOverride( const QVariant &value ) { mGuiDefault = value; }
572
581 QVariant defaultValueForGui() const;
582
587 Qgis::ProcessingParameterFlags flags() const { return mFlags; }
588
593 void setFlags( Qgis::ProcessingParameterFlags flags ) { mFlags = flags; }
594
602 virtual bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const;
603
611 virtual QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const;
612
624 virtual QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const;
625
639 virtual QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const;
640
654 virtual QStringList valueAsStringList( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const;
655
661 virtual QString valueAsPythonComment( const QVariant &value, QgsProcessingContext &context ) const;
662
667 virtual QString asScriptCode() const;
668
679
685 virtual QVariantMap toVariantMap() const;
686
692 virtual bool fromVariantMap( const QVariantMap &map );
693
700 SIP_SKIP QVariantMap metadata() const { return mMetadata; }
701
707 QVariantMap &metadata() { return mMetadata; }
708
714 void setMetadata( const QVariantMap &metadata ) { mMetadata = metadata; }
715
720 virtual QStringList dependsOnOtherParameters() const { return QStringList(); }
721
728
734 QgsProcessingProvider *provider() const;
735
740 virtual QString toolTip() const;
741
749 bool isDynamic() const { return mIsDynamic; }
750
758 void setIsDynamic( bool dynamic ) { mIsDynamic = dynamic; }
759
766 QgsPropertyDefinition dynamicPropertyDefinition() const { return mPropertyDefinition; }
767
774 void setDynamicPropertyDefinition( const QgsPropertyDefinition &definition ) { mPropertyDefinition = definition; }
775
787 QString dynamicLayerParameterName() const { return mDynamicLayerParameterName; }
788
800 void setDynamicLayerParameterName( const QString &name ) { mDynamicLayerParameterName = name; }
801
815 QStringList additionalExpressionContextVariables() const { return mAdditionalExpressionVariables; }
816
834 void setAdditionalExpressionContextVariables( const QStringList &variables ) { mAdditionalExpressionVariables = variables; }
835
836#ifndef SIP_RUN
837
845 enum class ValueAsStringFlag : int
846 {
847 AllowMapLayerValues = 1 << 0,
848 };
850#endif
851
852 protected:
853
854#ifndef SIP_RUN
855
862 QString valueAsStringPrivate( const QVariant &value, QgsProcessingContext &context, bool &ok, ValueAsStringFlags flags ) const;
863
870 QVariant valueAsJsonObjectPrivate( const QVariant &value, QgsProcessingContext &context, ValueAsStringFlags flags ) const;
871#endif
872
879 QVariant defaultGuiValueFromSetting() const;
880
882 QString mName;
883
886
888 QString mHelp;
889
891 QVariant mDefault;
892
894 QVariant mGuiDefault;
895
898
900 QVariantMap mMetadata;
901
903 QgsProcessingAlgorithm *mAlgorithm = nullptr;
904
906 bool mIsDynamic = false;
907
910
913
916
917 // To allow access to mAlgorithm. We don't want a public setter for this!
919
920};
921
922#ifndef SIP_RUN
924#endif
925
927typedef QList< const QgsProcessingParameterDefinition * > QgsProcessingParameterDefinitions;
928
946class CORE_EXPORT QgsProcessingParameters
947{
948
949 public:
950
955 static bool isDynamic( const QVariantMap &parameters, const QString &name );
956
960 static QString parameterAsString( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
961
966 static QString parameterAsString( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
967
971 static QString parameterAsExpression( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
972
977 static QString parameterAsExpression( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
978
982 static double parameterAsDouble( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
983
988 static double parameterAsDouble( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
989
993 static int parameterAsInt( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
994
999 static int parameterAsInt( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1000
1005 static QList<int> parameterAsInts( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1006
1011 static QList<int> parameterAsInts( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1012
1021 static QDateTime parameterAsDateTime( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1022
1031 static QDateTime parameterAsDateTime( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1032
1041 static QDate parameterAsDate( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1042
1051 static QDate parameterAsDate( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1052
1061 static QTime parameterAsTime( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1062
1071 static QTime parameterAsTime( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1072
1076 static int parameterAsEnum( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1077
1082 static int parameterAsEnum( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1083
1087 static QList<int> parameterAsEnums( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1088
1093 static QList<int> parameterAsEnums( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1094
1099 static QString parameterAsEnumString( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1100
1105 static QString parameterAsEnumString( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1106
1111 static QStringList parameterAsEnumStrings( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1112
1117 static QStringList parameterAsEnumStrings( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1118
1122 static bool parameterAsBool( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1123
1129 static bool parameterAsBoolean( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1130
1135 static bool parameterAsBool( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1136
1141 static bool parameterAsBoolean( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1142
1160 static QgsFeatureSink *parameterAsSink( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters,
1161 const QgsFields &fields, Qgis::WkbType geometryType, const QgsCoordinateReferenceSystem &crs,
1162 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;
1163
1183 static QgsFeatureSink *parameterAsSink( const QgsProcessingParameterDefinition *definition, const QVariant &value,
1184 const QgsFields &fields, Qgis::WkbType geometryType, const QgsCoordinateReferenceSystem &crs,
1185 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;
1186
1195 static QgsProcessingFeatureSource *parameterAsSource( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context ) SIP_FACTORY;
1196
1207 static QgsProcessingFeatureSource *parameterAsSource( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context ) SIP_FACTORY;
1208
1224 static QString parameterAsCompatibleSourceLayerPath( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters,
1225 QgsProcessingContext &context, const QStringList &compatibleFormats, const QString &preferredFormat = QString( "shp" ), QgsProcessingFeedback *feedback = nullptr );
1226
1256 static QString parameterAsCompatibleSourceLayerPathAndLayerName( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters,
1257 QgsProcessingContext &context, const QStringList &compatibleFormats, const QString &preferredFormat = QString( "shp" ), QgsProcessingFeedback *feedback = nullptr, QString *layerName SIP_OUT = nullptr );
1258
1267
1278
1286 static QgsRasterLayer *parameterAsRasterLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1287
1297 static QgsRasterLayer *parameterAsRasterLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1298
1302 static QString parameterAsOutputLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1303
1308 static QString parameterAsOutputLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1309
1313 static QString parameterAsFileOutput( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1314
1319 static QString parameterAsFileOutput( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1320
1328 static QgsVectorLayer *parameterAsVectorLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1329
1339 static QgsVectorLayer *parameterAsVectorLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1340
1350 static QgsMeshLayer *parameterAsMeshLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1351
1361 static QgsMeshLayer *parameterAsMeshLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1362
1366 static QgsCoordinateReferenceSystem parameterAsCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1367
1372 static QgsCoordinateReferenceSystem parameterAsCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1373
1383 static QgsRectangle parameterAsExtent( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context,
1385
1397 static QgsRectangle parameterAsExtent( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context,
1399
1411 static QgsGeometry parameterAsExtentGeometry( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context,
1413
1419 static QgsCoordinateReferenceSystem parameterAsExtentCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1420
1426 static QgsCoordinateReferenceSystem parameterAsExtentCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1427
1428
1436 static QgsPointXY parameterAsPoint( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context,
1438
1447 static QgsPointXY parameterAsPoint( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context,
1449
1455 static QgsCoordinateReferenceSystem parameterAsPointCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1456
1463 static QgsCoordinateReferenceSystem parameterAsPointCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1464
1470 static QgsGeometry parameterAsGeometry( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem() );
1471
1477 static QgsGeometry parameterAsGeometry( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem() );
1478
1485 static QgsCoordinateReferenceSystem parameterAsGeometryCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1486
1493 static QgsCoordinateReferenceSystem parameterAsGeometryCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1494
1498 static QString parameterAsFile( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1499
1504 static QString parameterAsFile( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1505
1510 static QVariantList parameterAsMatrix( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1511
1517 static QVariantList parameterAsMatrix( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1518
1523 static QList< QgsMapLayer *> parameterAsLayerList( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsProcessing::LayerOptionsFlags flags = QgsProcessing::LayerOptionsFlags() );
1524
1530 static QList< QgsMapLayer *> parameterAsLayerList( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, QgsProcessing::LayerOptionsFlags flags = QgsProcessing::LayerOptionsFlags() );
1531
1537 static QStringList parameterAsFileList( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1538
1544 static QStringList parameterAsFileList( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1545
1549 static QList<double> parameterAsRange( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1550
1555 static QList<double> parameterAsRange( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1556
1562 Q_DECL_DEPRECATED static QStringList parameterAsFields( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context ) SIP_DEPRECATED;
1563
1570 Q_DECL_DEPRECATED static QStringList parameterAsFields( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context ) SIP_DEPRECATED;
1571
1577 static QStringList parameterAsStrings( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1578
1584 static QStringList parameterAsStrings( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1585
1594 static QgsPrintLayout *parameterAsLayout( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1595
1604 static QgsPrintLayout *parameterAsLayout( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1605
1614 static QgsLayoutItem *parameterAsLayoutItem( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsPrintLayout *layout );
1615
1624 static QgsLayoutItem *parameterAsLayoutItem( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, QgsPrintLayout *layout );
1625
1631 static QColor parameterAsColor( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1632
1638 static QColor parameterAsColor( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1639
1645 static QString parameterAsConnectionName( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1646
1652 static QString parameterAsConnectionName( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1653
1659 static QString parameterAsSchema( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1660
1666 static QString parameterAsSchema( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1667
1673 static QString parameterAsDatabaseTableName( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1674
1680 static QString parameterAsDatabaseTableName( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1681
1692 static QgsPointCloudLayer *parameterAsPointCloudLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsProcessing::LayerOptionsFlags flags = QgsProcessing::LayerOptionsFlags() );
1693
1704 static QgsPointCloudLayer *parameterAsPointCloudLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, QgsProcessing::LayerOptionsFlags flags = QgsProcessing::LayerOptionsFlags() );
1705
1719 static QgsAnnotationLayer *parameterAsAnnotationLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1720
1734 static QgsAnnotationLayer *parameterAsAnnotationLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1735
1741 static QgsProcessingParameterDefinition *parameterFromVariantMap( const QVariantMap &map ) SIP_FACTORY;
1742
1746 static QString descriptionFromName( const QString &name );
1747
1753 static QgsProcessingParameterDefinition *parameterFromScriptCode( const QString &code ) SIP_FACTORY;
1754
1755 private:
1756
1757 static bool parseScriptCodeParameterOptions( const QString &code, bool &isOptional, QString &name, QString &type, QString &definition );
1758};
1759
1760
1761
1768{
1769 public:
1770
1774 QgsProcessingParameterBoolean( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1775 bool optional = false );
1776
1780 static QString typeName() { return QStringLiteral( "boolean" ); }
1781 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1782 QString type() const override { return typeName(); }
1783 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1784 QString asScriptCode() const override;
1785
1789 static QgsProcessingParameterBoolean *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1790};
1791
1798{
1799 public:
1800
1804 QgsProcessingParameterCrs( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1805 bool optional = false );
1806
1810 static QString typeName() { return QStringLiteral( "crs" ); }
1811 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1812 QString type() const override { return typeName(); }
1813 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1814 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1815 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
1816 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
1817
1821 static QgsProcessingParameterCrs *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1822
1823};
1824
1831{
1832 public:
1833
1837 QgsProcessingParameterExtent( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1838 bool optional = false );
1839
1843 static QString typeName() { return QStringLiteral( "extent" ); }
1844 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1845 QString type() const override { return typeName(); }
1846 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1847 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1848 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
1849 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
1850
1854 static QgsProcessingParameterExtent *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1855
1856};
1857
1858
1865{
1866 public:
1867
1871 QgsProcessingParameterPoint( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1872 bool optional = false );
1873
1877 static QString typeName() { return QStringLiteral( "point" ); }
1878 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1879 QString type() const override { return typeName(); }
1880 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1881 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1882
1886 static QgsProcessingParameterPoint *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1887
1888};
1889
1897{
1898 public:
1899
1907 QgsProcessingParameterGeometry( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false, const QList< int > &geometryTypes = QList< int >(), bool allowMultipart = true );
1908
1912 static QString typeName() { return QStringLiteral( "geometry" ); }
1913 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1914 QString type() const override { return typeName(); }
1915 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1916 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1917 QString asScriptCode() const override;
1919 QVariantMap toVariantMap() const override;
1920 bool fromVariantMap( const QVariantMap &map ) override;
1921
1926 QList<int> geometryTypes() const { return mGeomTypes; }
1927
1932 void setGeometryTypes( const QList<int> &geometryTypes ) { mGeomTypes = geometryTypes; }
1933
1938 bool allowMultipart() const { return mAllowMultipart; }
1939
1944 void setAllowMultipart( bool allowMultipart ) { mAllowMultipart = allowMultipart; }
1945
1946
1947
1951 static QgsProcessingParameterGeometry *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1952
1953 private:
1954
1955 QList<int> mGeomTypes;
1956 bool mAllowMultipart;
1957
1958};
1959
1966{
1967 public:
1968
1976 QgsProcessingParameterFile( const QString &name, const QString &description = QString(), Qgis::ProcessingFileParameterBehavior behavior = Qgis::ProcessingFileParameterBehavior::File, const QString &extension = QString(), const QVariant &defaultValue = QVariant(),
1977 bool optional = false, const QString &fileFilter = QString() );
1978
1982 static QString typeName() { return QStringLiteral( "file" ); }
1983 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1984 QString type() const override { return typeName(); }
1985 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1986 QString asScriptCode() const override;
1988 QString createFileFilter() const override;
1989
1995
2000 void setBehavior( Qgis::ProcessingFileParameterBehavior behavior ) { mBehavior = behavior; }
2001
2009 QString extension() const { return mExtension; }
2010
2020 void setExtension( const QString &extension );
2021
2028 QString fileFilter() const;
2029
2039 void setFileFilter( const QString &filter );
2040
2041 QVariantMap toVariantMap() const override;
2042 bool fromVariantMap( const QVariantMap &map ) override;
2043
2047 static QgsProcessingParameterFile *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition, Qgis::ProcessingFileParameterBehavior behavior = Qgis::ProcessingFileParameterBehavior::File ) SIP_FACTORY;
2048
2049 private:
2050
2052 QString mExtension;
2053 QString mFileFilter;
2054};
2055
2062{
2063 public:
2064
2068 QgsProcessingParameterMatrix( const QString &name, const QString &description = QString(), int numberRows = 3,
2069 bool hasFixedNumberRows = false, const QStringList &headers = QStringList(),
2070 const QVariant &defaultValue = QVariant(),
2071 bool optional = false );
2072
2076 static QString typeName() { return QStringLiteral( "matrix" ); }
2077 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2078 QString type() const override { return typeName(); }
2079 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2080 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2082
2087 QStringList headers() const;
2088
2093 void setHeaders( const QStringList &headers );
2094
2101 int numberRows() const;
2102
2109 void setNumberRows( int rows );
2110
2116 bool hasFixedNumberRows() const;
2117
2123 void setHasFixedNumberRows( bool hasFixedNumberRows );
2124
2125 QVariantMap toVariantMap() const override;
2126 bool fromVariantMap( const QVariantMap &map ) override;
2127
2131 static QgsProcessingParameterMatrix *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2132
2133 private:
2134
2135 QStringList mHeaders;
2136 int mNumberRows = 3;
2137 bool mFixedNumberRows = false;
2138
2139};
2140
2147{
2148 public:
2149
2153 QgsProcessingParameterMultipleLayers( const QString &name, const QString &description = QString(), Qgis::ProcessingSourceType layerType = Qgis::ProcessingSourceType::VectorAnyGeometry,
2154 const QVariant &defaultValue = QVariant(),
2155 bool optional = false );
2156
2160 static QString typeName() { return QStringLiteral( "multilayer" ); }
2161 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2162 QString type() const override { return typeName(); }
2163 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2164 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2165 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2166 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2167 QString asScriptCode() const override;
2169 QString createFileFilter() const override;
2170
2175 Qgis::ProcessingSourceType layerType() const;
2176
2181 void setLayerType( Qgis::ProcessingSourceType type );
2182
2188 int minimumNumberInputs() const;
2189
2195 void setMinimumNumberInputs( int minimum );
2196
2197 QVariantMap toVariantMap() const override;
2198 bool fromVariantMap( const QVariantMap &map ) override;
2199
2203 static QgsProcessingParameterMultipleLayers *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2204
2205 private:
2206
2208 int mMinimumNumberInputs = 0;
2209
2210};
2211
2230{
2231 public:
2232
2236 explicit QgsProcessingParameterNumber( const QString &name, const QString &description = QString(),
2238 const QVariant &defaultValue = QVariant(),
2239 bool optional = false,
2240 double minValue = std::numeric_limits<double>::lowest() + 1,
2241 double maxValue = std::numeric_limits<double>::max()
2242 );
2243
2247 static QString typeName() { return QStringLiteral( "number" ); }
2248 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2249 QString type() const override { return typeName(); }
2250 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2251 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2252 QString toolTip() const override;
2254
2259 double minimum() const;
2260
2265 void setMinimum( double minimum );
2266
2271 double maximum() const;
2272
2277 void setMaximum( double maximum );
2278
2283 Qgis::ProcessingNumberParameterType dataType() const;
2284
2289 void setDataType( Qgis::ProcessingNumberParameterType type );
2290
2291 QVariantMap toVariantMap() const override;
2292 bool fromVariantMap( const QVariantMap &map ) override;
2293
2297 static QgsProcessingParameterNumber *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2298
2299 private:
2300
2301 double mMin = std::numeric_limits<double>::lowest() + 1;
2302 double mMax = std::numeric_limits<double>::max();
2304};
2305
2326{
2327 public:
2328
2332 explicit QgsProcessingParameterDistance( const QString &name, const QString &description = QString(),
2333 const QVariant &defaultValue = QVariant(),
2334 const QString &parentParameterName = QString(),
2335 bool optional = false,
2336 double minValue = std::numeric_limits<double>::lowest() + 1,
2337 double maxValue = std::numeric_limits<double>::max() );
2338
2342 static QString typeName() { return QStringLiteral( "distance" ); }
2343
2344 QgsProcessingParameterDistance *clone() const override SIP_FACTORY;
2345
2346 QString type() const override;
2347 QStringList dependsOnOtherParameters() const override;
2348 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2349
2354 QString parentParameterName() const;
2355
2360 void setParentParameterName( const QString &parentParameterName );
2361
2368 Qgis::DistanceUnit defaultUnit() const { return mDefaultUnit; }
2369
2376 void setDefaultUnit( Qgis::DistanceUnit unit ) { mDefaultUnit = unit; }
2377
2378 QVariantMap toVariantMap() const override;
2379 bool fromVariantMap( const QVariantMap &map ) override;
2380
2381 private:
2382
2383 QString mParentParameterName;
2385
2386};
2387
2396{
2397 public:
2398
2402 explicit QgsProcessingParameterDuration( const QString &name, const QString &description = QString(),
2403 const QVariant &defaultValue = QVariant(),
2404 bool optional = false,
2405 double minValue = std::numeric_limits<double>::lowest() + 1,
2406 double maxValue = std::numeric_limits<double>::max() );
2407
2411 static QString typeName() { return QStringLiteral( "duration" ); }
2412
2413 QgsProcessingParameterDuration *clone() const override SIP_FACTORY;
2414
2415 QString type() const override;
2416 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2417
2423 Qgis::TemporalUnit defaultUnit() const { return mDefaultUnit; }
2424
2430 void setDefaultUnit( Qgis::TemporalUnit unit ) { mDefaultUnit = unit; }
2431
2432 QVariantMap toVariantMap() const override;
2433 bool fromVariantMap( const QVariantMap &map ) override;
2434
2435 private:
2436
2438
2439};
2440
2452{
2453 public:
2454
2458 explicit QgsProcessingParameterScale( const QString &name, const QString &description = QString(),
2459 const QVariant &defaultValue = QVariant(),
2460 bool optional = false );
2461
2465 static QString typeName() { return QStringLiteral( "scale" ); }
2466
2467 QgsProcessingParameterScale *clone() const override SIP_FACTORY;
2468
2469 QString type() const override;
2470 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2471
2475 static QgsProcessingParameterScale *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2476
2477};
2478
2485{
2486 public:
2487
2491 QgsProcessingParameterRange( const QString &name, const QString &description = QString(),
2493 const QVariant &defaultValue = QVariant(),
2494 bool optional = false );
2495
2499 static QString typeName() { return QStringLiteral( "range" ); }
2500 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2501 QString type() const override { return typeName(); }
2502 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2503 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2505
2510 Qgis::ProcessingNumberParameterType dataType() const;
2511
2516 void setDataType( Qgis::ProcessingNumberParameterType dataType );
2517
2518 QVariantMap toVariantMap() const override;
2519 bool fromVariantMap( const QVariantMap &map ) override;
2520
2524 static QgsProcessingParameterRange *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2525
2526 private:
2527
2529};
2530
2537{
2538 public:
2539
2543 QgsProcessingParameterRasterLayer( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2544 bool optional = false );
2545
2549 static QString typeName() { return QStringLiteral( "raster" ); }
2550 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2551 QString type() const override { return typeName(); }
2552 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2553 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2554 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2555 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2556 QString createFileFilter() const override;
2557
2561 static QgsProcessingParameterRasterLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2562
2563};
2564
2583{
2584 public:
2585
2589 QgsProcessingParameterEnum( const QString &name, const QString &description = QString(), const QStringList &options = QStringList(),
2590 bool allowMultiple = false,
2591 const QVariant &defaultValue = QVariant(),
2592 bool optional = false,
2593 bool usesStaticStrings = false );
2594
2598 static QString typeName() { return QStringLiteral( "enum" ); }
2599 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2600 QString type() const override { return typeName(); }
2601 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2602 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2603 QString valueAsPythonComment( const QVariant &value, QgsProcessingContext &context ) const override;
2604 QString asScriptCode() const override;
2606
2611 QStringList options() const;
2612
2617 void setOptions( const QStringList &options );
2618
2623 bool allowMultiple() const;
2624
2629 void setAllowMultiple( bool allowMultiple );
2630
2637 bool usesStaticStrings() const;
2638
2645 void setUsesStaticStrings( bool usesStaticStrings );
2646
2647 QVariantMap toVariantMap() const override;
2648 bool fromVariantMap( const QVariantMap &map ) override;
2649
2653 static QgsProcessingParameterEnum *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2654
2655 private:
2656
2657 QStringList mOptions;
2658 bool mAllowMultiple = false;
2659 bool mUsesStaticStrings = false;
2660};
2661
2689{
2690 public:
2691
2695 QgsProcessingParameterString( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2696 bool multiLine = false,
2697 bool optional = false );
2698
2702 static QString typeName() { return QStringLiteral( "string" ); }
2703 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2704 QString type() const override { return typeName(); }
2705 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2706 QString asScriptCode() const override;
2708
2713 bool multiLine() const;
2714
2719 void setMultiLine( bool multiLine );
2720
2721 QVariantMap toVariantMap() const override;
2722 bool fromVariantMap( const QVariantMap &map ) override;
2723
2727 static QgsProcessingParameterString *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2728
2729 private:
2730
2731 bool mMultiLine = false;
2732
2733};
2734
2735
2749{
2750 public:
2751
2755 QgsProcessingParameterAuthConfig( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2756 bool optional = false );
2757
2761 static QString typeName() { return QStringLiteral( "authcfg" ); }
2762 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2763 QString type() const override { return typeName(); }
2764 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2765 QString asScriptCode() const override;
2766
2770 static QgsProcessingParameterAuthConfig *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2771
2772};
2773
2780{
2781 public:
2782
2786 QgsProcessingParameterExpression( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2787 const QString &parentLayerParameterName = QString(),
2788 bool optional = false, Qgis::ExpressionType type = Qgis::ExpressionType::Qgis );
2789
2793 static QString typeName() { return QStringLiteral( "expression" ); }
2794 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2795 QString type() const override { return typeName(); }
2796 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2797 QStringList dependsOnOtherParameters() const override;
2799
2804 QString parentLayerParameterName() const;
2805
2810 void setParentLayerParameterName( const QString &parentLayerParameterName );
2811
2818 Qgis::ExpressionType expressionType() const;
2819
2826 void setExpressionType( Qgis::ExpressionType type );
2827
2828 QVariantMap toVariantMap() const override;
2829 bool fromVariantMap( const QVariantMap &map ) override;
2830
2834 static QgsProcessingParameterExpression *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2835
2836 private:
2837
2838 QString mParentLayerParameterName;
2840};
2841
2842
2849{
2850 public:
2851
2855 QgsProcessingParameterLimitedDataTypes( const QList< int > &types = QList< int >() );
2856
2861 QList< int > dataTypes() const;
2862
2867 void setDataTypes( const QList< int > &types );
2868
2869 protected:
2870
2872 QList< int > mDataTypes;
2873};
2874
2882{
2883 public:
2884
2888 QgsProcessingParameterVectorLayer( const QString &name,
2889 const QString &description = QString(),
2890 const QList< int > &types = QList< int >(),
2891 const QVariant &defaultValue = QVariant(),
2892 bool optional = false );
2893
2897 static QString typeName() { return QStringLiteral( "vector" ); }
2898 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2899 QString type() const override { return typeName(); }
2900 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2901 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2902 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2903 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2905 QString createFileFilter() const override;
2906
2907 QVariantMap toVariantMap() const override;
2908 bool fromVariantMap( const QVariantMap &map ) override;
2909
2913 static QgsProcessingParameterVectorLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2914
2915};
2916
2924{
2925 public:
2926
2930 QgsProcessingParameterMeshLayer( const QString &name,
2931 const QString &description = QString(),
2932 const QVariant &defaultValue = QVariant(),
2933 bool optional = false );
2934
2938 static QString typeName() { return QStringLiteral( "mesh" ); }
2939 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2940 QString type() const override { return typeName(); }
2941 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2942 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2943 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2944 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2945 QString createFileFilter() const override;
2946
2950 static QgsProcessingParameterMeshLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2951};
2952
2959{
2960 public:
2961
2965 QgsProcessingParameterMapLayer( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2966 bool optional = false,
2967 const QList< int > &types = QList< int >() );
2968
2972 static QString typeName() { return QStringLiteral( "layer" ); }
2973 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2974 QString type() const override { return typeName(); }
2975 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2976 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2977 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2978 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2979 QString asScriptCode() const override;
2981 QString createFileFilter() const override;
2982
2983 QVariantMap toVariantMap() const override;
2984 bool fromVariantMap( const QVariantMap &map ) override;
2985
2989 static QgsProcessingParameterMapLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2990
2991};
2992
2999{
3000 public:
3001
3005 QgsProcessingParameterField( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3006 const QString &parentLayerParameterName = QString(),
3008 bool allowMultiple = false,
3009 bool optional = false,
3010 bool defaultToAllFields = false );
3011
3015 static QString typeName() { return QStringLiteral( "field" ); }
3016 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3017 QString type() const override { return typeName(); }
3018 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3019 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3020 QString asScriptCode() const override;
3022 QStringList dependsOnOtherParameters() const override;
3023
3028 QString parentLayerParameterName() const;
3029
3034 void setParentLayerParameterName( const QString &parentLayerParameterName );
3035
3041
3046 void setDataType( Qgis::ProcessingFieldParameterDataType type );
3047
3052 bool allowMultiple() const;
3053
3058 void setAllowMultiple( bool allowMultiple );
3059
3069 bool defaultToAllFields() const;
3070
3080 void setDefaultToAllFields( bool enabled );
3081
3082 QVariantMap toVariantMap() const override;
3083 bool fromVariantMap( const QVariantMap &map ) override;
3084
3088 static QgsProcessingParameterField *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3089
3090 private:
3091
3092 QString mParentLayerParameterName;
3094 bool mAllowMultiple = false;
3095 bool mDefaultToAllFields = false;
3096
3097};
3098
3099
3106{
3107 public:
3108
3112 QgsProcessingParameterFeatureSource( const QString &name, const QString &description = QString(),
3113 const QList< int > &types = QList< int >(),
3114 const QVariant &defaultValue = QVariant(), bool optional = false );
3115
3119 static QString typeName() { return QStringLiteral( "source" ); }
3120 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3121 QString type() const override { return typeName(); }
3122 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3123 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3124 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
3125 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
3126 QString asScriptCode() const override;
3128 QString createFileFilter() const override;
3129
3130 QVariantMap toVariantMap() const override;
3131 bool fromVariantMap( const QVariantMap &map ) override;
3132
3136 static QgsProcessingParameterFeatureSource *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3137
3138};
3139
3147{
3148 public:
3149
3156 QgsProcessingDestinationParameter( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3157 bool optional = false, bool createByDefault = true );
3158
3159 bool isDestination() const override { return true; }
3160 QVariantMap toVariantMap() const override;
3161 bool fromVariantMap( const QVariantMap &map ) override;
3163 QString createFileFilter() const override;
3164
3170
3176 bool supportsNonFileBasedOutput() const { return mSupportsNonFileBasedOutputs; }
3177
3183 void setSupportsNonFileBasedOutput( bool supportsNonFileBasedOutput ) { mSupportsNonFileBasedOutputs = supportsNonFileBasedOutput; }
3184
3189 virtual QString defaultFileExtension() const = 0;
3190
3196 virtual QString generateTemporaryDestination( const QgsProcessingContext *context = nullptr ) const;
3197
3212 virtual bool isSupportedOutputValue( const QVariant &value, QgsProcessingContext &context, QString &error SIP_OUT ) const;
3213
3219 bool createByDefault() const;
3220
3226 void setCreateByDefault( bool createByDefault );
3227
3228 protected:
3229
3238 QgsProcessingProvider *originalProvider() const { return mOriginalProvider; }
3239
3240 private:
3241
3249 QgsProcessingProvider *mOriginalProvider = nullptr;
3250
3251 bool mSupportsNonFileBasedOutputs = true;
3252 bool mCreateByDefault = true;
3253
3254 friend class QgsProcessingModelAlgorithm;
3255 friend class TestQgsProcessing;
3256 friend class TestQgsProcessingModelAlgorithm;
3257};
3258
3259
3268{
3269 public:
3270
3277 QgsProcessingParameterFeatureSink( const QString &name, const QString &description = QString(), Qgis::ProcessingSourceType type = Qgis::ProcessingSourceType::VectorAnyGeometry, const QVariant &defaultValue = QVariant(),
3278 bool optional = false, bool createByDefault = true, bool supportsAppend = false );
3279
3283 static QString typeName() { return QStringLiteral( "sink" ); }
3284 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3285 QString type() const override { return typeName(); }
3286 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3287 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3288 QString asScriptCode() const override;
3289 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3290 QString defaultFileExtension() const override;
3291 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
3292 QString createFileFilter() const override;
3293
3299 virtual QStringList supportedOutputVectorLayerExtensions() const;
3300
3305 Qgis::ProcessingSourceType dataType() const;
3306
3311 bool hasGeometry() const;
3312
3317 void setDataType( Qgis::ProcessingSourceType type );
3318
3327 bool supportsAppend() const;
3328
3337 void setSupportsAppend( bool supportsAppend );
3338
3339 QVariantMap toVariantMap() const override;
3340 bool fromVariantMap( const QVariantMap &map ) override;
3341 QString generateTemporaryDestination( const QgsProcessingContext *context = nullptr ) const override;
3342
3346 static QgsProcessingParameterFeatureSink *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3347
3348 private:
3349
3350 Qgis::ProcessingSourceType mDataType = Qgis::ProcessingSourceType::VectorAnyGeometry;
3351 bool mSupportsAppend = false;
3352};
3353
3354
3365{
3366 public:
3367
3374 QgsProcessingParameterVectorDestination( const QString &name, const QString &description = QString(), Qgis::ProcessingSourceType type = Qgis::ProcessingSourceType::VectorAnyGeometry, const QVariant &defaultValue = QVariant(),
3375 bool optional = false, bool createByDefault = true );
3376
3380 static QString typeName() { return QStringLiteral( "vectorDestination" ); }
3381 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3382 QString type() const override { return typeName(); }
3383 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3384 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3385 QString asScriptCode() const override;
3386 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3387 QString defaultFileExtension() const override;
3388 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
3389 QString createFileFilter() const override;
3390
3396 virtual QStringList supportedOutputVectorLayerExtensions() const;
3397
3402 Qgis::ProcessingSourceType dataType() const;
3403
3408 bool hasGeometry() const;
3409
3414 void setDataType( Qgis::ProcessingSourceType type );
3415
3416 QVariantMap toVariantMap() const override;
3417 bool fromVariantMap( const QVariantMap &map ) override;
3418
3422 static QgsProcessingParameterVectorDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3423
3424
3425 private:
3426
3427 Qgis::ProcessingSourceType mDataType = Qgis::ProcessingSourceType::VectorAnyGeometry;
3428};
3429
3437{
3438 public:
3439
3446 QgsProcessingParameterRasterDestination( const QString &name, const QString &description = QString(),
3447 const QVariant &defaultValue = QVariant(),
3448 bool optional = false,
3449 bool createByDefault = true );
3450
3454 static QString typeName() { return QStringLiteral( "rasterDestination" ); }
3455 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3456 QString type() const override { return typeName(); }
3457 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3458 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3459 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3460 QString defaultFileExtension() const override;
3461 QString createFileFilter() const override;
3462
3468 virtual QStringList supportedOutputRasterLayerExtensions() const;
3469
3473 static QgsProcessingParameterRasterDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3474};
3475
3497{
3498 public:
3499
3506 QgsProcessingParameterFileDestination( const QString &name, const QString &description = QString(),
3507 const QString &fileFilter = QString(),
3508 const QVariant &defaultValue = QVariant(),
3509 bool optional = false,
3510 bool createByDefault = true );
3511
3515 static QString typeName() { return QStringLiteral( "fileDestination" ); }
3516 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3517 QString type() const override { return typeName(); }
3518 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3519 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3520 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3521 QString defaultFileExtension() const override;
3522 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
3523 QString createFileFilter() const override;
3524
3529 QString fileFilter() const;
3530
3535 void setFileFilter( const QString &filter );
3536
3537 QVariantMap toVariantMap() const override;
3538 bool fromVariantMap( const QVariantMap &map ) override;
3539
3543 static QgsProcessingParameterFileDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3544
3545
3546 private:
3547
3548 QString mFileFilter;
3549};
3550
3558{
3559 public:
3560
3564 QgsProcessingParameterFolderDestination( const QString &name, const QString &description = QString(),
3565 const QVariant &defaultValue = QVariant(),
3566 bool optional = false,
3567 bool createByDefault = true );
3568
3572 static QString typeName() { return QStringLiteral( "folderDestination" ); }
3573 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3574 QString type() const override { return typeName(); }
3575 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3576 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3577 QString defaultFileExtension() const override;
3578
3582 static QgsProcessingParameterFolderDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3583
3584};
3585
3592{
3593 public:
3594
3598 QgsProcessingParameterBand( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3599 const QString &parentLayerParameterName = QString(),
3600 bool optional = false,
3601 bool allowMultiple = false );
3602
3606 static QString typeName() { return QStringLiteral( "band" ); }
3607 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3608 QString type() const override { return typeName(); }
3609 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3610 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3611 QString asScriptCode() const override;
3612 QStringList dependsOnOtherParameters() const override;
3614
3619 QString parentLayerParameterName() const;
3620
3625 void setParentLayerParameterName( const QString &parentLayerParameterName );
3626
3627 QVariantMap toVariantMap() const override;
3628 bool fromVariantMap( const QVariantMap &map ) override;
3629
3633 static QgsProcessingParameterBand *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3634
3640 bool allowMultiple() const;
3641
3647 void setAllowMultiple( bool allowMultiple );
3648
3649 private:
3650
3651 QString mParentLayerParameterName;
3652 bool mAllowMultiple = false;
3653};
3654
3667{
3668 public:
3669
3673 QgsProcessingParameterLayout( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3674 bool optional = false );
3675
3679 static QString typeName() { return QStringLiteral( "layout" ); }
3680 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3681 QString type() const override { return typeName(); }
3682 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3683 QString asScriptCode() const override;
3685
3689 static QgsProcessingParameterLayout *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3690
3691};
3692
3705{
3706 public:
3707
3711 QgsProcessingParameterLayoutItem( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3712 const QString &parentLayoutParameterName = QString(),
3713 int itemType = -1,
3714 bool optional = false );
3715
3719 static QString typeName() { return QStringLiteral( "layoutitem" ); }
3720 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3721 QString type() const override { return typeName(); }
3722 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3723 QString asScriptCode() const override;
3725 QVariantMap toVariantMap() const override;
3726 bool fromVariantMap( const QVariantMap &map ) override;
3727 QStringList dependsOnOtherParameters() const override;
3728
3732 static QgsProcessingParameterLayoutItem *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3733
3738 QString parentLayoutParameterName() const;
3739
3744 void setParentLayoutParameterName( const QString &name );
3745
3753 int itemType() const;
3754
3762 void setItemType( int type );
3763
3764 private:
3765 QString mParentLayoutParameterName;
3766 int mItemType = -1;
3767};
3768
3779{
3780 public:
3781
3787 QgsProcessingParameterColor( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3788 bool opacityEnabled = true,
3789 bool optional = false );
3790
3794 static QString typeName() { return QStringLiteral( "color" ); }
3795 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3796 QString type() const override { return typeName(); }
3797 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3798 QString asScriptCode() const override;
3800 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3801 QVariantMap toVariantMap() const override;
3802 bool fromVariantMap( const QVariantMap &map ) override;
3803
3810 bool opacityEnabled() const;
3811
3819 void setOpacityEnabled( bool enabled );
3820
3824 static QgsProcessingParameterColor *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3825
3826 private:
3827
3828 bool mAllowOpacity = true;
3829
3830};
3831
3832
3843{
3844 public:
3845
3849 QgsProcessingParameterCoordinateOperation( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3850 const QString &sourceCrsParameterName = QString(), const QString &destinationCrsParameterName = QString(),
3851 const QVariant &staticSourceCrs = QVariant(), const QVariant &staticDestinationCrs = QVariant(),
3852 bool optional = false );
3853
3857 static QString typeName() { return QStringLiteral( "coordinateoperation" ); }
3858 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3859 QString type() const override { return typeName(); }
3860 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3861 QString asScriptCode() const override;
3863 QStringList dependsOnOtherParameters() const override;
3864
3865 QVariantMap toVariantMap() const override;
3866 bool fromVariantMap( const QVariantMap &map ) override;
3867
3871 static QgsProcessingParameterCoordinateOperation *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3872
3878 QString sourceCrsParameterName() const { return mSourceParameterName; }
3879
3885 void setSourceCrsParameterName( const QString &name ) { mSourceParameterName = name; }
3886
3892 QString destinationCrsParameterName() const { return mDestParameterName; }
3893
3899 void setDestinationCrsParameterName( const QString &name ) { mDestParameterName = name; }
3900
3906 QVariant sourceCrs() const { return mSourceCrs; }
3907
3913 void setSourceCrs( const QVariant &crs ) { mSourceCrs = crs; }
3914
3920 QVariant destinationCrs() const { return mDestCrs; }
3921
3927 void setDestinationCrs( const QVariant &crs ) { mDestCrs = crs; }
3928
3929 private:
3930
3931 QString mSourceParameterName;
3932 QString mDestParameterName;
3933 QVariant mSourceCrs;
3934 QVariant mDestCrs;
3935
3936};
3937
3938
3949{
3950 public:
3951
3955 QgsProcessingParameterMapTheme( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3956 bool optional = false );
3957
3961 static QString typeName() { return QStringLiteral( "maptheme" ); }
3962 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3963 QString type() const override { return typeName(); }
3964 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3965 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3966 QString asScriptCode() const override;
3968 QVariantMap toVariantMap() const override;
3969 bool fromVariantMap( const QVariantMap &map ) override;
3970
3974 static QgsProcessingParameterMapTheme *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3975
3976 private:
3977
3978};
3979
3980
3992{
3993 public:
3994
3998 explicit QgsProcessingParameterDateTime( const QString &name, const QString &description = QString(),
4000 const QVariant &defaultValue = QVariant(),
4001 bool optional = false,
4002 const QDateTime &minValue = QDateTime(),
4003 const QDateTime &maxValue = QDateTime()
4004 );
4005
4009 static QString typeName() { return QStringLiteral( "datetime" ); }
4010 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4011 QString type() const override { return typeName(); }
4012 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4013 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4014 QString toolTip() const override;
4016
4024 QDateTime minimum() const;
4025
4037 void setMinimum( const QDateTime &minimum );
4038
4046 QDateTime maximum() const;
4047
4059 void setMaximum( const QDateTime &maximum );
4060
4066
4071 void setDataType( Qgis::ProcessingDateTimeParameterDataType type );
4072
4073 QVariantMap toVariantMap() const override;
4074 bool fromVariantMap( const QVariantMap &map ) override;
4075
4079 static QgsProcessingParameterDateTime *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4080
4081 private:
4082
4083 QDateTime mMin;
4084 QDateTime mMax;
4086};
4087
4088
4100{
4101 public:
4102
4109 QgsProcessingParameterProviderConnection( const QString &name, const QString &description, const QString &provider, const QVariant &defaultValue = QVariant(),
4110 bool optional = false );
4111
4115 static QString typeName() { return QStringLiteral( "providerconnection" ); }
4116 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4117 QString type() const override { return typeName(); }
4118 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4119 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4120 QString asScriptCode() const override;
4122 QVariantMap toVariantMap() const override;
4123 bool fromVariantMap( const QVariantMap &map ) override;
4124
4129 QString providerId() const { return mProviderId; }
4130
4135 void setProviderId( const QString &provider ) { mProviderId = provider; }
4136
4140 static QgsProcessingParameterProviderConnection *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4141
4142 private:
4143
4144 QString mProviderId;
4145};
4146
4147
4159{
4160 public:
4161
4170 QgsProcessingParameterDatabaseSchema( const QString &name, const QString &description, const QString &connectionParameterName = QString(), const QVariant &defaultValue = QVariant(),
4171 bool optional = false );
4172
4176 static QString typeName() { return QStringLiteral( "databaseschema" ); }
4177 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4178 QString type() const override { return typeName(); }
4179 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4180 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4181 QString asScriptCode() const override;
4183 QVariantMap toVariantMap() const override;
4184 bool fromVariantMap( const QVariantMap &map ) override;
4185 QStringList dependsOnOtherParameters() const override;
4186
4191 QString parentConnectionParameterName() const;
4192
4197 void setParentConnectionParameterName( const QString &name );
4198
4202 static QgsProcessingParameterDatabaseSchema *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4203
4204 private:
4205
4206 QString mParentConnectionParameterName;
4207};
4208
4209
4221{
4222 public:
4223
4233 QgsProcessingParameterDatabaseTable( const QString &name, const QString &description,
4234 const QString &connectionParameterName = QString(),
4235 const QString &schemaParameterName = QString(),
4236 const QVariant &defaultValue = QVariant(),
4237 bool optional = false,
4238 bool allowNewTableNames = false );
4239
4243 static QString typeName() { return QStringLiteral( "databasetable" ); }
4244 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4245 QString type() const override { return typeName(); }
4246 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4247 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4248 QString asScriptCode() const override;
4250 QVariantMap toVariantMap() const override;
4251 bool fromVariantMap( const QVariantMap &map ) override;
4252 QStringList dependsOnOtherParameters() const override;
4253
4258 QString parentConnectionParameterName() const;
4259
4264 void setParentConnectionParameterName( const QString &name );
4265
4270 QString parentSchemaParameterName() const;
4271
4276 void setParentSchemaParameterName( const QString &name );
4277
4281 static QgsProcessingParameterDatabaseTable *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4282
4289 bool allowNewTableNames() const;
4290
4297 void setAllowNewTableNames( bool allowed );
4298
4299 private:
4300
4301 QString mParentConnectionParameterName;
4302 QString mParentSchemaParameterName;
4303 bool mAllowNewTableNames = false;
4304};
4305
4306
4314{
4315 public:
4316
4320 QgsProcessingParameterPointCloudLayer( const QString &name, const QString &description = QString(),
4321 const QVariant &defaultValue = QVariant(), bool optional = false );
4322
4326 static QString typeName() { return QStringLiteral( "pointcloud" ); }
4327 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4328 QString type() const override { return typeName(); }
4329 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4330 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4331 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
4332 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
4333 QString createFileFilter() const override;
4334
4338 static QgsProcessingParameterPointCloudLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4339};
4340
4341
4349{
4350 public:
4351
4355 QgsProcessingParameterAnnotationLayer( const QString &name, const QString &description = QString(),
4356 const QVariant &defaultValue = QVariant(), bool optional = false );
4357
4361 static QString typeName() { return QStringLiteral( "annotation" ); }
4362 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4363 QString type() const override { return typeName(); }
4364 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4365 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4366 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
4367 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
4368
4372 static QgsProcessingParameterAnnotationLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4373};
4374
4383{
4384 public:
4385
4392 QgsProcessingParameterPointCloudDestination( const QString &name, const QString &description = QString(),
4393 const QVariant &defaultValue = QVariant(),
4394 bool optional = false,
4395 bool createByDefault = true );
4396
4400 static QString typeName() { return QStringLiteral( "pointCloudDestination" ); }
4401 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4402 QString type() const override { return typeName(); }
4403 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4404 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4405 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
4406 QString defaultFileExtension() const override;
4407 QString createFileFilter() const override;
4408
4413 virtual QStringList supportedOutputPointCloudLayerExtensions() const;
4414
4418 static QgsProcessingParameterPointCloudDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4419};
4420
4428{
4429 public:
4430
4434 QgsProcessingParameterPointCloudAttribute( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
4435 const QString &parentLayerParameterName = QString(),
4436 bool allowMultiple = false,
4437 bool optional = false,
4438 bool defaultToAllAttributes = false );
4439
4443 static QString typeName() { return QStringLiteral( "attribute" ); }
4444 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4445 QString type() const override { return typeName(); }
4446 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4447 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4448 QString asScriptCode() const override;
4450 QStringList dependsOnOtherParameters() const override;
4451
4456 QString parentLayerParameterName() const;
4457
4462 void setParentLayerParameterName( const QString &parentLayerParameterName );
4463
4468 bool allowMultiple() const;
4469
4474 void setAllowMultiple( bool allowMultiple );
4475
4484 bool defaultToAllAttributes() const;
4485
4494 void setDefaultToAllAttributes( bool enabled );
4495
4496 QVariantMap toVariantMap() const override;
4497 bool fromVariantMap( const QVariantMap &map ) override;
4498
4502 static QgsProcessingParameterPointCloudAttribute *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4503
4504 private:
4505
4506 QString mParentLayerParameterName;
4507 bool mAllowMultiple = false;
4508 bool mDefaultToAllAttributes = false;
4509};
4510
4519{
4520 public:
4521
4528 QgsProcessingParameterVectorTileDestination( const QString &name, const QString &description = QString(),
4529 const QVariant &defaultValue = QVariant(),
4530 bool optional = false,
4531 bool createByDefault = true );
4532
4536 static QString typeName() { return QStringLiteral( "vectorTileDestination" ); }
4537 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4538 QString type() const override { return typeName(); }
4539 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4540 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4541 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
4542 QString defaultFileExtension() const override;
4543 QString createFileFilter() const override;
4544
4549 virtual QStringList supportedOutputVectorTileLayerExtensions() const;
4550
4554 static QgsProcessingParameterVectorTileDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4555};
4556
4557// clazy:excludeall=qstring-allocations
4558
4559#endif // QGSPROCESSINGPARAMETERS_H
4560
4561
The Qgis class provides global constants for use throughout the application.
Definition: qgis.h:54
ProcessingSourceType
Processing data source types.
Definition: qgis.h:2858
@ VectorAnyGeometry
Any vector layer with geometry.
ProcessingFileParameterBehavior
Flags which dictate the behavior of QgsProcessingParameterFile.
Definition: qgis.h:3077
@ File
Parameter is a single file.
ExpressionType
Expression types.
Definition: qgis.h:4462
@ Qgis
Native QGIS expression.
DistanceUnit
Units of distance.
Definition: qgis.h:4124
@ Unknown
Unknown distance unit.
ProcessingFieldParameterDataType
Processing field parameter data types.
Definition: qgis.h:3105
TemporalUnit
Temporal units.
Definition: qgis.h:4231
@ Milliseconds
Milliseconds.
QFlags< ProcessingParameterFlag > ProcessingParameterFlags
Flags which dictate the behavior of Processing parameters.
Definition: qgis.h:3066
InvalidGeometryCheck
Methods for handling of features with invalid geometries.
Definition: qgis.h:1778
@ 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:2988
WkbType
The WKB type describes the number of dimensions a geometry has.
Definition: qgis.h:182
ProcessingDateTimeParameterDataType
Processing date time parameter data types.
Definition: qgis.h:3123
ProcessingNumberParameterType
Processing numeric parameter data types.
Definition: qgis.h:3091
Represents a map layer containing a set of georeferenced annotations, e.g.
This class 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:45
Abstract interface for classes which generate a file filter string.
A geometry is the spatial representation of a feature.
Definition: qgsgeometry.h:162
Base class for graphical items within a QgsLayout.
Base class for all map layer types.
Definition: qgsmaplayer.h:75
Represents a mesh layer supporting display of data on structured or unstructured meshes.
Definition: qgsmeshlayer.h:101
Represents a map layer supporting display of point clouds.
A class to represent 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.
Definition: qgsexception.h:83
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 string parameter for authentication configuration ID values.
static QString typeName()
Returns the type name for the parameter class.
A raster band parameter for Processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A boolean parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A color parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A coordinate operation parameter for processing algorithms, for selection between available coordinat...
static QString typeName()
Returns the type name for the parameter class.
QVariant sourceCrs() const
Returns the static source CRS, or an invalid value if this is not set.
QString destinationCrsParameterName() const
Returns the name of the destination CRS parameter, or an empty string if this is not set.
void setDestinationCrsParameterName(const QString &name)
Sets the name of the destination CRS parameter.
void setSourceCrs(const QVariant &crs)
Sets the static source crs.
QVariant destinationCrs() const
Returns the static destination CRS, or an invalid value if this is not set.
void setDestinationCrs(const QVariant &crs)
Sets the static destination crs.
void setSourceCrsParameterName(const QString &name)
Sets the name of the source CRS parameter.
QString sourceCrsParameterName() const
Returns the name of the source CRS parameter, or an empty string if this is not set.
A coordinate reference system parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A database schema parameter for processing algorithms, allowing users to select from existing schemas...
static QString typeName()
Returns the type name for the parameter class.
A database table name parameter for processing algorithms, allowing users to select from existing dat...
static QString typeName()
Returns the type name for the parameter class.
A datetime (or pure date or time) parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
Base class for the definition of processing parameters.
QVariant defaultValue() const
Returns the default value for the parameter.
void setDefaultValue(const QVariant &value)
Sets the default value for the parameter.
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 collection of utilities for working with parameters when running a processing algorithm.
Abstract base class for processing providers.
LayerHint
Layer type hints.
@ UnknownType
Unknown layer type.
Contains enumerations and other constants for use in processing algorithms and parameters.
Definition: qgsprocessing.h:41
QFlags< LayerOptionsFlag > LayerOptionsFlags
Definition: qgsprocessing.h:63
PythonOutputType
Available Python output types.
Definition: qgsprocessing.h:48
@ 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.
Definition: qgsproperty.h:228
Represents a raster layer.
A rectangle specified with double values.
Definition: qgsrectangle.h:42
Defines the parameters used to remap features when creating a QgsRemappingProxyFeatureSink.
Represents a vector layer which manages a vector based data sets.
As part of the API refactoring and improvements which landed in the Processing API was substantially reworked from the x version This was done in order to allow much of the underlying Processing framework to be ported into allowing algorithms to be written in pure substantial changes are required in order to port existing x Processing algorithms for QGIS x The most significant changes are outlined not GeoAlgorithm For algorithms which operate on features one by consider subclassing the QgsProcessingFeatureBasedAlgorithm class This class allows much of the boilerplate code for looping over features from a vector layer to be bypassed and instead requires implementation of a processFeature method Ensure that your algorithm(or algorithm 's parent class) implements the new pure virtual createInstance(self) call
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
Definition: qgis_sip.h: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