QGIS API Documentation 3.99.0-Master (21b3aa880ba)
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 <limits>
22
23#include "qgis.h"
24#include "qgis_core.h"
27#include "qgsprocessing.h"
28#include "qgsprocessingutils.h"
29#include "qgsproperty.h"
31
32#include <QColor>
33#include <QMap>
34
37class QgsRasterLayer;
38class QgsMeshLayer;
39class QgsVectorLayer;
40class QgsFeatureSink;
45class QgsPrintLayout;
46class QgsLayoutItem;
49
57
59{
60 public:
61
87
113
118
123
130 long long featureLimit = -1;
131
138
145
154
161 QVariant toVariant() const;
162
169 bool loadVariant( const QVariantMap &map );
170
171 // TODO c++20 - replace with = default
173 {
174 return source == other.source
176 && featureLimit == other.featureLimit
178 && flags == other.flags
179 && geometryCheck == other.geometryCheck;
180 }
181
183 {
184 return !( *this == other );
185 }
186
188 operator QVariant() const
189 {
190 return QVariant::fromValue( *this );
191 }
192
193};
194
196
197
204
206{
207 public:
208
218 QgsProcessingRasterLayerDefinition( const QString &source = QString(), const double referenceScale = 0, const int dpi = 96 )
219 : source( QgsProperty::fromValue( source ) )
221 , dpi( dpi )
222 {}
223
233 QgsProcessingRasterLayerDefinition( const QgsProperty &source, const double referenceScale = 0, const int dpi = 96 )
234 : source( source )
236 , dpi( dpi )
237 {}
238
243
247 double referenceScale = 0;
248
252 int dpi = 96;
253
259 QVariant toVariant() const;
260
266 bool loadVariant( const QVariantMap &map );
267
268 // TODO c++20 - replace with = default
270 {
271 return source == other.source
273 && dpi == other.dpi;
274 }
275
277 {
278 return !( *this == other );
279 }
280
282 operator QVariant() const
283 {
284 return QVariant::fromValue( *this );
285 }
286
287};
288
290
291
298
300{
301 public:
302
309 : sink( QgsProperty::fromValue( sink ) )
311 {}
312
322
327
334
339
346 QVariantMap createOptions;
347
354 bool useRemapping() const { return mUseRemapping; }
355
363 QgsRemappingSinkDefinition remappingDefinition() const { return mRemappingDefinition; }
364
375 void setRemappingDefinition( const QgsRemappingSinkDefinition &definition );
376
383 QVariant toVariant() const;
384
391 bool loadVariant( const QVariantMap &map );
392
394 operator QVariant() const
395 {
396 return QVariant::fromValue( *this );
397 }
398
399 // TODO c++20 - replace with = default
400 bool operator==( const QgsProcessingOutputLayerDefinition &other ) const;
401 bool operator!=( const QgsProcessingOutputLayerDefinition &other ) const;
402
403 private:
404
405 bool mUseRemapping = false;
407
408};
409
411
412
413
414
415//
416// Parameter definitions
417//
418
419
429
431{
432
433#ifdef SIP_RUN
434 % TypeHeaderCode
441 % End
443 if ( sipCpp->type() == QgsProcessingParameterBoolean::typeName() )
444 sipType = sipType_QgsProcessingParameterBoolean;
445 else if ( sipCpp->type() == QgsProcessingParameterCrs::typeName() )
446 sipType = sipType_QgsProcessingParameterCrs;
447 else if ( sipCpp->type() == QgsProcessingParameterMapLayer::typeName() )
448 sipType = sipType_QgsProcessingParameterMapLayer;
449 else if ( sipCpp->type() == QgsProcessingParameterExtent::typeName() )
450 sipType = sipType_QgsProcessingParameterExtent;
451 else if ( sipCpp->type() == QgsProcessingParameterPoint::typeName() )
452 sipType = sipType_QgsProcessingParameterPoint;
453 else if ( sipCpp->type() == QgsProcessingParameterGeometry::typeName() )
454 sipType = sipType_QgsProcessingParameterGeometry;
455 else if ( sipCpp->type() == QgsProcessingParameterFile::typeName() )
456 sipType = sipType_QgsProcessingParameterFile;
457 else if ( sipCpp->type() == QgsProcessingParameterMatrix::typeName() )
458 sipType = sipType_QgsProcessingParameterMatrix;
459 else if ( sipCpp->type() == QgsProcessingParameterMultipleLayers::typeName() )
460 sipType = sipType_QgsProcessingParameterMultipleLayers;
461 else if ( sipCpp->type() == QgsProcessingParameterNumber::typeName() )
462 sipType = sipType_QgsProcessingParameterNumber;
463 else if ( sipCpp->type() == QgsProcessingParameterDistance::typeName() )
464 sipType = sipType_QgsProcessingParameterDistance;
465 else if ( sipCpp->type() == QgsProcessingParameterArea::typeName() )
466 sipType = sipType_QgsProcessingParameterArea;
467 else if ( sipCpp->type() == QgsProcessingParameterVolume::typeName() )
468 sipType = sipType_QgsProcessingParameterVolume;
469 else if ( sipCpp->type() == QgsProcessingParameterDuration::typeName() )
470 sipType = sipType_QgsProcessingParameterDuration;
471 else if ( sipCpp->type() == QgsProcessingParameterScale::typeName() )
472 sipType = sipType_QgsProcessingParameterScale;
473 else if ( sipCpp->type() == QgsProcessingParameterRange::typeName() )
474 sipType = sipType_QgsProcessingParameterRange;
475 else if ( sipCpp->type() == QgsProcessingParameterRasterLayer::typeName() )
476 sipType = sipType_QgsProcessingParameterRasterLayer;
477 else if ( sipCpp->type() == QgsProcessingParameterMeshLayer::typeName() )
478 sipType = sipType_QgsProcessingParameterMeshLayer;
479 else if ( sipCpp->type() == QgsProcessingParameterEnum::typeName() )
480 sipType = sipType_QgsProcessingParameterEnum;
481 else if ( sipCpp->type() == QgsProcessingParameterString::typeName() )
482 sipType = sipType_QgsProcessingParameterString;
483 else if ( sipCpp->type() == QgsProcessingParameterExpression::typeName() )
484 sipType = sipType_QgsProcessingParameterExpression;
485 else if ( sipCpp->type() == QgsProcessingParameterAuthConfig::typeName() )
486 sipType = sipType_QgsProcessingParameterAuthConfig;
487 else if ( sipCpp->type() == QgsProcessingParameterVectorLayer::typeName() )
488 sipType = sipType_QgsProcessingParameterVectorLayer;
489 else if ( sipCpp->type() == QgsProcessingParameterField::typeName() )
490 sipType = sipType_QgsProcessingParameterField;
491 else if ( sipCpp->type() == QgsProcessingParameterFeatureSource::typeName() )
492 sipType = sipType_QgsProcessingParameterFeatureSource;
493 else if ( sipCpp->type() == QgsProcessingParameterFeatureSink::typeName() )
494 sipType = sipType_QgsProcessingParameterFeatureSink;
495 else if ( sipCpp->type() == QgsProcessingParameterVectorDestination::typeName() )
496 sipType = sipType_QgsProcessingParameterVectorDestination;
497 else if ( sipCpp->type() == QgsProcessingParameterRasterDestination::typeName() )
498 sipType = sipType_QgsProcessingParameterRasterDestination;
499 else if ( sipCpp->type() == QgsProcessingParameterPointCloudDestination::typeName() )
500 sipType = sipType_QgsProcessingParameterPointCloudDestination;
501 else if ( sipCpp->type() == QgsProcessingParameterFileDestination::typeName() )
502 sipType = sipType_QgsProcessingParameterFileDestination;
503 else if ( sipCpp->type() == QgsProcessingParameterFolderDestination::typeName() )
504 sipType = sipType_QgsProcessingParameterFolderDestination;
505 else if ( sipCpp->type() == QgsProcessingParameterBand::typeName() )
506 sipType = sipType_QgsProcessingParameterBand;
507 else if ( sipCpp->type() == QgsProcessingParameterLayout::typeName() )
508 sipType = sipType_QgsProcessingParameterLayout;
509 else if ( sipCpp->type() == QgsProcessingParameterLayoutItem::typeName() )
510 sipType = sipType_QgsProcessingParameterLayoutItem;
511 else if ( sipCpp->type() == QgsProcessingParameterColor::typeName() )
512 sipType = sipType_QgsProcessingParameterColor;
513 else if ( sipCpp->type() == QgsProcessingParameterCoordinateOperation::typeName() )
514 sipType = sipType_QgsProcessingParameterCoordinateOperation;
515 else if ( sipCpp->type() == QgsProcessingParameterMapTheme::typeName() )
516 sipType = sipType_QgsProcessingParameterMapTheme;
517 else if ( sipCpp->type() == QgsProcessingParameterDateTime::typeName() )
518 sipType = sipType_QgsProcessingParameterDateTime;
519 else if ( sipCpp->type() == QgsProcessingParameterProviderConnection::typeName() )
520 sipType = sipType_QgsProcessingParameterProviderConnection;
521 else if ( sipCpp->type() == QgsProcessingParameterDatabaseSchema::typeName() )
522 sipType = sipType_QgsProcessingParameterDatabaseSchema;
523 else if ( sipCpp->type() == QgsProcessingParameterDatabaseTable::typeName() )
524 sipType = sipType_QgsProcessingParameterDatabaseTable;
525 else if ( sipCpp->type() == QgsProcessingParameterFieldMapping::typeName() )
526 sipType = sipType_QgsProcessingParameterFieldMapping;
527 else if ( sipCpp->type() == QgsProcessingParameterTinInputLayers::typeName() )
528 sipType = sipType_QgsProcessingParameterTinInputLayers;
529 else if ( sipCpp->type() == QgsProcessingParameterVectorTileWriterLayers::typeName() )
530 sipType = sipType_QgsProcessingParameterVectorTileWriterLayers;
531 else if ( sipCpp->type() == QgsProcessingParameterDxfLayers::typeName() )
532 sipType = sipType_QgsProcessingParameterDxfLayers;
533 else if ( sipCpp->type() == QgsProcessingParameterMeshDatasetGroups::typeName() )
534 sipType = sipType_QgsProcessingParameterMeshDatasetGroups;
535 else if ( sipCpp->type() == QgsProcessingParameterMeshDatasetTime::typeName() )
536 sipType = sipType_QgsProcessingParameterMeshDatasetTime;
537 else if ( sipCpp->type() == QgsProcessingParameterPointCloudLayer::typeName() )
538 sipType = sipType_QgsProcessingParameterPointCloudLayer;
539 else if ( sipCpp->type() == QgsProcessingParameterAnnotationLayer::typeName() )
540 sipType = sipType_QgsProcessingParameterAnnotationLayer;
541 else if ( sipCpp->type() == QgsProcessingParameterPointCloudAttribute::typeName() )
542 sipType = sipType_QgsProcessingParameterPointCloudAttribute;
543 else if ( sipCpp->type() == QgsProcessingParameterVectorTileDestination::typeName() )
544 sipType = sipType_QgsProcessingParameterVectorTileDestination;
545 else
546 sipType = nullptr;
547 SIP_END
548#endif
549
550 public:
551
555 QgsProcessingParameterDefinition( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
556 bool optional = false, const QString &help = QString() );
557
559
567 virtual QColor modelColor() const;
568
575 virtual QString userFriendlyString( const QVariant &value ) const;
576
581
585 virtual QString type() const = 0;
586
592 virtual bool isDestination() const { return false; }
593
599 QString name() const { return mName; }
600
606 void setName( const QString &name ) { mName = name; }
607
613 QString description() const { return mDescription; }
614
621
631 QString help() const { return mHelp; }
632
642 void setHelp( const QString &help ) { mHelp = help; }
643
650 QVariant defaultValue() const { return mDefault; }
651
658 void setDefaultValue( const QVariant &value ) { mDefault = value; }
659
672 QVariant guiDefaultValueOverride() const;
673
689 void setGuiDefaultValueOverride( const QVariant &value ) { mGuiDefault = value; }
690
699 QVariant defaultValueForGui() const;
700
706
712
720 virtual bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const;
721
729 virtual QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const;
730
742 virtual QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const;
743
757 virtual QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const;
758
772 virtual QStringList valueAsStringList( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const;
773
779 virtual QString valueAsPythonComment( const QVariant &value, QgsProcessingContext &context ) const;
780
785 virtual QString asScriptCode() const;
786
797
803 virtual QVariantMap toVariantMap() const;
804
810 virtual bool fromVariantMap( const QVariantMap &map );
811
818 SIP_SKIP QVariantMap metadata() const { return mMetadata; }
819
825 QVariantMap &metadata() { return mMetadata; }
826
832 void setMetadata( const QVariantMap &metadata ) { mMetadata = metadata; }
833
838 virtual QStringList dependsOnOtherParameters() const { return QStringList(); }
839
846
852 QgsProcessingProvider *provider() const;
853
858 virtual QString toolTip() const;
859
867 bool isDynamic() const { return mIsDynamic; }
868
876 void setIsDynamic( bool dynamic ) { mIsDynamic = dynamic; }
877
885
893
906
919
934
952 void setAdditionalExpressionContextVariables( const QStringList &variables ) { mAdditionalExpressionVariables = variables; }
953
954#ifndef SIP_RUN
955
963 enum class ValueAsStringFlag : int
964 {
965 AllowMapLayerValues = 1 << 0,
966 };
968#endif
969
970 protected:
971
972#ifndef SIP_RUN
973
980 QString valueAsStringPrivate( const QVariant &value, QgsProcessingContext &context, bool &ok, ValueAsStringFlags flags ) const;
981
988 QVariant valueAsJsonObjectPrivate( const QVariant &value, QgsProcessingContext &context, ValueAsStringFlags flags ) const;
989#endif
990
997 QVariant defaultGuiValueFromSetting() const;
998
1000 QString mName;
1001
1004
1006 QString mHelp;
1007
1009 QVariant mDefault;
1010
1012 QVariant mGuiDefault;
1013
1016
1018 QVariantMap mMetadata;
1019
1022
1024 bool mIsDynamic = false;
1025
1028
1031
1034
1035 // To allow access to mAlgorithm. We don't want a public setter for this!
1037
1038};
1039
1040#ifndef SIP_RUN
1042#endif
1043
1045typedef QList< const QgsProcessingParameterDefinition * > QgsProcessingParameterDefinitions;
1046
1063
1065{
1066
1067 public:
1068
1073 static bool isDynamic( const QVariantMap &parameters, const QString &name );
1074
1078 static QString parameterAsString( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1079
1084 static QString parameterAsString( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1085
1089 static QString parameterAsExpression( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1090
1095 static QString parameterAsExpression( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1096
1100 static double parameterAsDouble( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1101
1106 static double parameterAsDouble( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1107
1111 static int parameterAsInt( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1112
1117 static int parameterAsInt( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1118
1123 static QList<int> parameterAsInts( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1124
1129 static QList<int> parameterAsInts( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1130
1139 static QDateTime parameterAsDateTime( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1140
1149 static QDateTime parameterAsDateTime( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1150
1159 static QDate parameterAsDate( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1160
1169 static QDate parameterAsDate( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1170
1179 static QTime parameterAsTime( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1180
1189 static QTime parameterAsTime( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1190
1194 static int parameterAsEnum( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1195
1200 static int parameterAsEnum( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1201
1205 static QList<int> parameterAsEnums( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1206
1211 static QList<int> parameterAsEnums( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1212
1217 static QString parameterAsEnumString( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1218
1223 static QString parameterAsEnumString( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1224
1229 static QStringList parameterAsEnumStrings( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1230
1235 static QStringList parameterAsEnumStrings( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1236
1240 static bool parameterAsBool( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1241
1247 static bool parameterAsBoolean( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1248
1253 static bool parameterAsBool( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1254
1259 static bool parameterAsBoolean( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1260
1278 static QgsFeatureSink *parameterAsSink( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters,
1279 const QgsFields &fields, Qgis::WkbType geometryType, const QgsCoordinateReferenceSystem &crs,
1280 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;
1281
1301 static QgsFeatureSink *parameterAsSink( const QgsProcessingParameterDefinition *definition, const QVariant &value,
1302 const QgsFields &fields, Qgis::WkbType geometryType, const QgsCoordinateReferenceSystem &crs,
1303 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;
1304
1313 static QgsProcessingFeatureSource *parameterAsSource( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context ) SIP_FACTORY;
1314
1325 static QgsProcessingFeatureSource *parameterAsSource( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context ) SIP_FACTORY;
1326
1342 static QString parameterAsCompatibleSourceLayerPath( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters,
1343 QgsProcessingContext &context, const QStringList &compatibleFormats, const QString &preferredFormat = QString( "shp" ), QgsProcessingFeedback *feedback = nullptr );
1344
1374 static QString parameterAsCompatibleSourceLayerPathAndLayerName( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters,
1375 QgsProcessingContext &context, const QStringList &compatibleFormats, const QString &preferredFormat = QString( "shp" ), QgsProcessingFeedback *feedback = nullptr, QString *layerName SIP_OUT = nullptr );
1376
1385
1396
1404 static QgsRasterLayer *parameterAsRasterLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1405
1415 static QgsRasterLayer *parameterAsRasterLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1416
1420 static QString parameterAsOutputLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1421
1430 static QString parameterAsOutputLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, bool testOnly = false );
1431
1435 static QString parameterAsFileOutput( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1436
1441 static QString parameterAsFileOutput( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1442
1450 static QgsVectorLayer *parameterAsVectorLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1451
1461 static QgsVectorLayer *parameterAsVectorLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1462
1472 static QgsMeshLayer *parameterAsMeshLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1473
1483 static QgsMeshLayer *parameterAsMeshLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1484
1488 static QgsCoordinateReferenceSystem parameterAsCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1489
1494 static QgsCoordinateReferenceSystem parameterAsCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1495
1505 static QgsRectangle parameterAsExtent( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context,
1507
1519 static QgsRectangle parameterAsExtent( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context,
1521
1533 static QgsGeometry parameterAsExtentGeometry( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context,
1535
1541 static QgsCoordinateReferenceSystem parameterAsExtentCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1542
1548 static QgsCoordinateReferenceSystem parameterAsExtentCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1549
1550
1558 static QgsPointXY parameterAsPoint( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context,
1560
1569 static QgsPointXY parameterAsPoint( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context,
1571
1577 static QgsCoordinateReferenceSystem parameterAsPointCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1578
1585 static QgsCoordinateReferenceSystem parameterAsPointCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1586
1592 static QgsGeometry parameterAsGeometry( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem() );
1593
1600
1607 static QgsCoordinateReferenceSystem parameterAsGeometryCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1608
1615 static QgsCoordinateReferenceSystem parameterAsGeometryCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1616
1620 static QString parameterAsFile( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1621
1626 static QString parameterAsFile( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1627
1632 static QVariantList parameterAsMatrix( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1633
1639 static QVariantList parameterAsMatrix( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1640
1645 static QList< QgsMapLayer *> parameterAsLayerList( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsProcessing::LayerOptionsFlags flags = QgsProcessing::LayerOptionsFlags() );
1646
1652 static QList< QgsMapLayer *> parameterAsLayerList( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, QgsProcessing::LayerOptionsFlags flags = QgsProcessing::LayerOptionsFlags() );
1653
1659 static QStringList parameterAsFileList( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1660
1666 static QStringList parameterAsFileList( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1667
1671 static QList<double> parameterAsRange( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1672
1677 static QList<double> parameterAsRange( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1678
1684 Q_DECL_DEPRECATED static QStringList parameterAsFields( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context ) SIP_DEPRECATED;
1685
1692 Q_DECL_DEPRECATED static QStringList parameterAsFields( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context ) SIP_DEPRECATED;
1693
1699 static QStringList parameterAsStrings( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1700
1706 static QStringList parameterAsStrings( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1707
1716 static QgsPrintLayout *parameterAsLayout( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1717
1726 static QgsPrintLayout *parameterAsLayout( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1727
1736 static QgsLayoutItem *parameterAsLayoutItem( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsPrintLayout *layout );
1737
1746 static QgsLayoutItem *parameterAsLayoutItem( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, QgsPrintLayout *layout );
1747
1753 static QColor parameterAsColor( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1754
1760 static QColor parameterAsColor( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1761
1767 static QString parameterAsConnectionName( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1768
1774 static QString parameterAsConnectionName( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1775
1781 static QString parameterAsSchema( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1782
1788 static QString parameterAsSchema( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1789
1795 static QString parameterAsDatabaseTableName( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1796
1802 static QString parameterAsDatabaseTableName( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1803
1815
1827
1841 static QgsAnnotationLayer *parameterAsAnnotationLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1842
1856 static QgsAnnotationLayer *parameterAsAnnotationLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1857
1864
1868 static QString descriptionFromName( const QString &name );
1869
1876
1877 private:
1878
1879 static bool parseScriptCodeParameterOptions( const QString &code, bool &isOptional, QString &name, QString &type, QString &definition );
1880};
1881
1882
1883
1890{
1891 public:
1892
1896 QgsProcessingParameterBoolean( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1897 bool optional = false );
1898
1902 static QString typeName() { return QStringLiteral( "boolean" ); }
1903 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1904 QString type() const override { return typeName(); }
1905 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1906 QString asScriptCode() const override;
1907
1911 static QgsProcessingParameterBoolean *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1912};
1913
1920{
1921 public:
1922
1926 QgsProcessingParameterCrs( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1927 bool optional = false );
1928
1929 QString userFriendlyString( const QVariant &value ) const override;
1930
1934 static QString typeName() { return QStringLiteral( "crs" ); }
1935 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1936 QString type() const override { return typeName(); }
1937 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1938 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1939 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
1940 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
1941
1945 static QgsProcessingParameterCrs *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1946
1947};
1948
1955{
1956 public:
1957
1961 QgsProcessingParameterExtent( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1962 bool optional = false );
1963
1967 static QString typeName() { return QStringLiteral( "extent" ); }
1968 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1969 QString type() const override { return typeName(); }
1970 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1971 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1972 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
1973 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
1974
1978 static QgsProcessingParameterExtent *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1979
1980 private:
1981
1987 static bool variantIsValidStringForExtent( const QVariant &value );
1988
1989};
1990
1991
1998{
1999 public:
2000
2004 QgsProcessingParameterPoint( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2005 bool optional = false );
2006
2010 static QString typeName() { return QStringLiteral( "point" ); }
2011 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2012 QString type() const override { return typeName(); }
2013 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2014 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2015
2019 static QgsProcessingParameterPoint *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2020
2021};
2022
2030{
2031 public:
2032
2040 QgsProcessingParameterGeometry( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false, const QList< int > &geometryTypes = QList< int >(), bool allowMultipart = true );
2041
2045 static QString typeName() { return QStringLiteral( "geometry" ); }
2046 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2047 QString type() const override { return typeName(); }
2048 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2049 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2050 QString asScriptCode() const override;
2052 QVariantMap toVariantMap() const override;
2053 bool fromVariantMap( const QVariantMap &map ) override;
2054
2059 QList<int> geometryTypes() const { return mGeomTypes; }
2060
2065 void setGeometryTypes( const QList<int> &geometryTypes ) { mGeomTypes = geometryTypes; }
2066
2071 bool allowMultipart() const { return mAllowMultipart; }
2072
2077 void setAllowMultipart( bool allowMultipart ) { mAllowMultipart = allowMultipart; }
2078
2079 QString userFriendlyString( const QVariant &value ) const override;
2080
2084 static QgsProcessingParameterGeometry *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2085
2086 private:
2087
2088 QList<int> mGeomTypes;
2089 bool mAllowMultipart;
2090
2091};
2092
2099{
2100 public:
2101
2109 QgsProcessingParameterFile( const QString &name, const QString &description = QString(), Qgis::ProcessingFileParameterBehavior behavior = Qgis::ProcessingFileParameterBehavior::File, const QString &extension = QString(), const QVariant &defaultValue = QVariant(),
2110 bool optional = false, const QString &fileFilter = QString() );
2111
2115 static QString typeName() { return QStringLiteral( "file" ); }
2116 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2117 QString type() const override { return typeName(); }
2118 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2119 QString asScriptCode() const override;
2121 QString createFileFilter() const override;
2122
2128
2134
2142 QString extension() const { return mExtension; }
2143
2153 void setExtension( const QString &extension );
2154
2161 QString fileFilter() const;
2162
2172 void setFileFilter( const QString &filter );
2173
2174 QVariantMap toVariantMap() const override;
2175 bool fromVariantMap( const QVariantMap &map ) override;
2176
2180 static QgsProcessingParameterFile *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition, Qgis::ProcessingFileParameterBehavior behavior = Qgis::ProcessingFileParameterBehavior::File ) SIP_FACTORY;
2181
2182 private:
2183
2185 QString mExtension;
2186 QString mFileFilter;
2187};
2188
2195{
2196 public:
2197
2201 QgsProcessingParameterMatrix( const QString &name, const QString &description = QString(), int numberRows = 3,
2202 bool hasFixedNumberRows = false, const QStringList &headers = QStringList(),
2203 const QVariant &defaultValue = QVariant(),
2204 bool optional = false );
2205
2209 static QString typeName() { return QStringLiteral( "matrix" ); }
2210
2211 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2212 QString type() const override { return typeName(); }
2213 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2214 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2216
2221 QStringList headers() const;
2222
2227 void setHeaders( const QStringList &headers );
2228
2235 int numberRows() const;
2236
2243 void setNumberRows( int rows );
2244
2250 bool hasFixedNumberRows() const;
2251
2257 void setHasFixedNumberRows( bool hasFixedNumberRows );
2258
2259 QVariantMap toVariantMap() const override;
2260 bool fromVariantMap( const QVariantMap &map ) override;
2261
2265 static QgsProcessingParameterMatrix *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2266
2267 private:
2268
2269 QStringList mHeaders;
2270 int mNumberRows = 3;
2271 bool mFixedNumberRows = false;
2272
2273};
2274
2281{
2282 public:
2283
2288 const QVariant &defaultValue = QVariant(),
2289 bool optional = false );
2290
2294 static QString typeName() { return QStringLiteral( "multilayer" ); }
2295 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2296 QString type() const override { return typeName(); }
2297 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2298 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2299 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2300 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2301 QString asScriptCode() const override;
2303 QString createFileFilter() const override;
2304
2309 Qgis::ProcessingSourceType layerType() const;
2310
2315 void setLayerType( Qgis::ProcessingSourceType type );
2316
2322 int minimumNumberInputs() const;
2323
2329 void setMinimumNumberInputs( int minimum );
2330
2331 QVariantMap toVariantMap() const override;
2332 bool fromVariantMap( const QVariantMap &map ) override;
2333
2337 static QgsProcessingParameterMultipleLayers *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2338
2339 private:
2340
2342 int mMinimumNumberInputs = 0;
2343
2344};
2345
2364{
2365 public:
2366
2370 explicit QgsProcessingParameterNumber( const QString &name, const QString &description = QString(),
2372 const QVariant &defaultValue = QVariant(),
2373 bool optional = false,
2374 double minValue = std::numeric_limits<double>::lowest() + 1,
2375 double maxValue = std::numeric_limits<double>::max()
2376 );
2377
2381 static QString typeName() { return QStringLiteral( "number" ); }
2382
2383 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2384 QString type() const override { return typeName(); }
2385 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2386 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2387 QString toolTip() const override;
2389
2394 double minimum() const;
2395
2400 void setMinimum( double minimum );
2401
2406 double maximum() const;
2407
2412 void setMaximum( double maximum );
2413
2418 Qgis::ProcessingNumberParameterType dataType() const;
2419
2424 void setDataType( Qgis::ProcessingNumberParameterType type );
2425
2426 QVariantMap toVariantMap() const override;
2427 bool fromVariantMap( const QVariantMap &map ) override;
2428
2432 static QgsProcessingParameterNumber *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2433
2434 private:
2435
2436 double mMin = std::numeric_limits<double>::lowest() + 1;
2437 double mMax = std::numeric_limits<double>::max();
2439};
2440
2463{
2464 public:
2465
2469 explicit QgsProcessingParameterDistance( const QString &name, const QString &description = QString(),
2470 const QVariant &defaultValue = QVariant(),
2471 const QString &parentParameterName = QString(),
2472 bool optional = false,
2473 double minValue = std::numeric_limits<double>::lowest() + 1,
2474 double maxValue = std::numeric_limits<double>::max() );
2475
2479 static QString typeName() { return QStringLiteral( "distance" ); } // cppcheck-suppress duplInheritedMember
2480
2481 QString userFriendlyString( const QVariant &value ) const override;
2482
2483 QgsProcessingParameterDistance *clone() const override SIP_FACTORY;
2484
2485 QString type() const override;
2486 QStringList dependsOnOtherParameters() const override;
2487 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2488
2493 QString parentParameterName() const;
2494
2499 void setParentParameterName( const QString &parentParameterName );
2500
2507 Qgis::DistanceUnit defaultUnit() const { return mDefaultUnit; }
2508
2515 void setDefaultUnit( Qgis::DistanceUnit unit ) { mDefaultUnit = unit; }
2516
2517 QVariantMap toVariantMap() const override;
2518 bool fromVariantMap( const QVariantMap &map ) override;
2519
2520 private:
2521
2522 QString mParentParameterName;
2524
2525};
2526
2527
2550{
2551 public:
2552
2556 explicit QgsProcessingParameterArea( const QString &name, const QString &description = QString(),
2557 const QVariant &defaultValue = QVariant(),
2558 const QString &parentParameterName = QString(),
2559 bool optional = false,
2560 double minValue = 0,
2561 double maxValue = std::numeric_limits<double>::max() );
2562
2566 static QString typeName() { return QStringLiteral( "area" ); } // cppcheck-suppress duplInheritedMember
2567
2568 QgsProcessingParameterArea *clone() const override SIP_FACTORY;
2569
2570 QString type() const override;
2571 QStringList dependsOnOtherParameters() const override;
2572 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2573
2578 QString parentParameterName() const;
2579
2584 void setParentParameterName( const QString &parentParameterName );
2585
2591 Qgis::AreaUnit defaultUnit() const { return mDefaultUnit; }
2592
2598 void setDefaultUnit( Qgis::AreaUnit unit ) { mDefaultUnit = unit; }
2599
2600 QVariantMap toVariantMap() const override;
2601 bool fromVariantMap( const QVariantMap &map ) override;
2602 QString userFriendlyString( const QVariant &value ) const override;
2603
2604 private:
2605
2606 QString mParentParameterName;
2608
2609};
2610
2611
2634{
2635 public:
2636
2640 explicit QgsProcessingParameterVolume( const QString &name, const QString &description = QString(),
2641 const QVariant &defaultValue = QVariant(),
2642 const QString &parentParameterName = QString(),
2643 bool optional = false,
2644 double minValue = 0,
2645 double maxValue = std::numeric_limits<double>::max() );
2646
2650 static QString typeName() { return QStringLiteral( "volume" ); } // cppcheck-suppress duplInheritedMember
2651
2652 QgsProcessingParameterVolume *clone() const override SIP_FACTORY;
2653
2654 QString type() const override;
2655 QStringList dependsOnOtherParameters() const override;
2656 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2657
2662 QString parentParameterName() const;
2663
2668 void setParentParameterName( const QString &parentParameterName );
2669
2675 Qgis::VolumeUnit defaultUnit() const { return mDefaultUnit; }
2676
2682 void setDefaultUnit( Qgis::VolumeUnit unit ) { mDefaultUnit = unit; }
2683
2684 QVariantMap toVariantMap() const override;
2685 bool fromVariantMap( const QVariantMap &map ) override;
2686 QString userFriendlyString( const QVariant &value ) const override;
2687
2688 private:
2689
2690 QString mParentParameterName;
2692
2693};
2694
2695
2705{
2706 public:
2707
2711 explicit QgsProcessingParameterDuration( const QString &name, const QString &description = QString(),
2712 const QVariant &defaultValue = QVariant(),
2713 bool optional = false,
2714 double minValue = std::numeric_limits<double>::lowest() + 1,
2715 double maxValue = std::numeric_limits<double>::max() );
2716
2720 static QString typeName() { return QStringLiteral( "duration" ); } // cppcheck-suppress duplInheritedMember
2721
2722 QgsProcessingParameterDuration *clone() const override SIP_FACTORY;
2723
2724 QString type() const override;
2725 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2726
2732 Qgis::TemporalUnit defaultUnit() const { return mDefaultUnit; }
2733
2739 void setDefaultUnit( Qgis::TemporalUnit unit ) { mDefaultUnit = unit; }
2740
2741 QVariantMap toVariantMap() const override;
2742 bool fromVariantMap( const QVariantMap &map ) override;
2743 QString userFriendlyString( const QVariant &value ) const override;
2744
2745 private:
2746
2748
2749};
2750
2762{
2763 public:
2764
2768 explicit QgsProcessingParameterScale( const QString &name, const QString &description = QString(),
2769 const QVariant &defaultValue = QVariant(),
2770 bool optional = false );
2771
2775 static QString typeName() { return QStringLiteral( "scale" ); } // cppcheck-suppress duplInheritedMember
2776
2777 QgsProcessingParameterScale *clone() const override SIP_FACTORY;
2778
2779 QString type() const override;
2780 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2781
2785 static QgsProcessingParameterScale *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY; // cppcheck-suppress duplInheritedMember
2786
2787};
2788
2795{
2796 public:
2797
2801 QgsProcessingParameterRange( const QString &name, const QString &description = QString(),
2803 const QVariant &defaultValue = QVariant(),
2804 bool optional = false );
2805
2809 static QString typeName() { return QStringLiteral( "range" ); }
2810
2811 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2812 QString type() const override { return typeName(); }
2813 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2814 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2816
2821 Qgis::ProcessingNumberParameterType dataType() const;
2822
2827 void setDataType( Qgis::ProcessingNumberParameterType dataType );
2828
2829 QVariantMap toVariantMap() const override;
2830 bool fromVariantMap( const QVariantMap &map ) override;
2831
2835 static QgsProcessingParameterRange *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2836
2837 private:
2838
2840};
2841
2848{
2849 public:
2850
2854 QgsProcessingParameterRasterLayer( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2855 bool optional = false );
2856
2860 static QString typeName() { return QStringLiteral( "raster" ); }
2861 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2862 QString type() const override { return typeName(); }
2863 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2864 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2865 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2866 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2867 QString createFileFilter() const override;
2868
2872 static QgsProcessingParameterRasterLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2873
2880 void setParameterCapabilities( Qgis::RasterProcessingParameterCapabilities capabilities );
2881
2886 Qgis::RasterProcessingParameterCapabilities parameterCapabilities() const;
2887
2888 private:
2890};
2891
2910{
2911 public:
2912
2916 QgsProcessingParameterEnum( const QString &name, const QString &description = QString(), const QStringList &options = QStringList(),
2917 bool allowMultiple = false,
2918 const QVariant &defaultValue = QVariant(),
2919 bool optional = false,
2920 bool usesStaticStrings = false );
2921
2922 QString userFriendlyString( const QVariant &value ) const override;
2923
2927 static QString typeName() { return QStringLiteral( "enum" ); }
2928 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2929 QString type() const override { return typeName(); }
2930 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2931 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2932 QString valueAsPythonComment( const QVariant &value, QgsProcessingContext &context ) const override;
2933 QString asScriptCode() const override;
2935
2940 QStringList options() const;
2941
2946 void setOptions( const QStringList &options );
2947
2952 bool allowMultiple() const;
2953
2958 void setAllowMultiple( bool allowMultiple );
2959
2966 bool usesStaticStrings() const;
2967
2974 void setUsesStaticStrings( bool usesStaticStrings );
2975
2976 QVariantMap toVariantMap() const override;
2977 bool fromVariantMap( const QVariantMap &map ) override;
2978
2982 static QgsProcessingParameterEnum *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2983
2984 private:
2985
2986 QStringList mOptions;
2987 bool mAllowMultiple = false;
2988 bool mUsesStaticStrings = false;
2989};
2990
3018{
3019 public:
3020
3024 QgsProcessingParameterString( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3025 bool multiLine = false,
3026 bool optional = false );
3027
3031 static QString typeName() { return QStringLiteral( "string" ); }
3032 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3033 QString type() const override { return typeName(); }
3034 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3035 QString asScriptCode() const override;
3037
3042 bool multiLine() const;
3043
3048 void setMultiLine( bool multiLine );
3049
3050 QVariantMap toVariantMap() const override;
3051 bool fromVariantMap( const QVariantMap &map ) override;
3052
3056 static QgsProcessingParameterString *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3057
3058 private:
3059
3060 bool mMultiLine = false;
3061
3062};
3063
3064
3078{
3079 public:
3080
3084 QgsProcessingParameterAuthConfig( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3085 bool optional = false );
3086
3090 static QString typeName() { return QStringLiteral( "authcfg" ); }
3091 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3092 QString type() const override { return typeName(); }
3093 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3094 QString asScriptCode() const override;
3095
3099 static QgsProcessingParameterAuthConfig *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3100
3101};
3102
3109{
3110 public:
3111
3115 QgsProcessingParameterExpression( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3116 const QString &parentLayerParameterName = QString(),
3117 bool optional = false, Qgis::ExpressionType type = Qgis::ExpressionType::Qgis );
3118
3122 static QString typeName() { return QStringLiteral( "expression" ); }
3123 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3124 QString type() const override { return typeName(); }
3125 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3126 QStringList dependsOnOtherParameters() const override;
3128
3133 QString parentLayerParameterName() const;
3134
3139 void setParentLayerParameterName( const QString &parentLayerParameterName );
3140
3147 Qgis::ExpressionType expressionType() const;
3148
3155 void setExpressionType( Qgis::ExpressionType type );
3156
3157 QVariantMap toVariantMap() const override;
3158 bool fromVariantMap( const QVariantMap &map ) override;
3159
3163 static QgsProcessingParameterExpression *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3164
3165 private:
3166
3167 QString mParentLayerParameterName;
3169};
3170
3171
3178{
3179 public:
3180
3184 QgsProcessingParameterLimitedDataTypes( const QList< int > &types = QList< int >() );
3185
3190 QList< int > dataTypes() const;
3191
3196 void setDataTypes( const QList< int > &types );
3197
3198 protected:
3199
3201 QList< int > mDataTypes;
3202};
3203
3212{
3213 public:
3214
3219 const QString &description = QString(),
3220 const QList< int > &types = QList< int >(),
3221 const QVariant &defaultValue = QVariant(),
3222 bool optional = false );
3223
3227 static QString typeName() { return QStringLiteral( "vector" ); }
3228 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3229 QString type() const override { return typeName(); }
3230 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3231 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3232 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
3233 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
3235 QString createFileFilter() const override;
3236
3237 QVariantMap toVariantMap() const override;
3238 bool fromVariantMap( const QVariantMap &map ) override;
3239
3243 static QgsProcessingParameterVectorLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3244
3245};
3246
3254{
3255 public:
3256
3260 QgsProcessingParameterMeshLayer( const QString &name,
3261 const QString &description = QString(),
3262 const QVariant &defaultValue = QVariant(),
3263 bool optional = false );
3264
3268 static QString typeName() { return QStringLiteral( "mesh" ); }
3269 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3270 QString type() const override { return typeName(); }
3271 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3272 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3273 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
3274 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
3275 QString createFileFilter() const override;
3276
3280 static QgsProcessingParameterMeshLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3281};
3282
3289{
3290 public:
3291
3295 QgsProcessingParameterMapLayer( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3296 bool optional = false,
3297 const QList< int > &types = QList< int >() );
3298
3302 static QString typeName() { return QStringLiteral( "layer" ); }
3303 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3304 QString type() const override { return typeName(); }
3305 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3306 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3307 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
3308 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
3309 QString asScriptCode() const override;
3311 QString createFileFilter() const override;
3312
3313 QVariantMap toVariantMap() const override;
3314 bool fromVariantMap( const QVariantMap &map ) override;
3315
3319 static QgsProcessingParameterMapLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3320
3321};
3322
3329{
3330 public:
3331
3335 QgsProcessingParameterField( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3336 const QString &parentLayerParameterName = QString(),
3338 bool allowMultiple = false,
3339 bool optional = false,
3340 bool defaultToAllFields = false );
3341
3345 static QString typeName() { return QStringLiteral( "field" ); }
3346 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3347 QString type() const override { return typeName(); }
3348 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3349 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3350 QString asScriptCode() const override;
3352 QStringList dependsOnOtherParameters() const override;
3353
3358 QString parentLayerParameterName() const;
3359
3364 void setParentLayerParameterName( const QString &parentLayerParameterName );
3365
3371
3376 void setDataType( Qgis::ProcessingFieldParameterDataType type );
3377
3382 bool allowMultiple() const;
3383
3388 void setAllowMultiple( bool allowMultiple );
3389
3399 bool defaultToAllFields() const;
3400
3410 void setDefaultToAllFields( bool enabled );
3411
3412 QVariantMap toVariantMap() const override;
3413 bool fromVariantMap( const QVariantMap &map ) override;
3414
3418 static QgsProcessingParameterField *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3419
3420 private:
3421
3422 QString mParentLayerParameterName;
3424 bool mAllowMultiple = false;
3425 bool mDefaultToAllFields = false;
3426
3427};
3428
3429
3436{
3437 public:
3438
3442 QgsProcessingParameterFeatureSource( const QString &name, const QString &description = QString(),
3443 const QList< int > &types = QList< int >(),
3444 const QVariant &defaultValue = QVariant(), bool optional = false );
3445
3449 static QString typeName() { return QStringLiteral( "source" ); }
3450 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3451 QString type() const override { return typeName(); }
3452 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3453 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3454 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
3455 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
3456 QString asScriptCode() const override;
3458 QString createFileFilter() const override;
3459
3460 QVariantMap toVariantMap() const override;
3461 bool fromVariantMap( const QVariantMap &map ) override;
3462
3466 static QgsProcessingParameterFeatureSource *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3467
3468};
3469
3477{
3478 public:
3479
3486 QgsProcessingDestinationParameter( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3487 bool optional = false, bool createByDefault = true );
3488
3489 bool isDestination() const override { return true; }
3490 QVariantMap toVariantMap() const override;
3491 bool fromVariantMap( const QVariantMap &map ) override;
3493 QString createFileFilter() const override;
3494
3500
3506 bool supportsNonFileBasedOutput() const { return mSupportsNonFileBasedOutputs; }
3507
3514
3519 virtual QString defaultFileExtension() const = 0;
3520
3526 virtual QString generateTemporaryDestination( const QgsProcessingContext *context = nullptr ) const;
3527
3542 virtual bool isSupportedOutputValue( const QVariant &value, QgsProcessingContext &context, QString &error SIP_OUT ) const;
3543
3549 bool createByDefault() const;
3550
3557
3558 protected:
3559
3568 QgsProcessingProvider *originalProvider() const { return mOriginalProvider; }
3569
3570 private:
3571
3579 QgsProcessingProvider *mOriginalProvider = nullptr;
3580
3581 bool mSupportsNonFileBasedOutputs = true;
3582 bool mCreateByDefault = true;
3583
3585 friend class TestQgsProcessing;
3587};
3588
3589
3598{
3599 public:
3600
3607 QgsProcessingParameterFeatureSink( const QString &name, const QString &description = QString(), Qgis::ProcessingSourceType type = Qgis::ProcessingSourceType::VectorAnyGeometry, const QVariant &defaultValue = QVariant(),
3608 bool optional = false, bool createByDefault = true, bool supportsAppend = false );
3609
3613 static QString typeName() { return QStringLiteral( "sink" ); }
3614 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3615 QString type() const override { return typeName(); }
3616 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3617 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3618 QString asScriptCode() const override;
3619 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3620 QString defaultFileExtension() const override;
3621 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
3622 QString createFileFilter() const override;
3623
3629 virtual QStringList supportedOutputVectorLayerExtensions() const;
3630
3635 Qgis::ProcessingSourceType dataType() const;
3636
3641 bool hasGeometry() const;
3642
3647 void setDataType( Qgis::ProcessingSourceType type );
3648
3657 bool supportsAppend() const;
3658
3667 void setSupportsAppend( bool supportsAppend );
3668
3669 QVariantMap toVariantMap() const override;
3670 bool fromVariantMap( const QVariantMap &map ) override;
3671 QString generateTemporaryDestination( const QgsProcessingContext *context = nullptr ) const override;
3672
3676 static QgsProcessingParameterFeatureSink *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3677
3678 private:
3679
3680 Qgis::ProcessingSourceType mDataType = Qgis::ProcessingSourceType::VectorAnyGeometry;
3681 bool mSupportsAppend = false;
3682};
3683
3684
3695{
3696 public:
3697
3705 bool optional = false, bool createByDefault = true );
3706
3710 static QString typeName() { return QStringLiteral( "vectorDestination" ); }
3711 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3712 QString type() const override { return typeName(); }
3713 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3714 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3715 QString asScriptCode() const override;
3716 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3717 QString defaultFileExtension() const override;
3718 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
3719 QString createFileFilter() const override;
3720
3726 virtual QStringList supportedOutputVectorLayerExtensions() const;
3727
3732 Qgis::ProcessingSourceType dataType() const;
3733
3738 bool hasGeometry() const;
3739
3744 void setDataType( Qgis::ProcessingSourceType type );
3745
3746 QVariantMap toVariantMap() const override;
3747 bool fromVariantMap( const QVariantMap &map ) override;
3748
3752 static QgsProcessingParameterVectorDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3753
3754
3755 private:
3756
3757 Qgis::ProcessingSourceType mDataType = Qgis::ProcessingSourceType::VectorAnyGeometry;
3758};
3759
3767{
3768 public:
3769
3776 QgsProcessingParameterRasterDestination( const QString &name, const QString &description = QString(),
3777 const QVariant &defaultValue = QVariant(),
3778 bool optional = false,
3779 bool createByDefault = true );
3780
3784 static QString typeName() { return QStringLiteral( "rasterDestination" ); }
3785 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3786 QString type() const override { return typeName(); }
3787 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3788 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3789 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3790 QString defaultFileExtension() const override;
3791 QString createFileFilter() const override;
3792
3798 virtual QStringList supportedOutputRasterLayerExtensions() const;
3799
3803 static QgsProcessingParameterRasterDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3804};
3805
3827{
3828 public:
3829
3836 QgsProcessingParameterFileDestination( const QString &name, const QString &description = QString(),
3837 const QString &fileFilter = QString(),
3838 const QVariant &defaultValue = QVariant(),
3839 bool optional = false,
3840 bool createByDefault = true );
3841
3845 static QString typeName() { return QStringLiteral( "fileDestination" ); }
3846 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3847 QString type() const override { return typeName(); }
3848 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3849 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3850 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3851 QString defaultFileExtension() const override;
3852 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
3853 QString createFileFilter() const override;
3854
3859 QString fileFilter() const;
3860
3865 void setFileFilter( const QString &filter );
3866
3867 QVariantMap toVariantMap() const override;
3868 bool fromVariantMap( const QVariantMap &map ) override;
3869
3873 static QgsProcessingParameterFileDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3874
3875
3876 private:
3877
3878 QString mFileFilter;
3879};
3880
3888{
3889 public:
3890
3894 QgsProcessingParameterFolderDestination( const QString &name, const QString &description = QString(),
3895 const QVariant &defaultValue = QVariant(),
3896 bool optional = false,
3897 bool createByDefault = true );
3898
3902 static QString typeName() { return QStringLiteral( "folderDestination" ); }
3903 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3904 QString type() const override { return typeName(); }
3905 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3906 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3907 QString defaultFileExtension() const override;
3908
3912 static QgsProcessingParameterFolderDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3913
3914};
3915
3922{
3923 public:
3924
3928 QgsProcessingParameterBand( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3929 const QString &parentLayerParameterName = QString(),
3930 bool optional = false,
3931 bool allowMultiple = false );
3932
3936 static QString typeName() { return QStringLiteral( "band" ); }
3937 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3938 QString type() const override { return typeName(); }
3939 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3940 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3941 QString asScriptCode() const override;
3942 QStringList dependsOnOtherParameters() const override;
3944
3949 QString parentLayerParameterName() const;
3950
3955 void setParentLayerParameterName( const QString &parentLayerParameterName );
3956
3957 QVariantMap toVariantMap() const override;
3958 bool fromVariantMap( const QVariantMap &map ) override;
3959
3963 static QgsProcessingParameterBand *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3964
3970 bool allowMultiple() const;
3971
3977 void setAllowMultiple( bool allowMultiple );
3978
3979 private:
3980
3981 QString mParentLayerParameterName;
3982 bool mAllowMultiple = false;
3983};
3984
3997{
3998 public:
3999
4003 QgsProcessingParameterLayout( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
4004 bool optional = false );
4005
4009 static QString typeName() { return QStringLiteral( "layout" ); }
4010 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4011 QString type() const override { return typeName(); }
4012 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4013 QString asScriptCode() const override;
4015
4019 static QgsProcessingParameterLayout *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4020
4021};
4022
4035{
4036 public:
4037
4041 QgsProcessingParameterLayoutItem( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
4042 const QString &parentLayoutParameterName = QString(),
4043 int itemType = -1,
4044 bool optional = false );
4045
4049 static QString typeName() { return QStringLiteral( "layoutitem" ); }
4050 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4051 QString type() const override { return typeName(); }
4052 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4053 QString asScriptCode() const override;
4055 QVariantMap toVariantMap() const override;
4056 bool fromVariantMap( const QVariantMap &map ) override;
4057 QStringList dependsOnOtherParameters() const override;
4058
4062 static QgsProcessingParameterLayoutItem *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4063
4068 QString parentLayoutParameterName() const;
4069
4074 void setParentLayoutParameterName( const QString &name );
4075
4083 int itemType() const;
4084
4092 void setItemType( int type );
4093
4094 private:
4095 QString mParentLayoutParameterName;
4096 int mItemType = -1;
4097};
4098
4109{
4110 public:
4111
4117 QgsProcessingParameterColor( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
4118 bool opacityEnabled = true,
4119 bool optional = false );
4120
4124 static QString typeName() { return QStringLiteral( "color" ); }
4125
4126 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4127 QString type() const override { return typeName(); }
4128 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4129 QString asScriptCode() const override;
4131 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4132 QVariantMap toVariantMap() const override;
4133 bool fromVariantMap( const QVariantMap &map ) override;
4134
4141 bool opacityEnabled() const;
4142
4150 void setOpacityEnabled( bool enabled );
4151
4155 static QgsProcessingParameterColor *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4156
4157 private:
4158
4159 bool mAllowOpacity = true;
4160
4161};
4162
4163
4176{
4177 public:
4178
4182 QgsProcessingParameterCoordinateOperation( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
4183 const QString &sourceCrsParameterName = QString(), const QString &destinationCrsParameterName = QString(),
4184 const QVariant &staticSourceCrs = QVariant(), const QVariant &staticDestinationCrs = QVariant(),
4185 bool optional = false );
4186
4190 static QString typeName() { return QStringLiteral( "coordinateoperation" ); }
4191 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4192 QString type() const override { return typeName(); }
4193 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4194 QString asScriptCode() const override;
4196 QStringList dependsOnOtherParameters() const override;
4197
4198 QVariantMap toVariantMap() const override;
4199 bool fromVariantMap( const QVariantMap &map ) override;
4200
4204 static QgsProcessingParameterCoordinateOperation *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4205
4211 QString sourceCrsParameterName() const { return mSourceParameterName; }
4212
4218 void setSourceCrsParameterName( const QString &name ) { mSourceParameterName = name; }
4219
4225 QString destinationCrsParameterName() const { return mDestParameterName; }
4226
4232 void setDestinationCrsParameterName( const QString &name ) { mDestParameterName = name; }
4233
4239 QVariant sourceCrs() const { return mSourceCrs; }
4240
4246 void setSourceCrs( const QVariant &crs ) { mSourceCrs = crs; }
4247
4253 QVariant destinationCrs() const { return mDestCrs; }
4254
4260 void setDestinationCrs( const QVariant &crs ) { mDestCrs = crs; }
4261
4262 private:
4263 QString valueAsPythonStringPrivate( const QVariant &value, QgsProcessingContext &context, bool allowNonStringValues ) const ;
4264
4265 QString mSourceParameterName;
4266 QString mDestParameterName;
4267 QVariant mSourceCrs;
4268 QVariant mDestCrs;
4269
4270};
4271
4272
4283{
4284 public:
4285
4289 QgsProcessingParameterMapTheme( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
4290 bool optional = false );
4291
4295 static QString typeName() { return QStringLiteral( "maptheme" ); }
4296 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4297 QString type() const override { return typeName(); }
4298 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4299 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4300 QString asScriptCode() const override;
4302 QVariantMap toVariantMap() const override;
4303 bool fromVariantMap( const QVariantMap &map ) override;
4304
4308 static QgsProcessingParameterMapTheme *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4309
4310 private:
4311
4312};
4313
4314
4326{
4327 public:
4328
4332 explicit QgsProcessingParameterDateTime( const QString &name, const QString &description = QString(),
4334 const QVariant &defaultValue = QVariant(),
4335 bool optional = false,
4336 const QDateTime &minValue = QDateTime(),
4337 const QDateTime &maxValue = QDateTime()
4338 );
4339
4343 static QString typeName() { return QStringLiteral( "datetime" ); }
4344 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4345 QString type() const override { return typeName(); }
4346 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4347 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4348 QString toolTip() const override;
4350
4358 QDateTime minimum() const;
4359
4371 void setMinimum( const QDateTime &minimum );
4372
4380 QDateTime maximum() const;
4381
4393 void setMaximum( const QDateTime &maximum );
4394
4400
4405 void setDataType( Qgis::ProcessingDateTimeParameterDataType type );
4406
4407 QVariantMap toVariantMap() const override;
4408 bool fromVariantMap( const QVariantMap &map ) override;
4409 QString userFriendlyString( const QVariant &value ) const override;
4410
4414 static QgsProcessingParameterDateTime *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4415
4416 private:
4417
4418 QDateTime mMin;
4419 QDateTime mMax;
4421};
4422
4423
4435{
4436 public:
4437
4444 QgsProcessingParameterProviderConnection( const QString &name, const QString &description, const QString &provider, const QVariant &defaultValue = QVariant(),
4445 bool optional = false );
4446
4450 static QString typeName() { return QStringLiteral( "providerconnection" ); }
4451 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4452 QString type() const override { return typeName(); }
4453 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4454 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4455 QString asScriptCode() const override;
4457 QVariantMap toVariantMap() const override;
4458 bool fromVariantMap( const QVariantMap &map ) override;
4459
4464 QString providerId() const { return mProviderId; }
4465
4470 void setProviderId( const QString &provider ) { mProviderId = provider; }
4471
4475 static QgsProcessingParameterProviderConnection *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4476
4477 private:
4478
4479 QString mProviderId;
4480};
4481
4482
4494{
4495 public:
4496
4505 QgsProcessingParameterDatabaseSchema( const QString &name, const QString &description, const QString &connectionParameterName = QString(), const QVariant &defaultValue = QVariant(),
4506 bool optional = false );
4507
4511 static QString typeName() { return QStringLiteral( "databaseschema" ); }
4512 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4513 QString type() const override { return typeName(); }
4514 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4515 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4516 QString asScriptCode() const override;
4518 QVariantMap toVariantMap() const override;
4519 bool fromVariantMap( const QVariantMap &map ) override;
4520 QStringList dependsOnOtherParameters() const override;
4521
4526 QString parentConnectionParameterName() const;
4527
4532 void setParentConnectionParameterName( const QString &name );
4533
4537 static QgsProcessingParameterDatabaseSchema *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4538
4539 private:
4540
4541 QString mParentConnectionParameterName;
4542};
4543
4544
4558{
4559 public:
4560
4570 QgsProcessingParameterDatabaseTable( const QString &name, const QString &description,
4571 const QString &connectionParameterName = QString(),
4572 const QString &schemaParameterName = QString(),
4573 const QVariant &defaultValue = QVariant(),
4574 bool optional = false,
4575 bool allowNewTableNames = false );
4576
4580 static QString typeName() { return QStringLiteral( "databasetable" ); }
4581 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4582 QString type() const override { return typeName(); }
4583 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4584 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4585 QString asScriptCode() const override;
4587 QVariantMap toVariantMap() const override;
4588 bool fromVariantMap( const QVariantMap &map ) override;
4589 QStringList dependsOnOtherParameters() const override;
4590
4595 QString parentConnectionParameterName() const;
4596
4601 void setParentConnectionParameterName( const QString &name );
4602
4607 QString parentSchemaParameterName() const;
4608
4613 void setParentSchemaParameterName( const QString &name );
4614
4618 static QgsProcessingParameterDatabaseTable *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4619
4626 bool allowNewTableNames() const;
4627
4634 void setAllowNewTableNames( bool allowed );
4635
4636 private:
4637
4638 QString mParentConnectionParameterName;
4639 QString mParentSchemaParameterName;
4640 bool mAllowNewTableNames = false;
4641};
4642
4643
4651{
4652 public:
4653
4657 QgsProcessingParameterPointCloudLayer( const QString &name, const QString &description = QString(),
4658 const QVariant &defaultValue = QVariant(), bool optional = false );
4659
4663 static QString typeName() { return QStringLiteral( "pointcloud" ); }
4664 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4665 QString type() const override { return typeName(); }
4666 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4667 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4668 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
4669 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
4670 QString createFileFilter() const override;
4671
4675 static QgsProcessingParameterPointCloudLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4676};
4677
4678
4686{
4687 public:
4688
4692 QgsProcessingParameterAnnotationLayer( const QString &name, const QString &description = QString(),
4693 const QVariant &defaultValue = QVariant(), bool optional = false );
4694
4698 static QString typeName() { return QStringLiteral( "annotation" ); }
4699 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4700 QString type() const override { return typeName(); }
4701 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4702 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4703 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
4704 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
4705
4709 static QgsProcessingParameterAnnotationLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4710};
4711
4720{
4721 public:
4722
4729 QgsProcessingParameterPointCloudDestination( const QString &name, const QString &description = QString(),
4730 const QVariant &defaultValue = QVariant(),
4731 bool optional = false,
4732 bool createByDefault = true );
4733
4737 static QString typeName() { return QStringLiteral( "pointCloudDestination" ); }
4738 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4739 QString type() const override { return typeName(); }
4740 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4741 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4742 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
4743 QString defaultFileExtension() const override;
4744 QString createFileFilter() const override;
4745
4750 virtual QStringList supportedOutputPointCloudLayerExtensions() const;
4751
4755 static QgsProcessingParameterPointCloudDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4756};
4757
4765{
4766 public:
4767
4771 QgsProcessingParameterPointCloudAttribute( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
4772 const QString &parentLayerParameterName = QString(),
4773 bool allowMultiple = false,
4774 bool optional = false,
4775 bool defaultToAllAttributes = false );
4776
4780 static QString typeName() { return QStringLiteral( "attribute" ); }
4781 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4782 QString type() const override { return typeName(); }
4783 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4784 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4785 QString asScriptCode() const override;
4787 QStringList dependsOnOtherParameters() const override;
4788
4793 QString parentLayerParameterName() const;
4794
4799 void setParentLayerParameterName( const QString &parentLayerParameterName );
4800
4805 bool allowMultiple() const;
4806
4811 void setAllowMultiple( bool allowMultiple );
4812
4821 bool defaultToAllAttributes() const;
4822
4831 void setDefaultToAllAttributes( bool enabled );
4832
4833 QVariantMap toVariantMap() const override;
4834 bool fromVariantMap( const QVariantMap &map ) override;
4835
4839 static QgsProcessingParameterPointCloudAttribute *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4840
4841 private:
4842
4843 QString mParentLayerParameterName;
4844 bool mAllowMultiple = false;
4845 bool mDefaultToAllAttributes = false;
4846};
4847
4856{
4857 public:
4858
4865 QgsProcessingParameterVectorTileDestination( const QString &name, const QString &description = QString(),
4866 const QVariant &defaultValue = QVariant(),
4867 bool optional = false,
4868 bool createByDefault = true );
4869
4873 static QString typeName() { return QStringLiteral( "vectorTileDestination" ); }
4874 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4875 QString type() const override { return typeName(); }
4876 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4877 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4878 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
4879 QString defaultFileExtension() const override;
4880 QString createFileFilter() const override;
4881
4886 virtual QStringList supportedOutputVectorTileLayerExtensions() const;
4887
4891 static QgsProcessingParameterVectorTileDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4892};
4893
4894// clazy:excludeall=qstring-allocations
4895
4896#endif // QGSPROCESSINGPARAMETERS_H
4897
4898
Provides global constants and enumerations for use throughout the application.
Definition qgis.h:56
ProcessingSourceType
Processing data source types.
Definition qgis.h:3531
@ VectorAnyGeometry
Any vector layer with geometry.
Definition qgis.h:3533
ProcessingFileParameterBehavior
Flags which dictate the behavior of QgsProcessingParameterFile.
Definition qgis.h:3788
@ File
Parameter is a single file.
Definition qgis.h:3789
ExpressionType
Expression types.
Definition qgis.h:5542
@ Qgis
Native QGIS expression.
Definition qgis.h:5543
DistanceUnit
Units of distance.
Definition qgis.h:5013
@ Unknown
Unknown distance unit.
Definition qgis.h:5063
QFlags< RasterProcessingParameterCapability > RasterProcessingParameterCapabilities
Raster layer processing parameter capabilities.
Definition qgis.h:6133
ProcessingFieldParameterDataType
Processing field parameter data types.
Definition qgis.h:3816
AreaUnit
Units of area.
Definition qgis.h:5090
@ Unknown
Unknown areal unit.
Definition qgis.h:5103
TemporalUnit
Temporal units.
Definition qgis.h:5159
@ Milliseconds
Milliseconds.
Definition qgis.h:5160
QFlags< ProcessingParameterFlag > ProcessingParameterFlags
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3777
VolumeUnit
Units of volume.
Definition qgis.h:5115
@ Unknown
Unknown volume unit.
Definition qgis.h:5126
InvalidGeometryCheck
Methods for handling of features with invalid geometries.
Definition qgis.h:2238
@ AbortOnInvalid
Close iterator on encountering any features with invalid geometry. This requires a slow geometry vali...
Definition qgis.h:2241
QFlags< ProcessingFeatureSourceDefinitionFlag > ProcessingFeatureSourceDefinitionFlags
Flags which control behavior for a Processing feature source.
Definition qgis.h:3699
WkbType
The WKB type describes the number of dimensions a geometry has.
Definition qgis.h:277
ProcessingDateTimeParameterDataType
Processing date time parameter data types.
Definition qgis.h:3834
ProcessingNumberParameterType
Processing numeric parameter data types.
Definition qgis.h:3802
Represents a map layer containing a set of georeferenced annotations, e.g.
Represents a coordinate reference system (CRS).
An interface for objects which accept features via addFeature(s) methods.
QFlags< SinkFlag > SinkFlags
Container of fields for a vector layer.
Definition qgsfields.h:46
Abstract interface for classes which generate a file filter string.
A geometry is the spatial representation of a feature.
Base class for graphical items within a QgsLayout.
Base class for all map layer types.
Definition qgsmaplayer.h:80
Represents a mesh layer supporting display of data on structured or unstructured meshes.
Represents a map layer supporting display of point clouds.
Represents a 2D point.
Definition qgspointxy.h:60
Print layout, a QgsLayout subclass for static or atlas-based layouts.
Abstract base class for processing algorithms.
Contains information about the context in which a processing algorithm is executed.
virtual QString defaultFileExtension() const =0
Returns the default file extension for destination file paths associated with this parameter.
void setCreateByDefault(bool createByDefault)
Sets whether the destination should be created by default.
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.
bool createByDefault() const
Returns true if the destination should be created by default.
virtual bool isSupportedOutputValue(const QVariant &value, QgsProcessingContext &context, QString &error) const
Tests whether a value is a supported value for this parameter.
virtual QString generateTemporaryDestination(const QgsProcessingContext *context=nullptr) const
Generates a temporary destination value for this parameter.
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...
QgsProcessingDestinationParameter(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool optional=false, bool createByDefault=true)
Constructor for QgsProcessingDestinationParameter.
Custom exception class for processing related exceptions.
Encapsulates settings relating to a feature source input to a processing algorithm.
bool loadVariant(const QVariantMap &map)
Loads this source definition from a QVariantMap, wrapped in a QVariant.
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...
QVariant toVariant() const
Saves this source definition to a QVariantMap, wrapped in a QVariant.
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.
QgsProject * destinationProject
Destination project.
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.
QgsProcessingParameterAnnotationLayer(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool optional=false)
Constructor for QgsProcessingParameterAnnotationLayer.
QString type() const override
Unique parameter type name.
static QString typeName()
Returns the type name for the parameter class.
A double numeric parameter for area values.
void setDefaultUnit(Qgis::AreaUnit unit)
Sets the default area unit for the parameter.
QString parentParameterName() const
Returns the name of the parent parameter, or an empty string if this is not set.
Qgis::AreaUnit defaultUnit() const
Returns the default area unit for the parameter.
QgsProcessingParameterArea(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), const QString &parentParameterName=QString(), bool optional=false, double minValue=0, double maxValue=std::numeric_limits< double >::max())
Constructor for QgsProcessingParameterArea.
static QString typeName()
Returns the type name for the parameter class.
A string parameter for authentication configuration ID values.
QString type() const override
Unique parameter type name.
QgsProcessingParameterAuthConfig(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool optional=false)
Constructor for QgsProcessingParameterAuthConfig.
static QString typeName()
Returns the type name for the parameter class.
A raster band parameter for Processing algorithms.
QString type() const override
Unique parameter type name.
QString parentLayerParameterName() const
Returns the name of the parent layer parameter, or an empty string if this is not set.
QgsProcessingParameterBand(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), const QString &parentLayerParameterName=QString(), bool optional=false, bool allowMultiple=false)
Constructor for QgsProcessingParameterBand.
static QString typeName()
Returns the type name for the parameter class.
bool allowMultiple() const
Returns whether multiple band selections are permitted.
A boolean parameter for processing algorithms.
QString type() const override
Unique parameter type name.
static QString typeName()
Returns the type name for the parameter class.
QgsProcessingParameterBoolean(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool optional=false)
Constructor for QgsProcessingParameterBoolean.
A color parameter for processing algorithms.
bool opacityEnabled() const
Returns true if the parameter allows opacity control.
QgsProcessingParameterColor(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool opacityEnabled=true, bool optional=false)
Constructor for QgsProcessingParameterColor.
static QString typeName()
Returns the type name for the parameter class.
QString type() const override
Unique parameter type name.
A coordinate operation parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
QString type() const override
Unique parameter type name.
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.
QgsProcessingParameterCoordinateOperation(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), const QString &sourceCrsParameterName=QString(), const QString &destinationCrsParameterName=QString(), const QVariant &staticSourceCrs=QVariant(), const QVariant &staticDestinationCrs=QVariant(), bool optional=false)
Constructor for QgsProcessingParameterCoordinateOperation.
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.
QgsProcessingParameterCrs(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool optional=false)
Constructor for QgsProcessingParameterCrs.
QString userFriendlyString(const QVariant &value) const override
Returns a user-friendly string representation of the provided parameter value.
QString type() const override
Unique parameter type name.
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...
QString type() const override
Unique parameter type name.
static QString typeName()
Returns the type name for the parameter class.
QgsProcessingParameterDatabaseSchema(const QString &name, const QString &description, const QString &connectionParameterName=QString(), const QVariant &defaultValue=QVariant(), bool optional=false)
Constructor for QgsProcessingParameterDatabaseSchema.
A database table name parameter for processing algorithms.
QgsProcessingParameterDatabaseTable(const QString &name, const QString &description, const QString &connectionParameterName=QString(), const QString &schemaParameterName=QString(), const QVariant &defaultValue=QVariant(), bool optional=false, bool allowNewTableNames=false)
Constructor for QgsProcessingParameterDatabaseTable.
static QString typeName()
Returns the type name for the parameter class.
QString type() const override
Unique parameter type name.
bool allowNewTableNames() const
Returns true if the parameter allows users to enter names for a new (non-existing) tables.
A datetime (or pure date or time) parameter for processing algorithms.
QString type() const override
Unique parameter type name.
static QString typeName()
Returns the type name for the parameter class.
QgsProcessingParameterDateTime(const QString &name, const QString &description=QString(), Qgis::ProcessingDateTimeParameterDataType type=Qgis::ProcessingDateTimeParameterDataType::DateTime, const QVariant &defaultValue=QVariant(), bool optional=false, const QDateTime &minValue=QDateTime(), const QDateTime &maxValue=QDateTime())
Constructor for QgsProcessingParameterDateTime.
Base class for the definition of processing parameters.
QgsProcessingAlgorithm * mAlgorithm
Pointer to algorithm which owns this parameter.
QVariant defaultValue() const
Returns the default value for the parameter.
void setDefaultValue(const QVariant &value)
Sets the default value for the parameter.
QString valueAsStringPrivate(const QVariant &value, QgsProcessingContext &context, bool &ok, ValueAsStringFlags flags) const
Internal method for evaluating values as string.
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.
virtual QString userFriendlyString(const QVariant &value) const
Returns a user-friendly string representation of the provided parameter value.
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.
QgsProcessingProvider * provider() const
Returns a pointer to the provider for the algorithm which owns this 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.
bool mIsDynamic
True for dynamic parameters, which can have data-defined (QgsProperty) based values.
QVariantMap metadata() const
Returns the parameter's freeform metadata.
QString description() const
Returns the description for the parameter.
QgsProcessingParameterDefinition(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool optional=false, const QString &help=QString())
Constructor for QgsProcessingParameterDefinition.
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.
QVariant defaultGuiValueFromSetting() const
Default gui value for an algorithm parameter from settings.
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.
QVariant valueAsJsonObjectPrivate(const QVariant &value, QgsProcessingContext &context, ValueAsStringFlags flags) const
Internal method for evaluating values as JSON objects.
virtual QColor modelColor() const
Returns the color to use for the parameter in model designer windows.
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.
QString parentParameterName() const
Returns the name of the parent parameter, or an empty string if this is not set.
Qgis::DistanceUnit defaultUnit() const
Returns the default distance unit for the parameter.
QgsProcessingParameterDistance(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), const QString &parentParameterName=QString(), bool optional=false, double minValue=std::numeric_limits< double >::lowest()+1, double maxValue=std::numeric_limits< double >::max())
Constructor for QgsProcessingParameterDistance.
A double numeric parameter for duration values.
void setDefaultUnit(Qgis::TemporalUnit unit)
Sets the default duration unit for the parameter.
Qgis::TemporalUnit defaultUnit() const
Returns the default duration unit for the parameter.
static QString typeName()
Returns the type name for the parameter class.
QgsProcessingParameterDuration(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool optional=false, double minValue=std::numeric_limits< double >::lowest()+1, double maxValue=std::numeric_limits< double >::max())
Constructor for QgsProcessingParameterDuration.
static QString typeName()
Returns the type name for the parameter class.
An enum based parameter for processing algorithms, allowing for selection from predefined values.
QString userFriendlyString(const QVariant &value) const override
Returns a user-friendly string representation of the provided parameter value.
bool allowMultiple() const
Returns true if the parameter allows multiple selected values.
QStringList options() const
Returns the list of acceptable options for the parameter.
QgsProcessingParameterEnum(const QString &name, const QString &description=QString(), const QStringList &options=QStringList(), bool allowMultiple=false, const QVariant &defaultValue=QVariant(), bool optional=false, bool usesStaticStrings=false)
Constructor for QgsProcessingParameterEnum.
QString type() const override
Unique parameter type name.
bool usesStaticStrings() const
Returns true if the parameter uses static (non-translated) string values for its enumeration choice l...
static QString typeName()
Returns the type name for the parameter class.
An expression parameter for processing algorithms.
QgsProcessingParameterExpression(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), const QString &parentLayerParameterName=QString(), bool optional=false, Qgis::ExpressionType type=Qgis::ExpressionType::Qgis)
Constructor for QgsProcessingParameterExpression.
QString parentLayerParameterName() const
Returns the name of the parent layer parameter, or an empty string if this is not set.
QString type() const override
Unique parameter type name.
static QString typeName()
Returns the type name for the parameter class.
A rectangular map extent parameter for processing algorithms.
QgsProcessingParameterExtent(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool optional=false)
Constructor for QgsProcessingParameterExtent.
static QString typeName()
Returns the type name for the parameter class.
QString type() const override
Unique parameter type name.
A feature sink output for processing algorithms.
QgsProcessingParameterFeatureSink(const QString &name, const QString &description=QString(), Qgis::ProcessingSourceType type=Qgis::ProcessingSourceType::VectorAnyGeometry, const QVariant &defaultValue=QVariant(), bool optional=false, bool createByDefault=true, bool supportsAppend=false)
Constructor for QgsProcessingParameterFeatureSink.
QString type() const override
Unique parameter type name.
bool supportsAppend() const
Returns true if the sink supports appending features to an existing table.
static QString typeName()
Returns the type name for the parameter class.
An input feature source (such as vector layers) parameter for processing algorithms.
QgsProcessingParameterFeatureSource(const QString &name, const QString &description=QString(), const QList< int > &types=QList< int >(), const QVariant &defaultValue=QVariant(), bool optional=false)
Constructor for QgsProcessingParameterFeatureSource.
static QString typeName()
Returns the type name for the parameter class.
QString type() const override
Unique parameter type name.
static QString typeName()
Returns the type name for the parameter class.
A vector layer or feature source field parameter for processing algorithms.
QString parentLayerParameterName() const
Returns the name of the parent layer parameter, or an empty string if this is not set.
bool allowMultiple() const
Returns whether multiple field selections are permitted.
QString type() const override
Unique parameter type name.
bool defaultToAllFields() const
Returns whether a parameter which allows multiple selections (see allowMultiple()) should automatical...
static QString typeName()
Returns the type name for the parameter class.
QgsProcessingParameterField(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), const QString &parentLayerParameterName=QString(), Qgis::ProcessingFieldParameterDataType type=Qgis::ProcessingFieldParameterDataType::Any, bool allowMultiple=false, bool optional=false, bool defaultToAllFields=false)
Constructor for QgsProcessingParameterField.
A generic file based destination parameter, for specifying the destination path for a file (non-map l...
QgsProcessingParameterFileDestination(const QString &name, const QString &description=QString(), const QString &fileFilter=QString(), const QVariant &defaultValue=QVariant(), bool optional=false, bool createByDefault=true)
Constructor for QgsProcessingParameterFileDestination.
QString type() const override
Unique parameter type name.
static QString typeName()
Returns the type name for the parameter class.
QString fileFilter() const
Returns the file filter string for file destinations compatible with this parameter.
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.
QgsProcessingParameterFile(const QString &name, const QString &description=QString(), Qgis::ProcessingFileParameterBehavior behavior=Qgis::ProcessingFileParameterBehavior::File, const QString &extension=QString(), const QVariant &defaultValue=QVariant(), bool optional=false, const QString &fileFilter=QString())
Constructor for QgsProcessingParameterFile.
void setBehavior(Qgis::ProcessingFileParameterBehavior behavior)
Sets the parameter behavior (e.g.
QString type() const override
Unique parameter type name.
QString fileFilter() const
Returns the file filter string for file destinations compatible with this parameter.
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...
QString type() const override
Unique parameter type name.
static QString typeName()
Returns the type name for the parameter class.
QgsProcessingParameterFolderDestination(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool optional=false, bool createByDefault=true)
Constructor for QgsProcessingParameterFolderDestination.
A geometry parameter for processing algorithms.
void setGeometryTypes(const QList< int > &geometryTypes)
Sets the allowed geometryTypes, as a list of Qgis::GeometryType values.
QString type() const override
Unique parameter type name.
bool allowMultipart() const
Returns the parameter allow multipart geometries.
QgsProcessingParameterGeometry(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool optional=false, const QList< int > &geometryTypes=QList< int >(), bool allowMultipart=true)
Constructor for QgsProcessingParameterGeometry.
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.
QString type() const override
Unique parameter type name.
QgsProcessingParameterLayoutItem(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), const QString &parentLayoutParameterName=QString(), int itemType=-1, bool optional=false)
Constructor for QgsProcessingParameterLayoutItem.
QString parentLayoutParameterName() const
Returns the name of the parent layout parameter, or an empty string if this is not set.
static QString typeName()
Returns the type name for the parameter class.
int itemType() const
Returns the acceptable item type, or -1 if any item type is allowed.
A print layout parameter, allowing users to select a print layout.
QgsProcessingParameterLayout(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool optional=false)
Constructor for QgsProcessingParameterLayout.
static QString typeName()
Returns the type name for the parameter class.
QString type() const override
Unique parameter type name.
void setDataTypes(const QList< int > &types)
Sets the geometry types for sources acceptable by the parameter.
QgsProcessingParameterLimitedDataTypes(const QList< int > &types=QList< int >())
Constructor for QgsProcessingParameterLimitedDataTypes, with a list of acceptable data types.
QList< int > mDataTypes
List of acceptable data types for the parameter.
QList< int > dataTypes() const
Returns the geometry types for sources acceptable by the parameter.
A map layer parameter for processing algorithms.
QString type() const override
Unique parameter type name.
QgsProcessingParameterMapLayer(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool optional=false, const QList< int > &types=QList< int >())
Constructor for QgsProcessingParameterMapLayer.
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 ...
QString type() const override
Unique parameter type name.
static QString typeName()
Returns the type name for the parameter class.
QgsProcessingParameterMapTheme(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool optional=false)
Constructor for QgsProcessingParameterMapTheme.
A table (matrix) parameter for processing algorithms.
QStringList headers() const
Returns a list of column headers (if set).
int numberRows() const
Returns the fixed number of rows in the table.
static QString typeName()
Returns the type name for the parameter class.
QgsProcessingParameterMatrix(const QString &name, const QString &description=QString(), int numberRows=3, bool hasFixedNumberRows=false, const QStringList &headers=QStringList(), const QVariant &defaultValue=QVariant(), bool optional=false)
Constructor for QgsProcessingParameterMatrix.
QString type() const override
Unique parameter type name.
bool hasFixedNumberRows() const
Returns whether the table has a fixed number of rows.
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.
QgsProcessingParameterMeshLayer(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool optional=false)
Constructor for QgsProcessingParameterMeshLayer.
QString type() const override
Unique parameter type name.
static QString typeName()
Returns the type name for the parameter class.
A parameter for processing algorithms which accepts multiple map layers.
Qgis::ProcessingSourceType layerType() const
Returns the layer type for layers acceptable by the parameter.
static QString typeName()
Returns the type name for the parameter class.
QgsProcessingParameterMultipleLayers(const QString &name, const QString &description=QString(), Qgis::ProcessingSourceType layerType=Qgis::ProcessingSourceType::VectorAnyGeometry, const QVariant &defaultValue=QVariant(), bool optional=false)
Constructor for QgsProcessingParameterMultipleLayers.
QString type() const override
Unique parameter type name.
A numeric parameter for processing algorithms.
QString type() const override
Unique parameter type name.
static QString typeName()
Returns the type name for the parameter class.
QgsProcessingParameterNumber(const QString &name, const QString &description=QString(), Qgis::ProcessingNumberParameterType type=Qgis::ProcessingNumberParameterType::Integer, const QVariant &defaultValue=QVariant(), bool optional=false, double minValue=std::numeric_limits< double >::lowest()+1, double maxValue=std::numeric_limits< double >::max())
Constructor for QgsProcessingParameterNumber.
A point cloud layer attribute parameter for Processing algorithms.
QgsProcessingParameterPointCloudAttribute(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), const QString &parentLayerParameterName=QString(), bool allowMultiple=false, bool optional=false, bool defaultToAllAttributes=false)
Constructor for QgsProcessingParameterField.
QString type() const override
Unique parameter type name.
QString parentLayerParameterName() const
Returns the name of the parent layer parameter, or an empty string if this is not set.
static QString typeName()
Returns the type name for the parameter class.
bool allowMultiple() const
Returns whether multiple field selections are permitted.
bool defaultToAllAttributes() const
Returns whether a parameter which allows multiple selections (see allowMultiple()) should automatical...
A point cloud layer destination parameter, for specifying the destination path for a point cloud laye...
QString type() const override
Unique parameter type name.
static QString typeName()
Returns the type name for the parameter class.
QgsProcessingParameterPointCloudDestination(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool optional=false, bool createByDefault=true)
Constructor for QgsProcessingParameterPointCloudDestination.
A point cloud layer parameter for processing algorithms.
QString type() const override
Unique parameter type name.
static QString typeName()
Returns the type name for the parameter class.
QgsProcessingParameterPointCloudLayer(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool optional=false)
Constructor for QgsProcessingParameterPointCloudLayer.
A point parameter for processing algorithms.
QString type() const override
Unique parameter type name.
QgsProcessingParameterPoint(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool optional=false)
Constructor for QgsProcessingParameterPoint.
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...
QString type() const override
Unique parameter type name.
QgsProcessingParameterProviderConnection(const QString &name, const QString &description, const QString &provider, const QVariant &defaultValue=QVariant(), bool optional=false)
Constructor for QgsProcessingParameterProviderConnection, for the specified provider type.
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.
QgsProcessingParameterRange(const QString &name, const QString &description=QString(), Qgis::ProcessingNumberParameterType type=Qgis::ProcessingNumberParameterType::Integer, const QVariant &defaultValue=QVariant(), bool optional=false)
Constructor for QgsProcessingParameterRange.
QString type() const override
Unique parameter type name.
A raster layer destination parameter, for specifying the destination path for a raster layer created ...
QString type() const override
Unique parameter type name.
QgsProcessingParameterRasterDestination(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool optional=false, bool createByDefault=true)
Constructor for QgsProcessingParameterRasterDestination.
static QString typeName()
Returns the type name for the parameter class.
A raster layer parameter for processing algorithms.
QString type() const override
Unique parameter type name.
static QString typeName()
Returns the type name for the parameter class.
QgsProcessingParameterRasterLayer(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool optional=false)
Constructor for QgsProcessingParameterRasterLayer.
A double numeric parameter for map scale values.
static QString typeName()
Returns the type name for the parameter class.
QgsProcessingParameterScale(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool optional=false)
Constructor for QgsProcessingParameterScale.
A string parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
QString type() const override
Unique parameter type name.
bool multiLine() const
Returns true if the parameter allows multiline strings.
QgsProcessingParameterString(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool multiLine=false, bool optional=false)
Constructor for QgsProcessingParameterString.
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 ...
QgsProcessingParameterVectorDestination(const QString &name, const QString &description=QString(), Qgis::ProcessingSourceType type=Qgis::ProcessingSourceType::VectorAnyGeometry, const QVariant &defaultValue=QVariant(), bool optional=false, bool createByDefault=true)
Constructor for QgsProcessingParameterVectorDestination.
QString type() const override
Unique parameter type name.
static QString typeName()
Returns the type name for the parameter class.
A vector layer (with or without geometry) parameter for processing algorithms.
QString type() const override
Unique parameter type name.
QgsProcessingParameterVectorLayer(const QString &name, const QString &description=QString(), const QList< int > &types=QList< int >(), const QVariant &defaultValue=QVariant(), bool optional=false)
Constructor for QgsProcessingParameterVectorLayer.
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...
QgsProcessingParameterVectorTileDestination(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool optional=false, bool createByDefault=true)
Constructor for QgsProcessingParameterVectorTileDestination.
static QString typeName()
Returns the type name for the parameter class.
QString type() const override
Unique parameter type name.
static QString typeName()
Returns the type name for the parameter class.
A double numeric parameter for volume values.
static QString typeName()
Returns the type name for the parameter class.
QgsProcessingParameterVolume(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), const QString &parentParameterName=QString(), bool optional=false, double minValue=0, double maxValue=std::numeric_limits< double >::max())
Constructor for QgsProcessingParameterVolume.
Qgis::VolumeUnit defaultUnit() const
Returns the default volume unit for the parameter.
void setDefaultUnit(Qgis::VolumeUnit unit)
Sets the default volume unit for the parameter.
QString parentParameterName() const
Returns the name of the parent parameter, or an empty string if this is not set.
A collection of utilities for working with parameters when running a processing algorithm.
static QString descriptionFromName(const QString &name)
Creates an autogenerated parameter description from a parameter name.
static int parameterAsEnum(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context)
Evaluates the parameter with matching definition to a enum value.
static double parameterAsDouble(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context)
Evaluates the parameter with matching definition to a static double value.
static QgsPointXY parameterAsPoint(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs=QgsCoordinateReferenceSystem())
Evaluates the parameter with matching definition to a point.
static QString parameterAsOutputLayer(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
Evaluates the parameter with matching definition to a output layer destination.
static QgsFeatureSink * parameterAsSink(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsFields &fields, Qgis::WkbType geometryType, const QgsCoordinateReferenceSystem &crs, QgsProcessingContext &context, QString &destinationIdentifier, QgsFeatureSink::SinkFlags sinkFlags=QgsFeatureSink::SinkFlags(), const QVariantMap &createOptions=QVariantMap(), const QStringList &datasourceOptions=QStringList(), const QStringList &layerOptions=QStringList())
Evaluates the parameter with matching definition to a feature sink.
static QgsPrintLayout * parameterAsLayout(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
Evaluates the parameter with matching definition to a print layout.
static QList< QgsMapLayer * > parameterAsLayerList(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsProcessing::LayerOptionsFlags flags=QgsProcessing::LayerOptionsFlags())
Evaluates the parameter with matching definition to a list of map layers.
static QTime parameterAsTime(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context)
Evaluates the parameter with matching definition to a static time value.
static QgsProcessingParameterDefinition * parameterFromVariantMap(const QVariantMap &map)
Creates a new QgsProcessingParameterDefinition using the configuration from a supplied variant map.
static QgsRectangle parameterAsExtent(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs=QgsCoordinateReferenceSystem())
Evaluates the parameter with matching definition to a rectangular extent.
static QgsCoordinateReferenceSystem parameterAsGeometryCrs(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
Returns the coordinate reference system associated with a geometry parameter value.
static QgsAnnotationLayer * parameterAsAnnotationLayer(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
Evaluates the parameter with matching definition to an annotation layer.
static QString parameterAsEnumString(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context)
Evaluates the parameter with matching definition to a static enum string.
static QList< double > parameterAsRange(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
Evaluates the parameter with matching definition to a range of values.
static QStringList parameterAsStrings(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
Evaluates the parameter with matching definition to a list of strings (e.g.
static QList< int > parameterAsInts(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context)
Evaluates the parameter with matching definition to a list of integer values.
static QString parameterAsConnectionName(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context)
Evaluates the parameter with matching definition to a connection name string.
static QgsProcessingFeatureSource * parameterAsSource(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
Evaluates the parameter with matching definition to a feature source.
static QString parameterAsFileOutput(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
Evaluates the parameter with matching definition to a file based output destination.
static bool parameterAsBoolean(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context)
Evaluates the parameter with matching definition to a static boolean value.
static QgsPointCloudLayer * parameterAsPointCloudLayer(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsProcessing::LayerOptionsFlags flags=QgsProcessing::LayerOptionsFlags())
Evaluates the parameter with matching definition to a point cloud layer.
static QgsCoordinateReferenceSystem parameterAsPointCrs(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
Returns the coordinate reference system associated with an point parameter value.
static QgsLayoutItem * parameterAsLayoutItem(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsPrintLayout *layout)
Evaluates the parameter with matching definition to a print layout item, taken from the specified lay...
static bool parameterAsBool(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context)
Evaluates the parameter with matching definition to a static boolean value.
static QString parameterAsCompatibleSourceLayerPathAndLayerName(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, const QStringList &compatibleFormats, const QString &preferredFormat=QString("shp"), QgsProcessingFeedback *feedback=nullptr, QString *layerName=nullptr)
Evaluates the parameter with matching definition to a source vector layer file path and layer name of...
static QgsMeshLayer * parameterAsMeshLayer(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
Evaluates the parameter with matching definition and value to a mesh layer.
static QString parameterAsCompatibleSourceLayerPath(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, const QStringList &compatibleFormats, const QString &preferredFormat=QString("shp"), QgsProcessingFeedback *feedback=nullptr)
Evaluates the parameter with matching definition to a source vector layer file path of compatible for...
static QgsProcessingParameterDefinition * parameterFromScriptCode(const QString &code)
Creates a new QgsProcessingParameterDefinition using the configuration from a supplied script code st...
static QColor parameterAsColor(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
Returns the color associated with an point parameter value, or an invalid color if the parameter was ...
static QgsVectorLayer * parameterAsVectorLayer(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
Evaluates the parameter with matching definition to a vector layer.
static int parameterAsInt(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context)
Evaluates the parameter with matching definition to a static integer value.
static QString parameterAsDatabaseTableName(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context)
Evaluates the parameter with matching definition to a database table name.
static QString parameterAsSchema(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context)
Evaluates the parameter with matching definition to a database schema name.
static QgsGeometry parameterAsGeometry(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs=QgsCoordinateReferenceSystem())
Evaluates the parameter with matching definition to a geometry.
static QgsMapLayer * parameterAsLayer(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsProcessingUtils::LayerHint layerHint=QgsProcessingUtils::LayerHint::UnknownType, QgsProcessing::LayerOptionsFlags flags=QgsProcessing::LayerOptionsFlags())
Evaluates the parameter with matching definition to a map layer.
static QString parameterAsExpression(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context)
Evaluates the parameter with matching definition to an expression.
static QString parameterAsString(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context)
Evaluates the parameter with matching definition to a static string value.
static QgsRasterLayer * parameterAsRasterLayer(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
Evaluates the parameter with matching definition to a raster layer.
static QList< int > parameterAsEnums(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context)
Evaluates the parameter with matching definition to list of enum values.
static QStringList parameterAsEnumStrings(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context)
Evaluates the parameter with matching definition to list of static enum strings.
static QgsGeometry parameterAsExtentGeometry(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs=QgsCoordinateReferenceSystem())
Evaluates the parameter with matching definition to a rectangular extent, and returns a geometry cove...
static QStringList parameterAsFileList(const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context)
Evaluates the parameter with matching definition to a list of files (for QgsProcessingParameterMultip...
static bool isDynamic(const QVariantMap &parameters, const QString &name)
Returns true if the parameter with matching name is a dynamic parameter, and must be evaluated once f...
static Q_DECL_DEPRECATED QStringList parameterAsFields(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
Evaluates the parameter with matching definition to a list of fields.
static QgsCoordinateReferenceSystem parameterAsExtentCrs(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
Returns the coordinate reference system associated with an extent parameter value.
static QDateTime parameterAsDateTime(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context)
Evaluates the parameter with matching definition to a static datetime value.
static QString parameterAsFile(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
Evaluates the parameter with matching definition to a file/folder name.
static QDate parameterAsDate(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context)
Evaluates the parameter with matching definition to a static date value.
static QVariantList parameterAsMatrix(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
Evaluates the parameter with matching definition to a matrix/table of values.
static QgsCoordinateReferenceSystem parameterAsCrs(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
Evaluates the parameter with matching definition to a coordinate reference system.
Abstract base class for processing providers.
Encapsulates settings relating to a raster layer input to a processing algorithm.
double referenceScale
If set to a value > 0, sets a scale at which a raster (e.g., a WMS) should be requested or rendered.
int dpi
Indicates the resolution of the raster source (e.g., a WMS server).
bool operator==(const QgsProcessingRasterLayerDefinition &other) const
bool loadVariant(const QVariantMap &map)
Loads this raster layer definition from a QVariantMap, wrapped in a QVariant.
QgsProcessingRasterLayerDefinition(const QString &source=QString(), const double referenceScale=0, const int dpi=96)
Constructor for QgsProcessingRasterLayerDefinition, accepting a static string source.
QVariant toVariant() const
Saves this raster layer definition to a QVariantMap, wrapped in a QVariant.
QgsProcessingRasterLayerDefinition(const QgsProperty &source, const double referenceScale=0, const int dpi=96)
Constructor for QgsProcessingRasterLayerDefinition, accepting a QgsProperty source.
bool operator!=(const QgsProcessingRasterLayerDefinition &other) const
LayerHint
Layer type hints.
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:109
Definition for a property.
Definition qgsproperty.h:45
A store for object properties.
Represents a raster layer.
A rectangle specified with double values.
Defines the parameters used to remap features when creating a QgsRemappingProxyFeatureSink.
Represents a vector layer which manages a vector based dataset.
As part of the API refactoring and improvements which landed in the Processing API was substantially reworked from the x version This was done in order to allow much of the underlying Processing framework to be ported into allowing algorithms to be written in pure substantial changes are required in order to port existing x Processing algorithms for QGIS x The most significant changes are outlined not GeoAlgorithm For algorithms which operate on features one by consider subclassing the QgsProcessingFeatureBasedAlgorithm class This class allows much of the boilerplate code for looping over features from a vector layer to be bypassed and instead requires implementation of a processFeature method Ensure that your algorithm(or algorithm 's parent class) implements the new pure virtual createInstance(self) call
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
Definition qgis_sip.h:199
#define SIP_DEPRECATED
Definition qgis_sip.h:114
#define SIP_SKIP
Definition qgis_sip.h:134
#define SIP_OUT
Definition qgis_sip.h:58
#define SIP_FACTORY
Definition qgis_sip.h:84
#define SIP_THROW(name,...)
Definition qgis_sip.h:211
#define SIP_END
Definition qgis_sip.h:216
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(QgsProjectionSelectionWidget::CrsOptions)