QGIS API Documentation 3.39.0-Master (47f7b3a4989)
Loading...
Searching...
No Matches
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
1312 static QString parameterAsOutputLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, bool testOnly = false );
1313
1317 static QString parameterAsFileOutput( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1318
1323 static QString parameterAsFileOutput( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1324
1332 static QgsVectorLayer *parameterAsVectorLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1333
1343 static QgsVectorLayer *parameterAsVectorLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1344
1354 static QgsMeshLayer *parameterAsMeshLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1355
1365 static QgsMeshLayer *parameterAsMeshLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1366
1370 static QgsCoordinateReferenceSystem parameterAsCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1371
1376 static QgsCoordinateReferenceSystem parameterAsCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1377
1387 static QgsRectangle parameterAsExtent( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context,
1389
1401 static QgsRectangle parameterAsExtent( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context,
1403
1415 static QgsGeometry parameterAsExtentGeometry( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context,
1417
1423 static QgsCoordinateReferenceSystem parameterAsExtentCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1424
1430 static QgsCoordinateReferenceSystem parameterAsExtentCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1431
1432
1440 static QgsPointXY parameterAsPoint( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context,
1442
1451 static QgsPointXY parameterAsPoint( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context,
1453
1459 static QgsCoordinateReferenceSystem parameterAsPointCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1460
1467 static QgsCoordinateReferenceSystem parameterAsPointCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1468
1474 static QgsGeometry parameterAsGeometry( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem() );
1475
1481 static QgsGeometry parameterAsGeometry( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem() );
1482
1489 static QgsCoordinateReferenceSystem parameterAsGeometryCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1490
1497 static QgsCoordinateReferenceSystem parameterAsGeometryCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1498
1502 static QString parameterAsFile( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1503
1508 static QString parameterAsFile( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1509
1514 static QVariantList parameterAsMatrix( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1515
1521 static QVariantList parameterAsMatrix( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1522
1527 static QList< QgsMapLayer *> parameterAsLayerList( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsProcessing::LayerOptionsFlags flags = QgsProcessing::LayerOptionsFlags() );
1528
1534 static QList< QgsMapLayer *> parameterAsLayerList( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, QgsProcessing::LayerOptionsFlags flags = QgsProcessing::LayerOptionsFlags() );
1535
1541 static QStringList parameterAsFileList( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1542
1548 static QStringList parameterAsFileList( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1549
1553 static QList<double> parameterAsRange( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1554
1559 static QList<double> parameterAsRange( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1560
1566 Q_DECL_DEPRECATED static QStringList parameterAsFields( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context ) SIP_DEPRECATED;
1567
1574 Q_DECL_DEPRECATED static QStringList parameterAsFields( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context ) SIP_DEPRECATED;
1575
1581 static QStringList parameterAsStrings( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1582
1588 static QStringList parameterAsStrings( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1589
1598 static QgsPrintLayout *parameterAsLayout( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1599
1608 static QgsPrintLayout *parameterAsLayout( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1609
1618 static QgsLayoutItem *parameterAsLayoutItem( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsPrintLayout *layout );
1619
1628 static QgsLayoutItem *parameterAsLayoutItem( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, QgsPrintLayout *layout );
1629
1635 static QColor parameterAsColor( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1636
1642 static QColor parameterAsColor( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1643
1649 static QString parameterAsConnectionName( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1650
1656 static QString parameterAsConnectionName( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1657
1663 static QString parameterAsSchema( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1664
1670 static QString parameterAsSchema( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1671
1677 static QString parameterAsDatabaseTableName( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1678
1684 static QString parameterAsDatabaseTableName( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1685
1696 static QgsPointCloudLayer *parameterAsPointCloudLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsProcessing::LayerOptionsFlags flags = QgsProcessing::LayerOptionsFlags() );
1697
1708 static QgsPointCloudLayer *parameterAsPointCloudLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, QgsProcessing::LayerOptionsFlags flags = QgsProcessing::LayerOptionsFlags() );
1709
1723 static QgsAnnotationLayer *parameterAsAnnotationLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1724
1738 static QgsAnnotationLayer *parameterAsAnnotationLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1739
1745 static QgsProcessingParameterDefinition *parameterFromVariantMap( const QVariantMap &map ) SIP_FACTORY;
1746
1750 static QString descriptionFromName( const QString &name );
1751
1757 static QgsProcessingParameterDefinition *parameterFromScriptCode( const QString &code ) SIP_FACTORY;
1758
1759 private:
1760
1761 static bool parseScriptCodeParameterOptions( const QString &code, bool &isOptional, QString &name, QString &type, QString &definition );
1762};
1763
1764
1765
1772{
1773 public:
1774
1778 QgsProcessingParameterBoolean( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1779 bool optional = false );
1780
1784 static QString typeName() { return QStringLiteral( "boolean" ); }
1785 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1786 QString type() const override { return typeName(); }
1787 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1788 QString asScriptCode() const override;
1789
1793 static QgsProcessingParameterBoolean *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1794};
1795
1802{
1803 public:
1804
1808 QgsProcessingParameterCrs( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1809 bool optional = false );
1810
1814 static QString typeName() { return QStringLiteral( "crs" ); }
1815 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1816 QString type() const override { return typeName(); }
1817 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1818 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1819 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
1820 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
1821
1825 static QgsProcessingParameterCrs *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1826
1827};
1828
1835{
1836 public:
1837
1841 QgsProcessingParameterExtent( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1842 bool optional = false );
1843
1847 static QString typeName() { return QStringLiteral( "extent" ); }
1848 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1849 QString type() const override { return typeName(); }
1850 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1851 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1852 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
1853 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
1854
1858 static QgsProcessingParameterExtent *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1859
1860 private:
1861
1867 static bool variantIsValidStringForExtent( const QVariant &value );
1868
1869};
1870
1871
1878{
1879 public:
1880
1884 QgsProcessingParameterPoint( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1885 bool optional = false );
1886
1890 static QString typeName() { return QStringLiteral( "point" ); }
1891 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1892 QString type() const override { return typeName(); }
1893 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1894 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1895
1899 static QgsProcessingParameterPoint *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1900
1901};
1902
1910{
1911 public:
1912
1920 QgsProcessingParameterGeometry( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false, const QList< int > &geometryTypes = QList< int >(), bool allowMultipart = true );
1921
1925 static QString typeName() { return QStringLiteral( "geometry" ); }
1926 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1927 QString type() const override { return typeName(); }
1928 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1929 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1930 QString asScriptCode() const override;
1932 QVariantMap toVariantMap() const override;
1933 bool fromVariantMap( const QVariantMap &map ) override;
1934
1939 QList<int> geometryTypes() const { return mGeomTypes; }
1940
1945 void setGeometryTypes( const QList<int> &geometryTypes ) { mGeomTypes = geometryTypes; }
1946
1951 bool allowMultipart() const { return mAllowMultipart; }
1952
1957 void setAllowMultipart( bool allowMultipart ) { mAllowMultipart = allowMultipart; }
1958
1959
1960
1964 static QgsProcessingParameterGeometry *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1965
1966 private:
1967
1968 QList<int> mGeomTypes;
1969 bool mAllowMultipart;
1970
1971};
1972
1979{
1980 public:
1981
1989 QgsProcessingParameterFile( const QString &name, const QString &description = QString(), Qgis::ProcessingFileParameterBehavior behavior = Qgis::ProcessingFileParameterBehavior::File, const QString &extension = QString(), const QVariant &defaultValue = QVariant(),
1990 bool optional = false, const QString &fileFilter = QString() );
1991
1995 static QString typeName() { return QStringLiteral( "file" ); }
1996 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1997 QString type() const override { return typeName(); }
1998 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1999 QString asScriptCode() const override;
2001 QString createFileFilter() const override;
2002
2008
2013 void setBehavior( Qgis::ProcessingFileParameterBehavior behavior ) { mBehavior = behavior; }
2014
2022 QString extension() const { return mExtension; }
2023
2033 void setExtension( const QString &extension );
2034
2041 QString fileFilter() const;
2042
2052 void setFileFilter( const QString &filter );
2053
2054 QVariantMap toVariantMap() const override;
2055 bool fromVariantMap( const QVariantMap &map ) override;
2056
2060 static QgsProcessingParameterFile *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition, Qgis::ProcessingFileParameterBehavior behavior = Qgis::ProcessingFileParameterBehavior::File ) SIP_FACTORY;
2061
2062 private:
2063
2065 QString mExtension;
2066 QString mFileFilter;
2067};
2068
2075{
2076 public:
2077
2081 QgsProcessingParameterMatrix( const QString &name, const QString &description = QString(), int numberRows = 3,
2082 bool hasFixedNumberRows = false, const QStringList &headers = QStringList(),
2083 const QVariant &defaultValue = QVariant(),
2084 bool optional = false );
2085
2089 static QString typeName() { return QStringLiteral( "matrix" ); }
2090 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2091 QString type() const override { return typeName(); }
2092 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2093 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2095
2100 QStringList headers() const;
2101
2106 void setHeaders( const QStringList &headers );
2107
2114 int numberRows() const;
2115
2122 void setNumberRows( int rows );
2123
2129 bool hasFixedNumberRows() const;
2130
2136 void setHasFixedNumberRows( bool hasFixedNumberRows );
2137
2138 QVariantMap toVariantMap() const override;
2139 bool fromVariantMap( const QVariantMap &map ) override;
2140
2144 static QgsProcessingParameterMatrix *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2145
2146 private:
2147
2148 QStringList mHeaders;
2149 int mNumberRows = 3;
2150 bool mFixedNumberRows = false;
2151
2152};
2153
2160{
2161 public:
2162
2166 QgsProcessingParameterMultipleLayers( const QString &name, const QString &description = QString(), Qgis::ProcessingSourceType layerType = Qgis::ProcessingSourceType::VectorAnyGeometry,
2167 const QVariant &defaultValue = QVariant(),
2168 bool optional = false );
2169
2173 static QString typeName() { return QStringLiteral( "multilayer" ); }
2174 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2175 QString type() const override { return typeName(); }
2176 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2177 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2178 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2179 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2180 QString asScriptCode() const override;
2182 QString createFileFilter() const override;
2183
2188 Qgis::ProcessingSourceType layerType() const;
2189
2194 void setLayerType( Qgis::ProcessingSourceType type );
2195
2201 int minimumNumberInputs() const;
2202
2208 void setMinimumNumberInputs( int minimum );
2209
2210 QVariantMap toVariantMap() const override;
2211 bool fromVariantMap( const QVariantMap &map ) override;
2212
2216 static QgsProcessingParameterMultipleLayers *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2217
2218 private:
2219
2221 int mMinimumNumberInputs = 0;
2222
2223};
2224
2243{
2244 public:
2245
2249 explicit QgsProcessingParameterNumber( const QString &name, const QString &description = QString(),
2251 const QVariant &defaultValue = QVariant(),
2252 bool optional = false,
2253 double minValue = std::numeric_limits<double>::lowest() + 1,
2254 double maxValue = std::numeric_limits<double>::max()
2255 );
2256
2260 static QString typeName() { return QStringLiteral( "number" ); }
2261 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2262 QString type() const override { return typeName(); }
2263 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2264 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2265 QString toolTip() const override;
2267
2272 double minimum() const;
2273
2278 void setMinimum( double minimum );
2279
2284 double maximum() const;
2285
2290 void setMaximum( double maximum );
2291
2296 Qgis::ProcessingNumberParameterType dataType() const;
2297
2302 void setDataType( Qgis::ProcessingNumberParameterType type );
2303
2304 QVariantMap toVariantMap() const override;
2305 bool fromVariantMap( const QVariantMap &map ) override;
2306
2310 static QgsProcessingParameterNumber *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2311
2312 private:
2313
2314 double mMin = std::numeric_limits<double>::lowest() + 1;
2315 double mMax = std::numeric_limits<double>::max();
2317};
2318
2339{
2340 public:
2341
2345 explicit QgsProcessingParameterDistance( const QString &name, const QString &description = QString(),
2346 const QVariant &defaultValue = QVariant(),
2347 const QString &parentParameterName = QString(),
2348 bool optional = false,
2349 double minValue = std::numeric_limits<double>::lowest() + 1,
2350 double maxValue = std::numeric_limits<double>::max() );
2351
2355 static QString typeName() { return QStringLiteral( "distance" ); }
2356
2357 QgsProcessingParameterDistance *clone() const override SIP_FACTORY;
2358
2359 QString type() const override;
2360 QStringList dependsOnOtherParameters() const override;
2361 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2362
2367 QString parentParameterName() const;
2368
2373 void setParentParameterName( const QString &parentParameterName );
2374
2381 Qgis::DistanceUnit defaultUnit() const { return mDefaultUnit; }
2382
2389 void setDefaultUnit( Qgis::DistanceUnit unit ) { mDefaultUnit = unit; }
2390
2391 QVariantMap toVariantMap() const override;
2392 bool fromVariantMap( const QVariantMap &map ) override;
2393
2394 private:
2395
2396 QString mParentParameterName;
2398
2399};
2400
2409{
2410 public:
2411
2415 explicit QgsProcessingParameterDuration( const QString &name, const QString &description = QString(),
2416 const QVariant &defaultValue = QVariant(),
2417 bool optional = false,
2418 double minValue = std::numeric_limits<double>::lowest() + 1,
2419 double maxValue = std::numeric_limits<double>::max() );
2420
2424 static QString typeName() { return QStringLiteral( "duration" ); }
2425
2426 QgsProcessingParameterDuration *clone() const override SIP_FACTORY;
2427
2428 QString type() const override;
2429 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2430
2436 Qgis::TemporalUnit defaultUnit() const { return mDefaultUnit; }
2437
2443 void setDefaultUnit( Qgis::TemporalUnit unit ) { mDefaultUnit = unit; }
2444
2445 QVariantMap toVariantMap() const override;
2446 bool fromVariantMap( const QVariantMap &map ) override;
2447
2448 private:
2449
2451
2452};
2453
2465{
2466 public:
2467
2471 explicit QgsProcessingParameterScale( const QString &name, const QString &description = QString(),
2472 const QVariant &defaultValue = QVariant(),
2473 bool optional = false );
2474
2478 static QString typeName() { return QStringLiteral( "scale" ); }
2479
2480 QgsProcessingParameterScale *clone() const override SIP_FACTORY;
2481
2482 QString type() const override;
2483 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2484
2488 static QgsProcessingParameterScale *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2489
2490};
2491
2498{
2499 public:
2500
2504 QgsProcessingParameterRange( const QString &name, const QString &description = QString(),
2506 const QVariant &defaultValue = QVariant(),
2507 bool optional = false );
2508
2512 static QString typeName() { return QStringLiteral( "range" ); }
2513 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2514 QString type() const override { return typeName(); }
2515 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2516 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2518
2523 Qgis::ProcessingNumberParameterType dataType() const;
2524
2529 void setDataType( Qgis::ProcessingNumberParameterType dataType );
2530
2531 QVariantMap toVariantMap() const override;
2532 bool fromVariantMap( const QVariantMap &map ) override;
2533
2537 static QgsProcessingParameterRange *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2538
2539 private:
2540
2542};
2543
2550{
2551 public:
2552
2556 QgsProcessingParameterRasterLayer( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2557 bool optional = false );
2558
2562 static QString typeName() { return QStringLiteral( "raster" ); }
2563 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2564 QString type() const override { return typeName(); }
2565 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2566 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2567 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2568 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2569 QString createFileFilter() const override;
2570
2574 static QgsProcessingParameterRasterLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2575
2576};
2577
2596{
2597 public:
2598
2602 QgsProcessingParameterEnum( const QString &name, const QString &description = QString(), const QStringList &options = QStringList(),
2603 bool allowMultiple = false,
2604 const QVariant &defaultValue = QVariant(),
2605 bool optional = false,
2606 bool usesStaticStrings = false );
2607
2611 static QString typeName() { return QStringLiteral( "enum" ); }
2612 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2613 QString type() const override { return typeName(); }
2614 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2615 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2616 QString valueAsPythonComment( const QVariant &value, QgsProcessingContext &context ) const override;
2617 QString asScriptCode() const override;
2619
2624 QStringList options() const;
2625
2630 void setOptions( const QStringList &options );
2631
2636 bool allowMultiple() const;
2637
2642 void setAllowMultiple( bool allowMultiple );
2643
2650 bool usesStaticStrings() const;
2651
2658 void setUsesStaticStrings( bool usesStaticStrings );
2659
2660 QVariantMap toVariantMap() const override;
2661 bool fromVariantMap( const QVariantMap &map ) override;
2662
2666 static QgsProcessingParameterEnum *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2667
2668 private:
2669
2670 QStringList mOptions;
2671 bool mAllowMultiple = false;
2672 bool mUsesStaticStrings = false;
2673};
2674
2702{
2703 public:
2704
2708 QgsProcessingParameterString( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2709 bool multiLine = false,
2710 bool optional = false );
2711
2715 static QString typeName() { return QStringLiteral( "string" ); }
2716 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2717 QString type() const override { return typeName(); }
2718 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2719 QString asScriptCode() const override;
2721
2726 bool multiLine() const;
2727
2732 void setMultiLine( bool multiLine );
2733
2734 QVariantMap toVariantMap() const override;
2735 bool fromVariantMap( const QVariantMap &map ) override;
2736
2740 static QgsProcessingParameterString *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2741
2742 private:
2743
2744 bool mMultiLine = false;
2745
2746};
2747
2748
2762{
2763 public:
2764
2768 QgsProcessingParameterAuthConfig( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2769 bool optional = false );
2770
2774 static QString typeName() { return QStringLiteral( "authcfg" ); }
2775 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2776 QString type() const override { return typeName(); }
2777 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2778 QString asScriptCode() const override;
2779
2783 static QgsProcessingParameterAuthConfig *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2784
2785};
2786
2793{
2794 public:
2795
2799 QgsProcessingParameterExpression( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2800 const QString &parentLayerParameterName = QString(),
2801 bool optional = false, Qgis::ExpressionType type = Qgis::ExpressionType::Qgis );
2802
2806 static QString typeName() { return QStringLiteral( "expression" ); }
2807 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2808 QString type() const override { return typeName(); }
2809 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2810 QStringList dependsOnOtherParameters() const override;
2812
2817 QString parentLayerParameterName() const;
2818
2823 void setParentLayerParameterName( const QString &parentLayerParameterName );
2824
2831 Qgis::ExpressionType expressionType() const;
2832
2839 void setExpressionType( Qgis::ExpressionType type );
2840
2841 QVariantMap toVariantMap() const override;
2842 bool fromVariantMap( const QVariantMap &map ) override;
2843
2847 static QgsProcessingParameterExpression *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2848
2849 private:
2850
2851 QString mParentLayerParameterName;
2853};
2854
2855
2862{
2863 public:
2864
2868 QgsProcessingParameterLimitedDataTypes( const QList< int > &types = QList< int >() );
2869
2874 QList< int > dataTypes() const;
2875
2880 void setDataTypes( const QList< int > &types );
2881
2882 protected:
2883
2885 QList< int > mDataTypes;
2886};
2887
2895{
2896 public:
2897
2901 QgsProcessingParameterVectorLayer( const QString &name,
2902 const QString &description = QString(),
2903 const QList< int > &types = QList< int >(),
2904 const QVariant &defaultValue = QVariant(),
2905 bool optional = false );
2906
2910 static QString typeName() { return QStringLiteral( "vector" ); }
2911 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2912 QString type() const override { return typeName(); }
2913 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2914 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2915 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2916 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2918 QString createFileFilter() const override;
2919
2920 QVariantMap toVariantMap() const override;
2921 bool fromVariantMap( const QVariantMap &map ) override;
2922
2926 static QgsProcessingParameterVectorLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2927
2928};
2929
2937{
2938 public:
2939
2943 QgsProcessingParameterMeshLayer( const QString &name,
2944 const QString &description = QString(),
2945 const QVariant &defaultValue = QVariant(),
2946 bool optional = false );
2947
2951 static QString typeName() { return QStringLiteral( "mesh" ); }
2952 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2953 QString type() const override { return typeName(); }
2954 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2955 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2956 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2957 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2958 QString createFileFilter() const override;
2959
2963 static QgsProcessingParameterMeshLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2964};
2965
2972{
2973 public:
2974
2978 QgsProcessingParameterMapLayer( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2979 bool optional = false,
2980 const QList< int > &types = QList< int >() );
2981
2985 static QString typeName() { return QStringLiteral( "layer" ); }
2986 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2987 QString type() const override { return typeName(); }
2988 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2989 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2990 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2991 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2992 QString asScriptCode() const override;
2994 QString createFileFilter() const override;
2995
2996 QVariantMap toVariantMap() const override;
2997 bool fromVariantMap( const QVariantMap &map ) override;
2998
3002 static QgsProcessingParameterMapLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3003
3004};
3005
3012{
3013 public:
3014
3018 QgsProcessingParameterField( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3019 const QString &parentLayerParameterName = QString(),
3021 bool allowMultiple = false,
3022 bool optional = false,
3023 bool defaultToAllFields = false );
3024
3028 static QString typeName() { return QStringLiteral( "field" ); }
3029 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3030 QString type() const override { return typeName(); }
3031 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3032 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3033 QString asScriptCode() const override;
3035 QStringList dependsOnOtherParameters() const override;
3036
3041 QString parentLayerParameterName() const;
3042
3047 void setParentLayerParameterName( const QString &parentLayerParameterName );
3048
3054
3059 void setDataType( Qgis::ProcessingFieldParameterDataType type );
3060
3065 bool allowMultiple() const;
3066
3071 void setAllowMultiple( bool allowMultiple );
3072
3082 bool defaultToAllFields() const;
3083
3093 void setDefaultToAllFields( bool enabled );
3094
3095 QVariantMap toVariantMap() const override;
3096 bool fromVariantMap( const QVariantMap &map ) override;
3097
3101 static QgsProcessingParameterField *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3102
3103 private:
3104
3105 QString mParentLayerParameterName;
3107 bool mAllowMultiple = false;
3108 bool mDefaultToAllFields = false;
3109
3110};
3111
3112
3119{
3120 public:
3121
3125 QgsProcessingParameterFeatureSource( const QString &name, const QString &description = QString(),
3126 const QList< int > &types = QList< int >(),
3127 const QVariant &defaultValue = QVariant(), bool optional = false );
3128
3132 static QString typeName() { return QStringLiteral( "source" ); }
3133 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3134 QString type() const override { return typeName(); }
3135 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3136 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3137 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
3138 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
3139 QString asScriptCode() const override;
3141 QString createFileFilter() const override;
3142
3143 QVariantMap toVariantMap() const override;
3144 bool fromVariantMap( const QVariantMap &map ) override;
3145
3149 static QgsProcessingParameterFeatureSource *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3150
3151};
3152
3160{
3161 public:
3162
3169 QgsProcessingDestinationParameter( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3170 bool optional = false, bool createByDefault = true );
3171
3172 bool isDestination() const override { return true; }
3173 QVariantMap toVariantMap() const override;
3174 bool fromVariantMap( const QVariantMap &map ) override;
3176 QString createFileFilter() const override;
3177
3183
3189 bool supportsNonFileBasedOutput() const { return mSupportsNonFileBasedOutputs; }
3190
3196 void setSupportsNonFileBasedOutput( bool supportsNonFileBasedOutput ) { mSupportsNonFileBasedOutputs = supportsNonFileBasedOutput; }
3197
3202 virtual QString defaultFileExtension() const = 0;
3203
3209 virtual QString generateTemporaryDestination( const QgsProcessingContext *context = nullptr ) const;
3210
3225 virtual bool isSupportedOutputValue( const QVariant &value, QgsProcessingContext &context, QString &error SIP_OUT ) const;
3226
3232 bool createByDefault() const;
3233
3239 void setCreateByDefault( bool createByDefault );
3240
3241 protected:
3242
3251 QgsProcessingProvider *originalProvider() const { return mOriginalProvider; }
3252
3253 private:
3254
3262 QgsProcessingProvider *mOriginalProvider = nullptr;
3263
3264 bool mSupportsNonFileBasedOutputs = true;
3265 bool mCreateByDefault = true;
3266
3267 friend class QgsProcessingModelAlgorithm;
3268 friend class TestQgsProcessing;
3269 friend class TestQgsProcessingModelAlgorithm;
3270};
3271
3272
3281{
3282 public:
3283
3290 QgsProcessingParameterFeatureSink( const QString &name, const QString &description = QString(), Qgis::ProcessingSourceType type = Qgis::ProcessingSourceType::VectorAnyGeometry, const QVariant &defaultValue = QVariant(),
3291 bool optional = false, bool createByDefault = true, bool supportsAppend = false );
3292
3296 static QString typeName() { return QStringLiteral( "sink" ); }
3297 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3298 QString type() const override { return typeName(); }
3299 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3300 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3301 QString asScriptCode() const override;
3302 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3303 QString defaultFileExtension() const override;
3304 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
3305 QString createFileFilter() const override;
3306
3312 virtual QStringList supportedOutputVectorLayerExtensions() const;
3313
3318 Qgis::ProcessingSourceType dataType() const;
3319
3324 bool hasGeometry() const;
3325
3330 void setDataType( Qgis::ProcessingSourceType type );
3331
3340 bool supportsAppend() const;
3341
3350 void setSupportsAppend( bool supportsAppend );
3351
3352 QVariantMap toVariantMap() const override;
3353 bool fromVariantMap( const QVariantMap &map ) override;
3354 QString generateTemporaryDestination( const QgsProcessingContext *context = nullptr ) const override;
3355
3359 static QgsProcessingParameterFeatureSink *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3360
3361 private:
3362
3363 Qgis::ProcessingSourceType mDataType = Qgis::ProcessingSourceType::VectorAnyGeometry;
3364 bool mSupportsAppend = false;
3365};
3366
3367
3378{
3379 public:
3380
3387 QgsProcessingParameterVectorDestination( const QString &name, const QString &description = QString(), Qgis::ProcessingSourceType type = Qgis::ProcessingSourceType::VectorAnyGeometry, const QVariant &defaultValue = QVariant(),
3388 bool optional = false, bool createByDefault = true );
3389
3393 static QString typeName() { return QStringLiteral( "vectorDestination" ); }
3394 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3395 QString type() const override { return typeName(); }
3396 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3397 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3398 QString asScriptCode() const override;
3399 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3400 QString defaultFileExtension() const override;
3401 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
3402 QString createFileFilter() const override;
3403
3409 virtual QStringList supportedOutputVectorLayerExtensions() const;
3410
3415 Qgis::ProcessingSourceType dataType() const;
3416
3421 bool hasGeometry() const;
3422
3427 void setDataType( Qgis::ProcessingSourceType type );
3428
3429 QVariantMap toVariantMap() const override;
3430 bool fromVariantMap( const QVariantMap &map ) override;
3431
3435 static QgsProcessingParameterVectorDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3436
3437
3438 private:
3439
3440 Qgis::ProcessingSourceType mDataType = Qgis::ProcessingSourceType::VectorAnyGeometry;
3441};
3442
3450{
3451 public:
3452
3459 QgsProcessingParameterRasterDestination( const QString &name, const QString &description = QString(),
3460 const QVariant &defaultValue = QVariant(),
3461 bool optional = false,
3462 bool createByDefault = true );
3463
3467 static QString typeName() { return QStringLiteral( "rasterDestination" ); }
3468 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3469 QString type() const override { return typeName(); }
3470 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3471 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3472 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3473 QString defaultFileExtension() const override;
3474 QString createFileFilter() const override;
3475
3481 virtual QStringList supportedOutputRasterLayerExtensions() const;
3482
3486 static QgsProcessingParameterRasterDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3487};
3488
3510{
3511 public:
3512
3519 QgsProcessingParameterFileDestination( const QString &name, const QString &description = QString(),
3520 const QString &fileFilter = QString(),
3521 const QVariant &defaultValue = QVariant(),
3522 bool optional = false,
3523 bool createByDefault = true );
3524
3528 static QString typeName() { return QStringLiteral( "fileDestination" ); }
3529 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3530 QString type() const override { return typeName(); }
3531 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3532 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3533 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3534 QString defaultFileExtension() const override;
3535 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
3536 QString createFileFilter() const override;
3537
3542 QString fileFilter() const;
3543
3548 void setFileFilter( const QString &filter );
3549
3550 QVariantMap toVariantMap() const override;
3551 bool fromVariantMap( const QVariantMap &map ) override;
3552
3556 static QgsProcessingParameterFileDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3557
3558
3559 private:
3560
3561 QString mFileFilter;
3562};
3563
3571{
3572 public:
3573
3577 QgsProcessingParameterFolderDestination( const QString &name, const QString &description = QString(),
3578 const QVariant &defaultValue = QVariant(),
3579 bool optional = false,
3580 bool createByDefault = true );
3581
3585 static QString typeName() { return QStringLiteral( "folderDestination" ); }
3586 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3587 QString type() const override { return typeName(); }
3588 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3589 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3590 QString defaultFileExtension() const override;
3591
3595 static QgsProcessingParameterFolderDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3596
3597};
3598
3605{
3606 public:
3607
3611 QgsProcessingParameterBand( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3612 const QString &parentLayerParameterName = QString(),
3613 bool optional = false,
3614 bool allowMultiple = false );
3615
3619 static QString typeName() { return QStringLiteral( "band" ); }
3620 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3621 QString type() const override { return typeName(); }
3622 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3623 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3624 QString asScriptCode() const override;
3625 QStringList dependsOnOtherParameters() const override;
3627
3632 QString parentLayerParameterName() const;
3633
3638 void setParentLayerParameterName( const QString &parentLayerParameterName );
3639
3640 QVariantMap toVariantMap() const override;
3641 bool fromVariantMap( const QVariantMap &map ) override;
3642
3646 static QgsProcessingParameterBand *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3647
3653 bool allowMultiple() const;
3654
3660 void setAllowMultiple( bool allowMultiple );
3661
3662 private:
3663
3664 QString mParentLayerParameterName;
3665 bool mAllowMultiple = false;
3666};
3667
3680{
3681 public:
3682
3686 QgsProcessingParameterLayout( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3687 bool optional = false );
3688
3692 static QString typeName() { return QStringLiteral( "layout" ); }
3693 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3694 QString type() const override { return typeName(); }
3695 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3696 QString asScriptCode() const override;
3698
3702 static QgsProcessingParameterLayout *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3703
3704};
3705
3718{
3719 public:
3720
3724 QgsProcessingParameterLayoutItem( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3725 const QString &parentLayoutParameterName = QString(),
3726 int itemType = -1,
3727 bool optional = false );
3728
3732 static QString typeName() { return QStringLiteral( "layoutitem" ); }
3733 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3734 QString type() const override { return typeName(); }
3735 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3736 QString asScriptCode() const override;
3738 QVariantMap toVariantMap() const override;
3739 bool fromVariantMap( const QVariantMap &map ) override;
3740 QStringList dependsOnOtherParameters() const override;
3741
3745 static QgsProcessingParameterLayoutItem *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3746
3751 QString parentLayoutParameterName() const;
3752
3757 void setParentLayoutParameterName( const QString &name );
3758
3766 int itemType() const;
3767
3775 void setItemType( int type );
3776
3777 private:
3778 QString mParentLayoutParameterName;
3779 int mItemType = -1;
3780};
3781
3792{
3793 public:
3794
3800 QgsProcessingParameterColor( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3801 bool opacityEnabled = true,
3802 bool optional = false );
3803
3807 static QString typeName() { return QStringLiteral( "color" ); }
3808 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3809 QString type() const override { return typeName(); }
3810 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3811 QString asScriptCode() const override;
3813 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3814 QVariantMap toVariantMap() const override;
3815 bool fromVariantMap( const QVariantMap &map ) override;
3816
3823 bool opacityEnabled() const;
3824
3832 void setOpacityEnabled( bool enabled );
3833
3837 static QgsProcessingParameterColor *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3838
3839 private:
3840
3841 bool mAllowOpacity = true;
3842
3843};
3844
3845
3856{
3857 public:
3858
3862 QgsProcessingParameterCoordinateOperation( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3863 const QString &sourceCrsParameterName = QString(), const QString &destinationCrsParameterName = QString(),
3864 const QVariant &staticSourceCrs = QVariant(), const QVariant &staticDestinationCrs = QVariant(),
3865 bool optional = false );
3866
3870 static QString typeName() { return QStringLiteral( "coordinateoperation" ); }
3871 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3872 QString type() const override { return typeName(); }
3873 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3874 QString asScriptCode() const override;
3876 QStringList dependsOnOtherParameters() const override;
3877
3878 QVariantMap toVariantMap() const override;
3879 bool fromVariantMap( const QVariantMap &map ) override;
3880
3884 static QgsProcessingParameterCoordinateOperation *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3885
3891 QString sourceCrsParameterName() const { return mSourceParameterName; }
3892
3898 void setSourceCrsParameterName( const QString &name ) { mSourceParameterName = name; }
3899
3905 QString destinationCrsParameterName() const { return mDestParameterName; }
3906
3912 void setDestinationCrsParameterName( const QString &name ) { mDestParameterName = name; }
3913
3919 QVariant sourceCrs() const { return mSourceCrs; }
3920
3926 void setSourceCrs( const QVariant &crs ) { mSourceCrs = crs; }
3927
3933 QVariant destinationCrs() const { return mDestCrs; }
3934
3940 void setDestinationCrs( const QVariant &crs ) { mDestCrs = crs; }
3941
3942 private:
3943
3944 QString mSourceParameterName;
3945 QString mDestParameterName;
3946 QVariant mSourceCrs;
3947 QVariant mDestCrs;
3948
3949};
3950
3951
3962{
3963 public:
3964
3968 QgsProcessingParameterMapTheme( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3969 bool optional = false );
3970
3974 static QString typeName() { return QStringLiteral( "maptheme" ); }
3975 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3976 QString type() const override { return typeName(); }
3977 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3978 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3979 QString asScriptCode() const override;
3981 QVariantMap toVariantMap() const override;
3982 bool fromVariantMap( const QVariantMap &map ) override;
3983
3987 static QgsProcessingParameterMapTheme *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3988
3989 private:
3990
3991};
3992
3993
4005{
4006 public:
4007
4011 explicit QgsProcessingParameterDateTime( const QString &name, const QString &description = QString(),
4013 const QVariant &defaultValue = QVariant(),
4014 bool optional = false,
4015 const QDateTime &minValue = QDateTime(),
4016 const QDateTime &maxValue = QDateTime()
4017 );
4018
4022 static QString typeName() { return QStringLiteral( "datetime" ); }
4023 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4024 QString type() const override { return typeName(); }
4025 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4026 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4027 QString toolTip() const override;
4029
4037 QDateTime minimum() const;
4038
4050 void setMinimum( const QDateTime &minimum );
4051
4059 QDateTime maximum() const;
4060
4072 void setMaximum( const QDateTime &maximum );
4073
4079
4084 void setDataType( Qgis::ProcessingDateTimeParameterDataType type );
4085
4086 QVariantMap toVariantMap() const override;
4087 bool fromVariantMap( const QVariantMap &map ) override;
4088
4092 static QgsProcessingParameterDateTime *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4093
4094 private:
4095
4096 QDateTime mMin;
4097 QDateTime mMax;
4099};
4100
4101
4113{
4114 public:
4115
4122 QgsProcessingParameterProviderConnection( const QString &name, const QString &description, const QString &provider, const QVariant &defaultValue = QVariant(),
4123 bool optional = false );
4124
4128 static QString typeName() { return QStringLiteral( "providerconnection" ); }
4129 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4130 QString type() const override { return typeName(); }
4131 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4132 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4133 QString asScriptCode() const override;
4135 QVariantMap toVariantMap() const override;
4136 bool fromVariantMap( const QVariantMap &map ) override;
4137
4142 QString providerId() const { return mProviderId; }
4143
4148 void setProviderId( const QString &provider ) { mProviderId = provider; }
4149
4153 static QgsProcessingParameterProviderConnection *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4154
4155 private:
4156
4157 QString mProviderId;
4158};
4159
4160
4172{
4173 public:
4174
4183 QgsProcessingParameterDatabaseSchema( const QString &name, const QString &description, const QString &connectionParameterName = QString(), const QVariant &defaultValue = QVariant(),
4184 bool optional = false );
4185
4189 static QString typeName() { return QStringLiteral( "databaseschema" ); }
4190 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4191 QString type() const override { return typeName(); }
4192 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4193 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4194 QString asScriptCode() const override;
4196 QVariantMap toVariantMap() const override;
4197 bool fromVariantMap( const QVariantMap &map ) override;
4198 QStringList dependsOnOtherParameters() const override;
4199
4204 QString parentConnectionParameterName() const;
4205
4210 void setParentConnectionParameterName( const QString &name );
4211
4215 static QgsProcessingParameterDatabaseSchema *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4216
4217 private:
4218
4219 QString mParentConnectionParameterName;
4220};
4221
4222
4234{
4235 public:
4236
4246 QgsProcessingParameterDatabaseTable( const QString &name, const QString &description,
4247 const QString &connectionParameterName = QString(),
4248 const QString &schemaParameterName = QString(),
4249 const QVariant &defaultValue = QVariant(),
4250 bool optional = false,
4251 bool allowNewTableNames = false );
4252
4256 static QString typeName() { return QStringLiteral( "databasetable" ); }
4257 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4258 QString type() const override { return typeName(); }
4259 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4260 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4261 QString asScriptCode() const override;
4263 QVariantMap toVariantMap() const override;
4264 bool fromVariantMap( const QVariantMap &map ) override;
4265 QStringList dependsOnOtherParameters() const override;
4266
4271 QString parentConnectionParameterName() const;
4272
4277 void setParentConnectionParameterName( const QString &name );
4278
4283 QString parentSchemaParameterName() const;
4284
4289 void setParentSchemaParameterName( const QString &name );
4290
4294 static QgsProcessingParameterDatabaseTable *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4295
4302 bool allowNewTableNames() const;
4303
4310 void setAllowNewTableNames( bool allowed );
4311
4312 private:
4313
4314 QString mParentConnectionParameterName;
4315 QString mParentSchemaParameterName;
4316 bool mAllowNewTableNames = false;
4317};
4318
4319
4327{
4328 public:
4329
4333 QgsProcessingParameterPointCloudLayer( const QString &name, const QString &description = QString(),
4334 const QVariant &defaultValue = QVariant(), bool optional = false );
4335
4339 static QString typeName() { return QStringLiteral( "pointcloud" ); }
4340 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4341 QString type() const override { return typeName(); }
4342 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4343 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4344 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
4345 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
4346 QString createFileFilter() const override;
4347
4351 static QgsProcessingParameterPointCloudLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4352};
4353
4354
4362{
4363 public:
4364
4368 QgsProcessingParameterAnnotationLayer( const QString &name, const QString &description = QString(),
4369 const QVariant &defaultValue = QVariant(), bool optional = false );
4370
4374 static QString typeName() { return QStringLiteral( "annotation" ); }
4375 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4376 QString type() const override { return typeName(); }
4377 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4378 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4379 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
4380 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
4381
4385 static QgsProcessingParameterAnnotationLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4386};
4387
4396{
4397 public:
4398
4405 QgsProcessingParameterPointCloudDestination( const QString &name, const QString &description = QString(),
4406 const QVariant &defaultValue = QVariant(),
4407 bool optional = false,
4408 bool createByDefault = true );
4409
4413 static QString typeName() { return QStringLiteral( "pointCloudDestination" ); }
4414 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4415 QString type() const override { return typeName(); }
4416 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4417 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4418 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
4419 QString defaultFileExtension() const override;
4420 QString createFileFilter() const override;
4421
4426 virtual QStringList supportedOutputPointCloudLayerExtensions() const;
4427
4431 static QgsProcessingParameterPointCloudDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4432};
4433
4441{
4442 public:
4443
4447 QgsProcessingParameterPointCloudAttribute( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
4448 const QString &parentLayerParameterName = QString(),
4449 bool allowMultiple = false,
4450 bool optional = false,
4451 bool defaultToAllAttributes = false );
4452
4456 static QString typeName() { return QStringLiteral( "attribute" ); }
4457 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4458 QString type() const override { return typeName(); }
4459 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4460 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4461 QString asScriptCode() const override;
4463 QStringList dependsOnOtherParameters() const override;
4464
4469 QString parentLayerParameterName() const;
4470
4475 void setParentLayerParameterName( const QString &parentLayerParameterName );
4476
4481 bool allowMultiple() const;
4482
4487 void setAllowMultiple( bool allowMultiple );
4488
4497 bool defaultToAllAttributes() const;
4498
4507 void setDefaultToAllAttributes( bool enabled );
4508
4509 QVariantMap toVariantMap() const override;
4510 bool fromVariantMap( const QVariantMap &map ) override;
4511
4515 static QgsProcessingParameterPointCloudAttribute *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4516
4517 private:
4518
4519 QString mParentLayerParameterName;
4520 bool mAllowMultiple = false;
4521 bool mDefaultToAllAttributes = false;
4522};
4523
4532{
4533 public:
4534
4541 QgsProcessingParameterVectorTileDestination( const QString &name, const QString &description = QString(),
4542 const QVariant &defaultValue = QVariant(),
4543 bool optional = false,
4544 bool createByDefault = true );
4545
4549 static QString typeName() { return QStringLiteral( "vectorTileDestination" ); }
4550 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4551 QString type() const override { return typeName(); }
4552 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4553 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4554 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
4555 QString defaultFileExtension() const override;
4556 QString createFileFilter() const override;
4557
4562 virtual QStringList supportedOutputVectorTileLayerExtensions() const;
4563
4567 static QgsProcessingParameterVectorTileDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4568};
4569
4570// clazy:excludeall=qstring-allocations
4571
4572#endif // QGSPROCESSINGPARAMETERS_H
4573
4574
The Qgis class provides global constants for use throughout the application.
Definition qgis.h:54
ProcessingSourceType
Processing data source types.
Definition qgis.h:3000
@ VectorAnyGeometry
Any vector layer with geometry.
ProcessingFileParameterBehavior
Flags which dictate the behavior of QgsProcessingParameterFile.
Definition qgis.h:3219
@ File
Parameter is a single file.
ExpressionType
Expression types.
Definition qgis.h:4701
@ Qgis
Native QGIS expression.
DistanceUnit
Units of distance.
Definition qgis.h:4363
@ Unknown
Unknown distance unit.
ProcessingFieldParameterDataType
Processing field parameter data types.
Definition qgis.h:3247
TemporalUnit
Temporal units.
Definition qgis.h:4470
@ Milliseconds
Milliseconds.
QFlags< ProcessingParameterFlag > ProcessingParameterFlags
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3208
InvalidGeometryCheck
Methods for handling of features with invalid geometries.
Definition qgis.h:1875
@ 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:3130
WkbType
The WKB type describes the number of dimensions a geometry has.
Definition qgis.h:201
ProcessingDateTimeParameterDataType
Processing date time parameter data types.
Definition qgis.h:3265
ProcessingNumberParameterType
Processing numeric parameter data types.
Definition qgis.h:3233
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:46
Abstract interface for classes which generate a file filter string.
A geometry is the spatial representation of a feature.
Base class for graphical items within a QgsLayout.
Base class for all map layer types.
Definition qgsmaplayer.h:75
Represents a mesh layer supporting display of data on structured or unstructured meshes.
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.
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.
QFlags< LayerOptionsFlag > LayerOptionsFlags
PythonOutputType
Available Python output types.
@ PythonQgsProcessingAlgorithmSubclass
Full Python QgsProcessingAlgorithm subclass.
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition qgsproject.h:107
Definition for a property.
Definition qgsproperty.h:45
A store for object properties.
Represents a raster layer.
A rectangle specified with double values.
Defines the parameters used to remap features when creating a QgsRemappingProxyFeatureSink.
Represents a vector layer which manages a vector based 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