QGIS API Documentation 4.3.0-Master (0de80482b60)
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#include <QString>
35
36using namespace Qt::StringLiterals;
37
40class QgsRasterLayer;
41class QgsMeshLayer;
42class QgsVectorLayer;
43class QgsFeatureSink;
48class QgsPrintLayout;
49class QgsLayoutItem;
52
60
62{
63 public:
95
127
132
137
144 long long featureLimit = -1;
145
152
159
168
175 QVariant toVariant() const;
176
183 bool loadVariant( const QVariantMap &map );
184
185 // TODO c++20 - replace with = default
187 {
188 return source == other.source
190 && featureLimit == other.featureLimit
192 && flags == other.flags
193 && geometryCheck == other.geometryCheck;
194 }
195
196 bool operator!=( const QgsProcessingFeatureSourceDefinition &other ) const { return !( *this == other ); }
197
199 operator QVariant() const { return QVariant::fromValue( *this ); }
200};
201
203
204
211
213{
214 public:
224 QgsProcessingRasterLayerDefinition( const QString &source = QString(), const double referenceScale = 0, const int dpi = 96 )
225 : source( QgsProperty::fromValue( source ) )
227 , dpi( dpi )
228 {}
229
239 QgsProcessingRasterLayerDefinition( const QgsProperty &source, const double referenceScale = 0, const int dpi = 96 )
240 : source( source )
242 , dpi( dpi )
243 {}
244
249
253 double referenceScale = 0;
254
258 int dpi = 96;
259
265 QVariant toVariant() const;
266
272 bool loadVariant( const QVariantMap &map );
273
274 // TODO c++20 - replace with = default
275 bool operator==( const QgsProcessingRasterLayerDefinition &other ) const { return source == other.source && referenceScale == other.referenceScale && dpi == other.dpi; }
276
277 bool operator!=( const QgsProcessingRasterLayerDefinition &other ) const { return !( *this == other ); }
278
280 operator QVariant() const { return QVariant::fromValue( *this ); }
281};
282
284
285
292
294{
295 public:
302 : sink( QgsProperty::fromValue( sink ) )
304 {}
305
315
320
327
332
339 QVariantMap createOptions;
340
347 bool useRemapping() const { return mUseRemapping; }
348
356 QgsRemappingSinkDefinition remappingDefinition() const { return mRemappingDefinition; }
357
368 void setRemappingDefinition( const QgsRemappingSinkDefinition &definition );
369
376 QString format() const { return mFormat; }
377
385 void setFormat( const QString &format ) { mFormat = format; }
386
393 QVariant toVariant() const;
394
401 bool loadVariant( const QVariantMap &map );
402
404 operator QVariant() const { return QVariant::fromValue( *this ); }
405
406 // TODO c++20 - replace with = default
407 bool operator==( const QgsProcessingOutputLayerDefinition &other ) const;
408 bool operator!=( const QgsProcessingOutputLayerDefinition &other ) const;
409
410 private:
411 bool mUseRemapping = false;
413 QString mFormat;
414};
415
417
418
419//
420// Parameter definitions
421//
422
423
433
435{
436#ifdef SIP_RUN
437 // clang-format off
438 % TypeHeaderCode
446 % End
448 if ( sipCpp->type() == QgsProcessingParameterBoolean::typeName() )
449 sipType = sipType_QgsProcessingParameterBoolean;
450 else if ( sipCpp->type() == QgsProcessingParameterCrs::typeName() )
451 sipType = sipType_QgsProcessingParameterCrs;
452 else if ( sipCpp->type() == QgsProcessingParameterMapLayer::typeName() )
453 sipType = sipType_QgsProcessingParameterMapLayer;
454 else if ( sipCpp->type() == QgsProcessingParameterExtent::typeName() )
455 sipType = sipType_QgsProcessingParameterExtent;
456 else if ( sipCpp->type() == QgsProcessingParameterPoint::typeName() )
457 sipType = sipType_QgsProcessingParameterPoint;
458 else if ( sipCpp->type() == QgsProcessingParameterGeometry::typeName() )
459 sipType = sipType_QgsProcessingParameterGeometry;
460 else if ( sipCpp->type() == QgsProcessingParameterFile::typeName() )
461 sipType = sipType_QgsProcessingParameterFile;
462 else if ( sipCpp->type() == QgsProcessingParameterMatrix::typeName() )
463 sipType = sipType_QgsProcessingParameterMatrix;
464 else if ( sipCpp->type() == QgsProcessingParameterMultipleLayers::typeName() )
465 sipType = sipType_QgsProcessingParameterMultipleLayers;
466 else if ( sipCpp->type() == QgsProcessingParameterNumber::typeName() )
467 sipType = sipType_QgsProcessingParameterNumber;
468 else if ( sipCpp->type() == QgsProcessingParameterDistance::typeName() )
469 sipType = sipType_QgsProcessingParameterDistance;
470 else if ( sipCpp->type() == QgsProcessingParameterArea::typeName() )
471 sipType = sipType_QgsProcessingParameterArea;
472 else if ( sipCpp->type() == QgsProcessingParameterVolume::typeName() )
473 sipType = sipType_QgsProcessingParameterVolume;
474 else if ( sipCpp->type() == QgsProcessingParameterDuration::typeName() )
475 sipType = sipType_QgsProcessingParameterDuration;
476 else if ( sipCpp->type() == QgsProcessingParameterScale::typeName() )
477 sipType = sipType_QgsProcessingParameterScale;
478 else if ( sipCpp->type() == QgsProcessingParameterRange::typeName() )
479 sipType = sipType_QgsProcessingParameterRange;
480 else if ( sipCpp->type() == QgsProcessingParameterRasterLayer::typeName() )
481 sipType = sipType_QgsProcessingParameterRasterLayer;
482 else if ( sipCpp->type() == QgsProcessingParameterMeshLayer::typeName() )
483 sipType = sipType_QgsProcessingParameterMeshLayer;
484 else if ( sipCpp->type() == QgsProcessingParameterEnum::typeName() )
485 sipType = sipType_QgsProcessingParameterEnum;
486 else if ( sipCpp->type() == QgsProcessingParameterString::typeName() )
487 sipType = sipType_QgsProcessingParameterString;
488 else if ( sipCpp->type() == QgsProcessingParameterExpression::typeName() )
489 sipType = sipType_QgsProcessingParameterExpression;
490 else if ( sipCpp->type() == QgsProcessingParameterAuthConfig::typeName() )
491 sipType = sipType_QgsProcessingParameterAuthConfig;
492 else if ( sipCpp->type() == QgsProcessingParameterVectorLayer::typeName() )
493 sipType = sipType_QgsProcessingParameterVectorLayer;
494 else if ( sipCpp->type() == QgsProcessingParameterField::typeName() )
495 sipType = sipType_QgsProcessingParameterField;
496 else if ( sipCpp->type() == QgsProcessingParameterFeatureSource::typeName() )
497 sipType = sipType_QgsProcessingParameterFeatureSource;
498 else if ( sipCpp->type() == QgsProcessingParameterFeatureSink::typeName() )
499 sipType = sipType_QgsProcessingParameterFeatureSink;
500 else if ( sipCpp->type() == QgsProcessingParameterVectorDestination::typeName() )
501 sipType = sipType_QgsProcessingParameterVectorDestination;
502 else if ( sipCpp->type() == QgsProcessingParameterRasterDestination::typeName() )
503 sipType = sipType_QgsProcessingParameterRasterDestination;
504 else if ( sipCpp->type() == QgsProcessingParameterPointCloudDestination::typeName() )
505 sipType = sipType_QgsProcessingParameterPointCloudDestination;
506 else if ( sipCpp->type() == QgsProcessingParameterFileDestination::typeName() )
507 sipType = sipType_QgsProcessingParameterFileDestination;
508 else if ( sipCpp->type() == QgsProcessingParameterFolderDestination::typeName() )
509 sipType = sipType_QgsProcessingParameterFolderDestination;
510 else if ( sipCpp->type() == QgsProcessingParameterBand::typeName() )
511 sipType = sipType_QgsProcessingParameterBand;
512 else if ( sipCpp->type() == QgsProcessingParameterLayout::typeName() )
513 sipType = sipType_QgsProcessingParameterLayout;
514 else if ( sipCpp->type() == QgsProcessingParameterLayoutItem::typeName() )
515 sipType = sipType_QgsProcessingParameterLayoutItem;
516 else if ( sipCpp->type() == QgsProcessingParameterColor::typeName() )
517 sipType = sipType_QgsProcessingParameterColor;
518 else if ( sipCpp->type() == QgsProcessingParameterCoordinateOperation::typeName() )
519 sipType = sipType_QgsProcessingParameterCoordinateOperation;
520 else if ( sipCpp->type() == QgsProcessingParameterMapTheme::typeName() )
521 sipType = sipType_QgsProcessingParameterMapTheme;
522 else if ( sipCpp->type() == QgsProcessingParameterDateTime::typeName() )
523 sipType = sipType_QgsProcessingParameterDateTime;
524 else if ( sipCpp->type() == QgsProcessingParameterProviderConnection::typeName() )
525 sipType = sipType_QgsProcessingParameterProviderConnection;
526 else if ( sipCpp->type() == QgsProcessingParameterDatabaseSchema::typeName() )
527 sipType = sipType_QgsProcessingParameterDatabaseSchema;
528 else if ( sipCpp->type() == QgsProcessingParameterDatabaseTable::typeName() )
529 sipType = sipType_QgsProcessingParameterDatabaseTable;
530 else if ( sipCpp->type() == QgsProcessingParameterFieldMapping::typeName() )
531 sipType = sipType_QgsProcessingParameterFieldMapping;
532 else if ( sipCpp->type() == QgsProcessingParameterTinInputLayers::typeName() )
533 sipType = sipType_QgsProcessingParameterTinInputLayers;
534 else if ( sipCpp->type() == QgsProcessingParameterVectorTileWriterLayers::typeName() )
535 sipType = sipType_QgsProcessingParameterVectorTileWriterLayers;
536 else if ( sipCpp->type() == QgsProcessingParameterDxfLayers::typeName() )
537 sipType = sipType_QgsProcessingParameterDxfLayers;
538 else if ( sipCpp->type() == QgsProcessingParameterMeshDatasetGroups::typeName() )
539 sipType = sipType_QgsProcessingParameterMeshDatasetGroups;
540 else if ( sipCpp->type() == QgsProcessingParameterMeshDatasetTime::typeName() )
541 sipType = sipType_QgsProcessingParameterMeshDatasetTime;
542 else if ( sipCpp->type() == QgsProcessingParameterPointCloudLayer::typeName() )
543 sipType = sipType_QgsProcessingParameterPointCloudLayer;
544 else if ( sipCpp->type() == QgsProcessingParameterAnnotationLayer::typeName() )
545 sipType = sipType_QgsProcessingParameterAnnotationLayer;
546 else if ( sipCpp->type() == QgsProcessingParameterPointCloudAttribute::typeName() )
547 sipType = sipType_QgsProcessingParameterPointCloudAttribute;
548 else if ( sipCpp->type() == QgsProcessingParameterVectorTileDestination::typeName() )
549 sipType = sipType_QgsProcessingParameterVectorTileDestination;
550 else if ( sipCpp->type() == QgsProcessingParameterInterpolationPixelSize::typeName() )
551 sipType = sipType_QgsProcessingParameterInterpolationPixelSize;
552 else
553 sipType = nullptr;
554 SIP_END
555// clang-format on
556#endif
557
558 public:
559
563 QgsProcessingParameterDefinition( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false, const QString &help = QString() );
564
566
574 virtual QColor modelColor() const;
575
582 virtual QString userFriendlyString( const QVariant &value ) const;
583
588
592 virtual QString type() const = 0;
593
599 virtual bool isDestination() const { return false; }
600
606 QString name() const { return mName; }
607
613 void setName( const QString &name ) { mName = name; }
614
620 QString description() const { return mDescription; }
621
628
638 QString help() const { return mHelp; }
639
649 void setHelp( const QString &help ) { mHelp = help; }
650
657 QVariant defaultValue() const { return mDefault; }
658
665 void setDefaultValue( const QVariant &value ) { mDefault = value; }
666
679 QVariant guiDefaultValueOverride() const;
680
696 void setGuiDefaultValueOverride( const QVariant &value ) { mGuiDefault = value; }
697
706 QVariant defaultValueForGui() const;
707
713
719
727 virtual bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const;
728
736 virtual QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const;
737
749 virtual QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const;
750
764 virtual QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const;
765
779 virtual QStringList valueAsStringList( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const;
780
786 virtual QString valueAsPythonComment( const QVariant &value, QgsProcessingContext &context ) const;
787
792 virtual QString asScriptCode() const;
793
804
810 virtual QVariantMap toVariantMap() const;
811
817 virtual bool fromVariantMap( const QVariantMap &map );
818
825 SIP_SKIP QVariantMap metadata() const { return mMetadata; }
826
832 QVariantMap &metadata() { return mMetadata; }
833
839 void setMetadata( const QVariantMap &metadata ) { mMetadata = metadata; }
840
845 virtual QStringList dependsOnOtherParameters() const { return QStringList(); }
846
853
859 QgsProcessingProvider *provider() const;
860
865 virtual QString toolTip() const;
866
874 bool isDynamic() const { return mIsDynamic; }
875
883 void setIsDynamic( bool dynamic ) { mIsDynamic = dynamic; }
884
892
900
913
926
941
959 void setAdditionalExpressionContextVariables( const QStringList &variables ) { mAdditionalExpressionVariables = variables; }
960
961#ifndef SIP_RUN
962
970 enum class ValueAsStringFlag : int
971 {
972 AllowMapLayerValues = 1 << 0,
973 };
975#endif
976
977 protected:
978#ifndef SIP_RUN
979
986 QString valueAsStringPrivate( const QVariant &value, QgsProcessingContext &context, bool &ok, ValueAsStringFlags flags ) const;
987
994 QVariant valueAsJsonObjectPrivate( const QVariant &value, QgsProcessingContext &context, ValueAsStringFlags flags ) const;
995#endif
996
1003 QVariant defaultGuiValueFromSetting() const;
1004
1006 QString mName;
1007
1010
1012 QString mHelp;
1013
1015 QVariant mDefault;
1016
1018 QVariant mGuiDefault;
1019
1022
1024 QVariantMap mMetadata;
1025
1028
1030 bool mIsDynamic = false;
1031
1034
1037
1040
1041 // To allow access to mAlgorithm. We don't want a public setter for this!
1043};
1044
1045#ifndef SIP_RUN
1047#endif
1048
1050typedef QList< const QgsProcessingParameterDefinition * > QgsProcessingParameterDefinitions;
1051
1068
1070{
1071 public:
1076 static bool isDynamic( const QVariantMap &parameters, const QString &name );
1077
1081 static QString parameterAsString( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1082
1087 static QString parameterAsString( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1088
1092 static QString parameterAsExpression( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1093
1098 static QString parameterAsExpression( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1099
1103 static double parameterAsDouble( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1104
1109 static double parameterAsDouble( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1110
1114 static int parameterAsInt( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1115
1120 static int parameterAsInt( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1121
1126 static QList<int> parameterAsInts( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1127
1132 static QList<int> parameterAsInts( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1133
1142 static QDateTime parameterAsDateTime( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1143
1152 static QDateTime parameterAsDateTime( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1153
1162 static QDate parameterAsDate( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1163
1172 static QDate parameterAsDate( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1173
1182 static QTime parameterAsTime( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1183
1192 static QTime parameterAsTime( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1193
1197 static int parameterAsEnum( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1198
1203 static int parameterAsEnum( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1204
1208 static QList<int> parameterAsEnums( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1209
1214 static QList<int> parameterAsEnums( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1215
1220 static QString parameterAsEnumString( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1221
1226 static QString parameterAsEnumString( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1227
1232 static QStringList parameterAsEnumStrings( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1233
1238 static QStringList parameterAsEnumStrings( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1239
1243 static bool parameterAsBool( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1244
1250 static bool parameterAsBoolean( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1251
1256 static bool parameterAsBool( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1257
1262 static bool parameterAsBoolean( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1263
1282 const QgsProcessingParameterDefinition *definition,
1283 const QVariantMap &parameters,
1284 const QgsFields &fields,
1285 Qgis::WkbType geometryType,
1287 QgsProcessingContext &context,
1288 QString &destinationIdentifier SIP_OUT,
1290 const QVariantMap &createOptions = QVariantMap(),
1291 const QStringList &datasourceOptions = QStringList(),
1292 const QStringList &layerOptions = QStringList()
1293 ) SIP_FACTORY;
1294
1315 const QgsProcessingParameterDefinition *definition,
1316 const QVariant &value,
1317 const QgsFields &fields,
1318 Qgis::WkbType geometryType,
1320 QgsProcessingContext &context,
1321 QString &destinationIdentifier SIP_OUT,
1323 const QVariantMap &createOptions = QVariantMap(),
1324 const QStringList &datasourceOptions = QStringList(),
1325 const QStringList &layerOptions = QStringList()
1327
1336 static QgsProcessingFeatureSource *parameterAsSource( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context ) SIP_FACTORY;
1337
1348 static QgsProcessingFeatureSource *parameterAsSource( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context ) SIP_FACTORY;
1349
1366 const QgsProcessingParameterDefinition *definition,
1367 const QVariantMap &parameters,
1368 QgsProcessingContext &context,
1369 const QStringList &compatibleFormats,
1370 const QString &preferredFormat = QString( "shp" ),
1371 QgsProcessingFeedback *feedback = nullptr
1372 );
1373
1404 const QgsProcessingParameterDefinition *definition,
1405 const QVariantMap &parameters,
1406 QgsProcessingContext &context,
1407 const QStringList &compatibleFormats,
1408 const QString &preferredFormat = QString( "shp" ),
1409 QgsProcessingFeedback *feedback = nullptr,
1410 QString *layerName SIP_OUT = nullptr
1411 );
1412
1421 const QgsProcessingParameterDefinition *definition,
1422 const QVariantMap &parameters,
1423 QgsProcessingContext &context,
1426 );
1427
1438 const QgsProcessingParameterDefinition *definition,
1439 const QVariant &value,
1440 QgsProcessingContext &context,
1443 );
1444
1452 static QgsRasterLayer *parameterAsRasterLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1453
1463 static QgsRasterLayer *parameterAsRasterLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1464
1468 static QString parameterAsOutputLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1469
1478 static QString parameterAsOutputLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, bool testOnly = false );
1479
1487 static QString parameterAsOutputFormat( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1488
1492 static QString parameterAsFileOutput( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1493
1498 static QString parameterAsFileOutput( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1499
1507 static QgsVectorLayer *parameterAsVectorLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1508
1518 static QgsVectorLayer *parameterAsVectorLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1519
1529 static QgsMeshLayer *parameterAsMeshLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1530
1540 static QgsMeshLayer *parameterAsMeshLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1541
1545 static QgsCoordinateReferenceSystem parameterAsCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1546
1551 static QgsCoordinateReferenceSystem parameterAsCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1552
1563 const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem()
1564 );
1565
1578 const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem()
1579 );
1580
1593 const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem()
1594 );
1595
1601 static QgsCoordinateReferenceSystem parameterAsExtentCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1602
1608 static QgsCoordinateReferenceSystem parameterAsExtentCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1609
1610
1619 const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem()
1620 );
1621
1631 const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem()
1632 );
1633
1639 static QgsCoordinateReferenceSystem parameterAsPointCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1640
1647 static QgsCoordinateReferenceSystem parameterAsPointCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1648
1655 const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem()
1656 );
1657
1664 const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem()
1665 );
1666
1673 static QgsCoordinateReferenceSystem parameterAsGeometryCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1674
1681 static QgsCoordinateReferenceSystem parameterAsGeometryCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1682
1686 static QString parameterAsFile( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1687
1692 static QString parameterAsFile( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1693
1698 static QVariantList parameterAsMatrix( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1699
1705 static QVariantList parameterAsMatrix( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1706
1711 static QList< QgsMapLayer *> parameterAsLayerList(
1712 const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsProcessing::LayerOptionsFlags flags = QgsProcessing::LayerOptionsFlags()
1713 );
1714
1720 static QList< QgsMapLayer *> parameterAsLayerList(
1722 );
1723
1729 static QStringList parameterAsFileList( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1730
1736 static QStringList parameterAsFileList( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1737
1741 static QList<double> parameterAsRange( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1742
1747 static QList<double> parameterAsRange( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1748
1754 Q_DECL_DEPRECATED static QStringList parameterAsFields( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context ) SIP_DEPRECATED;
1755
1762 Q_DECL_DEPRECATED static QStringList parameterAsFields( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context ) SIP_DEPRECATED;
1763
1769 static QStringList parameterAsStrings( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1770
1776 static QStringList parameterAsStrings( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1777
1786 static QgsPrintLayout *parameterAsLayout( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1787
1796 static QgsPrintLayout *parameterAsLayout( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1797
1806 static QgsLayoutItem *parameterAsLayoutItem( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsPrintLayout *layout );
1807
1816 static QgsLayoutItem *parameterAsLayoutItem( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, QgsPrintLayout *layout );
1817
1823 static QColor parameterAsColor( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1824
1830 static QColor parameterAsColor( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1831
1837 static QString parameterAsConnectionName( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1838
1844 static QString parameterAsConnectionName( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1845
1851 static QString parameterAsSchema( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1852
1858 static QString parameterAsSchema( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1859
1865 static QString parameterAsDatabaseTableName( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1866
1872 static QString parameterAsDatabaseTableName( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1873
1885 const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsProcessing::LayerOptionsFlags flags = QgsProcessing::LayerOptionsFlags()
1886 );
1887
1900 );
1901
1915 static QgsAnnotationLayer *parameterAsAnnotationLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1916
1930 static QgsAnnotationLayer *parameterAsAnnotationLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1931
1938
1942 static QString descriptionFromName( const QString &name );
1943
1950
1951 private:
1952 static bool parseScriptCodeParameterOptions( const QString &code, bool &isOptional, QString &name, QString &type, QString &definition );
1953};
1954
1955
1962{
1963 public:
1967 QgsProcessingParameterBoolean( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false );
1968
1972 static QString typeName() { return u"boolean"_s; }
1973 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1974 QString type() const override { return typeName(); }
1975 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1976 QString asScriptCode() const override;
1977
1981 static QgsProcessingParameterBoolean *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1982};
1983
1990{
1991 public:
1995 QgsProcessingParameterCrs( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false );
1996
1997 QString userFriendlyString( const QVariant &value ) const override;
1998
2002 static QString typeName() { return u"crs"_s; }
2003 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2004 QString type() const override { return typeName(); }
2005 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2006 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2007 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2008 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2009
2013 static QgsProcessingParameterCrs *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2014};
2015
2022{
2023 public:
2027 QgsProcessingParameterExtent( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false );
2028
2032 static QString typeName() { return u"extent"_s; }
2033 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2034 QString type() const override { return typeName(); }
2035 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2036 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2037 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2038 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2039
2043 static QgsProcessingParameterExtent *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2044
2045 private:
2051 static bool variantIsValidStringForExtent( const QVariant &value );
2052};
2053
2054
2061{
2062 public:
2066 QgsProcessingParameterPoint( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false );
2067
2071 static QString typeName() { return u"point"_s; }
2072 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2073 QString type() const override { return typeName(); }
2074 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2075 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2076
2080 static QgsProcessingParameterPoint *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2081};
2082
2090{
2091 public:
2100 const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false, const QList< int > &geometryTypes = QList< int >(), bool allowMultipart = true
2101 );
2102
2106 static QString typeName() { return u"geometry"_s; }
2107 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2108 QString type() const override { return typeName(); }
2109 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2110 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2111 QString asScriptCode() const override;
2113 QVariantMap toVariantMap() const override;
2114 bool fromVariantMap( const QVariantMap &map ) override;
2115
2120 QList<int> geometryTypes() const { return mGeomTypes; }
2121
2126 void setGeometryTypes( const QList<int> &geometryTypes ) { mGeomTypes = geometryTypes; }
2127
2132 bool allowMultipart() const { return mAllowMultipart; }
2133
2138 void setAllowMultipart( bool allowMultipart ) { mAllowMultipart = allowMultipart; }
2139
2140 QString userFriendlyString( const QVariant &value ) const override;
2141
2145 static QgsProcessingParameterGeometry *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2146
2147 private:
2148 QList<int> mGeomTypes;
2149 bool mAllowMultipart;
2150};
2151
2158{
2159 public:
2168 const QString &name,
2169 const QString &description = QString(),
2171 const QString &extension = QString(),
2172 const QVariant &defaultValue = QVariant(),
2173 bool optional = false,
2174 const QString &fileFilter = QString()
2175 );
2176
2180 static QString typeName() { return u"file"_s; }
2181 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2182 QString type() const override { return typeName(); }
2183 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2184 QString asScriptCode() const override;
2186 QString createFileFilter() const override;
2187
2193
2199
2207 QString extension() const { return mExtension; }
2208
2218 void setExtension( const QString &extension );
2219
2226 QString fileFilter() const;
2227
2237 void setFileFilter( const QString &filter );
2238
2239 QVariantMap toVariantMap() const override;
2240 bool fromVariantMap( const QVariantMap &map ) override;
2241
2245 static QgsProcessingParameterFile *fromScriptCode(
2246 const QString &name, const QString &description, bool isOptional, const QString &definition, Qgis::ProcessingFileParameterBehavior behavior = Qgis::ProcessingFileParameterBehavior::File
2247 ) SIP_FACTORY;
2248
2249 private:
2251 QString mExtension;
2252 QString mFileFilter;
2253};
2254
2261{
2262 public:
2267 const QString &name,
2268 const QString &description = QString(),
2269 int numberRows = 3,
2270 bool hasFixedNumberRows = false,
2271 const QStringList &headers = QStringList(),
2272 const QVariant &defaultValue = QVariant(),
2273 bool optional = false
2274 );
2275
2279 static QString typeName() { return u"matrix"_s; }
2280
2281 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2282 QString type() const override { return typeName(); }
2283 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2284 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2286
2291 QStringList headers() const;
2292
2297 void setHeaders( const QStringList &headers );
2298
2305 int numberRows() const;
2306
2313 void setNumberRows( int rows );
2314
2320 bool hasFixedNumberRows() const;
2321
2327 void setHasFixedNumberRows( bool hasFixedNumberRows );
2328
2329 QVariantMap toVariantMap() const override;
2330 bool fromVariantMap( const QVariantMap &map ) override;
2331
2335 static QgsProcessingParameterMatrix *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2336
2337 private:
2338 QStringList mHeaders;
2339 int mNumberRows = 3;
2340 bool mFixedNumberRows = false;
2341};
2342
2349{
2350 public:
2355 const QString &name,
2356 const QString &description = QString(),
2358 const QVariant &defaultValue = QVariant(),
2359 bool optional = false
2360 );
2361
2365 static QString typeName() { return u"multilayer"_s; }
2366 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2367 QString type() const override { return typeName(); }
2368 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2369 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2370 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2371 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2372 QString asScriptCode() const override;
2374 QString createFileFilter() const override;
2375
2380 Qgis::ProcessingSourceType layerType() const;
2381
2386 void setLayerType( Qgis::ProcessingSourceType type );
2387
2393 int minimumNumberInputs() const;
2394
2400 void setMinimumNumberInputs( int minimum );
2401
2402 QVariantMap toVariantMap() const override;
2403 bool fromVariantMap( const QVariantMap &map ) override;
2404
2408 static QgsProcessingParameterMultipleLayers *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2409
2410 private:
2412 int mMinimumNumberInputs = 0;
2413};
2414
2433{
2434 public:
2439 const QString &name,
2440 const QString &description = QString(),
2442 const QVariant &defaultValue = QVariant(),
2443 bool optional = false,
2444 double minValue = std::numeric_limits<double>::lowest() + 1,
2445 double maxValue = std::numeric_limits<double>::max()
2446 );
2447
2451 static QString typeName() { return u"number"_s; }
2452
2453 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2454 QString type() const override { return typeName(); }
2455 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2456 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2457 QString toolTip() const override;
2459
2464 double minimum() const;
2465
2470 void setMinimum( double minimum );
2471
2476 double maximum() const;
2477
2482 void setMaximum( double maximum );
2483
2488 Qgis::ProcessingNumberParameterType dataType() const;
2489
2494 void setDataType( Qgis::ProcessingNumberParameterType type );
2495
2496 QVariantMap toVariantMap() const override;
2497 bool fromVariantMap( const QVariantMap &map ) override;
2498
2502 static QgsProcessingParameterNumber *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2503
2504 private:
2505 double mMin = std::numeric_limits<double>::lowest() + 1;
2506 double mMax = std::numeric_limits<double>::max();
2508};
2509
2532{
2533 public:
2538 const QString &name,
2539 const QString &description = QString(),
2540 const QVariant &defaultValue = QVariant(),
2541 const QString &parentParameterName = QString(),
2542 bool optional = false,
2543 double minValue = std::numeric_limits<double>::lowest() + 1,
2544 double maxValue = std::numeric_limits<double>::max()
2545 );
2546
2550 static QString typeName() { return u"distance"_s; } // cppcheck-suppress duplInheritedMember
2551
2552 QString userFriendlyString( const QVariant &value ) const override;
2553
2554 QgsProcessingParameterDistance *clone() const override SIP_FACTORY;
2555
2556 QString type() const override;
2557 QStringList dependsOnOtherParameters() const override;
2558 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2559
2564 QString parentParameterName() const;
2565
2570 void setParentParameterName( const QString &parentParameterName );
2571
2578 Qgis::DistanceUnit defaultUnit() const { return mDefaultUnit; }
2579
2586 void setDefaultUnit( Qgis::DistanceUnit unit ) { mDefaultUnit = unit; }
2587
2588 QVariantMap toVariantMap() const override;
2589 bool fromVariantMap( const QVariantMap &map ) override;
2590
2591 private:
2592 QString mParentParameterName;
2594};
2595
2596
2619{
2620 public:
2625 const QString &name,
2626 const QString &description = QString(),
2627 const QVariant &defaultValue = QVariant(),
2628 const QString &parentParameterName = QString(),
2629 bool optional = false,
2630 double minValue = 0,
2631 double maxValue = std::numeric_limits<double>::max()
2632 );
2633
2637 static QString typeName() { return u"area"_s; } // cppcheck-suppress duplInheritedMember
2638
2639 QgsProcessingParameterArea *clone() const override SIP_FACTORY;
2640
2641 QString type() const override;
2642 QStringList dependsOnOtherParameters() const override;
2643 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2644
2649 QString parentParameterName() const;
2650
2655 void setParentParameterName( const QString &parentParameterName );
2656
2662 Qgis::AreaUnit defaultUnit() const { return mDefaultUnit; }
2663
2669 void setDefaultUnit( Qgis::AreaUnit unit ) { mDefaultUnit = unit; }
2670
2671 QVariantMap toVariantMap() const override;
2672 bool fromVariantMap( const QVariantMap &map ) override;
2673 QString userFriendlyString( const QVariant &value ) const override;
2674
2675 private:
2676 QString mParentParameterName;
2678};
2679
2680
2703{
2704 public:
2709 const QString &name,
2710 const QString &description = QString(),
2711 const QVariant &defaultValue = QVariant(),
2712 const QString &parentParameterName = QString(),
2713 bool optional = false,
2714 double minValue = 0,
2715 double maxValue = std::numeric_limits<double>::max()
2716 );
2717
2721 static QString typeName() { return u"volume"_s; } // cppcheck-suppress duplInheritedMember
2722
2723 QgsProcessingParameterVolume *clone() const override SIP_FACTORY;
2724
2725 QString type() const override;
2726 QStringList dependsOnOtherParameters() const override;
2727 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2728
2733 QString parentParameterName() const;
2734
2739 void setParentParameterName( const QString &parentParameterName );
2740
2746 Qgis::VolumeUnit defaultUnit() const { return mDefaultUnit; }
2747
2753 void setDefaultUnit( Qgis::VolumeUnit unit ) { mDefaultUnit = unit; }
2754
2755 QVariantMap toVariantMap() const override;
2756 bool fromVariantMap( const QVariantMap &map ) override;
2757 QString userFriendlyString( const QVariant &value ) const override;
2758
2759 private:
2760 QString mParentParameterName;
2762};
2763
2764
2774{
2775 public:
2780 const QString &name,
2781 const QString &description = QString(),
2782 const QVariant &defaultValue = QVariant(),
2783 bool optional = false,
2784 double minValue = std::numeric_limits<double>::lowest() + 1,
2785 double maxValue = std::numeric_limits<double>::max()
2786 );
2787
2791 static QString typeName() { return u"duration"_s; } // cppcheck-suppress duplInheritedMember
2792
2793 QgsProcessingParameterDuration *clone() const override SIP_FACTORY;
2794
2795 QString type() const override;
2796 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2797
2803 Qgis::TemporalUnit defaultUnit() const { return mDefaultUnit; }
2804
2810 void setDefaultUnit( Qgis::TemporalUnit unit ) { mDefaultUnit = unit; }
2811
2812 QVariantMap toVariantMap() const override;
2813 bool fromVariantMap( const QVariantMap &map ) override;
2814 QString userFriendlyString( const QVariant &value ) const override;
2815
2816 private:
2818};
2819
2831{
2832 public:
2836 explicit QgsProcessingParameterScale( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false );
2837
2841 static QString typeName() { return u"scale"_s; } // cppcheck-suppress duplInheritedMember
2842
2843 QgsProcessingParameterScale *clone() const override SIP_FACTORY;
2844
2845 QString type() const override;
2846 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2847
2851 static QgsProcessingParameterScale *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY; // cppcheck-suppress duplInheritedMember
2852};
2853
2860{
2861 public:
2866 const QString &name,
2867 const QString &description = QString(),
2869 const QVariant &defaultValue = QVariant(),
2870 bool optional = false
2871 );
2872
2876 static QString typeName() { return u"range"_s; }
2877
2878 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2879 QString type() const override { return typeName(); }
2880 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2881 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2883
2888 Qgis::ProcessingNumberParameterType dataType() const;
2889
2894 void setDataType( Qgis::ProcessingNumberParameterType dataType );
2895
2896 QVariantMap toVariantMap() const override;
2897 bool fromVariantMap( const QVariantMap &map ) override;
2898
2902 static QgsProcessingParameterRange *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2903
2904 private:
2906};
2907
2914{
2915 public:
2919 QgsProcessingParameterRasterLayer( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false );
2920
2924 static QString typeName() { return u"raster"_s; }
2925 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2926 QString type() const override { return typeName(); }
2927 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2928 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2929 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2930 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2931 QString createFileFilter() const override;
2932
2936 static QgsProcessingParameterRasterLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2937
2944 void setParameterCapabilities( Qgis::RasterProcessingParameterCapabilities capabilities );
2945
2950 Qgis::RasterProcessingParameterCapabilities parameterCapabilities() const;
2951
2952 private:
2954};
2955
2974{
2975 public:
2980 const QString &name,
2981 const QString &description = QString(),
2982 const QStringList &options = QStringList(),
2983 bool allowMultiple = false,
2984 const QVariant &defaultValue = QVariant(),
2985 bool optional = false,
2986 bool usesStaticStrings = false
2987 );
2988
2989 QString userFriendlyString( const QVariant &value ) const override;
2990
2994 static QString typeName() { return u"enum"_s; }
2995 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2996 QString type() const override { return typeName(); }
2997 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2998 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2999 QString valueAsPythonComment( const QVariant &value, QgsProcessingContext &context ) const override;
3000 QString asScriptCode() const override;
3002
3007 QStringList options() const;
3008
3013 void setOptions( const QStringList &options );
3014
3019 bool allowMultiple() const;
3020
3025 void setAllowMultiple( bool allowMultiple );
3026
3033 bool usesStaticStrings() const;
3034
3041 void setUsesStaticStrings( bool usesStaticStrings );
3042
3043 QVariantMap toVariantMap() const override;
3044 bool fromVariantMap( const QVariantMap &map ) override;
3045
3049 static QgsProcessingParameterEnum *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3050
3051 private:
3052 QStringList mOptions;
3053 bool mAllowMultiple = false;
3054 bool mUsesStaticStrings = false;
3055};
3056
3084{
3085 public:
3089 QgsProcessingParameterString( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool multiLine = false, bool optional = false );
3090
3094 static QString typeName() { return u"string"_s; }
3095 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3096 QString type() const override { return typeName(); }
3097 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3098 QString asScriptCode() const override;
3100
3105 bool multiLine() const;
3106
3111 void setMultiLine( bool multiLine );
3112
3113 QVariantMap toVariantMap() const override;
3114 bool fromVariantMap( const QVariantMap &map ) override;
3115
3119 static QgsProcessingParameterString *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3120
3121 private:
3122 bool mMultiLine = false;
3123};
3124
3125
3139{
3140 public:
3144 QgsProcessingParameterAuthConfig( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false );
3145
3149 static QString typeName() { return u"authcfg"_s; }
3150 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3151 QString type() const override { return typeName(); }
3152 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3153 QString asScriptCode() const override;
3154
3158 static QgsProcessingParameterAuthConfig *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3159};
3160
3167{
3168 public:
3173 const QString &name,
3174 const QString &description = QString(),
3175 const QVariant &defaultValue = QVariant(),
3176 const QString &parentLayerParameterName = QString(),
3177 bool optional = false,
3179 );
3180
3184 static QString typeName() { return u"expression"_s; }
3185 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3186 QString type() const override { return typeName(); }
3187 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3188 QStringList dependsOnOtherParameters() const override;
3190
3195 QString parentLayerParameterName() const;
3196
3201 void setParentLayerParameterName( const QString &parentLayerParameterName );
3202
3209 Qgis::ExpressionType expressionType() const;
3210
3217 void setExpressionType( Qgis::ExpressionType type );
3218
3219 QVariantMap toVariantMap() const override;
3220 bool fromVariantMap( const QVariantMap &map ) override;
3221
3225 static QgsProcessingParameterExpression *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3226
3227 private:
3228 QString mParentLayerParameterName;
3230};
3231
3232
3239{
3240 public:
3244 QgsProcessingParameterLimitedDataTypes( const QList< int > &types = QList< int >() );
3245
3250 QList< int > dataTypes() const;
3251
3256 void setDataTypes( const QList< int > &types );
3257
3258 protected:
3260 QList< int > mDataTypes;
3261};
3262
3271{
3272 public:
3277 const QString &name, const QString &description = QString(), const QList< int > &types = QList< int >(), const QVariant &defaultValue = QVariant(), bool optional = false
3278 );
3279
3283 static QString typeName() { return u"vector"_s; }
3284 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3285 QString type() const override { return typeName(); }
3286 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3287 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3288 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
3289 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
3291 QString createFileFilter() const override;
3292
3293 QVariantMap toVariantMap() const override;
3294 bool fromVariantMap( const QVariantMap &map ) override;
3295
3299 static QgsProcessingParameterVectorLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3300};
3301
3309{
3310 public:
3314 QgsProcessingParameterMeshLayer( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false );
3315
3319 static QString typeName() { return u"mesh"_s; }
3320 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3321 QString type() const override { return typeName(); }
3322 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3323 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3324 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
3325 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
3326 QString createFileFilter() const override;
3327
3331 static QgsProcessingParameterMeshLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3332};
3333
3340{
3341 public:
3346 const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false, const QList< int > &types = QList< int >()
3347 );
3348
3352 static QString typeName() { return u"layer"_s; }
3353 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3354 QString type() const override { return typeName(); }
3355 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3356 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3357 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
3358 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
3359 QString asScriptCode() const override;
3361 QString createFileFilter() const override;
3362
3363 QVariantMap toVariantMap() const override;
3364 bool fromVariantMap( const QVariantMap &map ) override;
3365
3369 static QgsProcessingParameterMapLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3370};
3371
3378{
3379 public:
3384 const QString &name,
3385 const QString &description = QString(),
3386 const QVariant &defaultValue = QVariant(),
3387 const QString &parentLayerParameterName = QString(),
3389 bool allowMultiple = false,
3390 bool optional = false,
3391 bool defaultToAllFields = false
3392 );
3393
3397 static QString typeName() { return u"field"_s; }
3398 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3399 QString type() const override { return typeName(); }
3400 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3401 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3402 QString asScriptCode() const override;
3404 QStringList dependsOnOtherParameters() const override;
3405
3410 QString parentLayerParameterName() const;
3411
3416 void setParentLayerParameterName( const QString &parentLayerParameterName );
3417
3423
3428 void setDataType( Qgis::ProcessingFieldParameterDataType type );
3429
3434 bool allowMultiple() const;
3435
3440 void setAllowMultiple( bool allowMultiple );
3441
3451 bool defaultToAllFields() const;
3452
3462 void setDefaultToAllFields( bool enabled );
3463
3464 QVariantMap toVariantMap() const override;
3465 bool fromVariantMap( const QVariantMap &map ) override;
3466
3470 static QgsProcessingParameterField *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3471
3472 private:
3473 QString mParentLayerParameterName;
3475 bool mAllowMultiple = false;
3476 bool mDefaultToAllFields = false;
3477};
3478
3479
3486{
3487 public:
3492 const QString &name, const QString &description = QString(), const QList< int > &types = QList< int >(), const QVariant &defaultValue = QVariant(), bool optional = false
3493 );
3494
3498 static QString typeName() { return u"source"_s; }
3499 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3500 QString type() const override { return typeName(); }
3501 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3502 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3503 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
3504 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
3505 QString asScriptCode() const override;
3507 QString createFileFilter() const override;
3508
3509 QVariantMap toVariantMap() const override;
3510 bool fromVariantMap( const QVariantMap &map ) override;
3511
3515 static QgsProcessingParameterFeatureSource *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3516};
3517
3525{
3526 public:
3533 QgsProcessingDestinationParameter( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false, bool createByDefault = true );
3534
3535 bool isDestination() const override { return true; }
3536 QVariantMap toVariantMap() const override;
3537 bool fromVariantMap( const QVariantMap &map ) override;
3539 QString createFileFilter() const override;
3540
3546
3552 bool supportsNonFileBasedOutput() const { return mSupportsNonFileBasedOutputs; }
3553
3560
3565 virtual QString defaultFileExtension() const = 0;
3566
3572 virtual QString generateTemporaryDestination( const QgsProcessingContext *context = nullptr ) const;
3573
3588 virtual bool isSupportedOutputValue( const QVariant &value, QgsProcessingContext &context, QString &error SIP_OUT ) const;
3589
3595 bool createByDefault() const;
3596
3603
3604 protected:
3613 QgsProcessingProvider *originalProvider() const { return mOriginalProvider; }
3614
3615 private:
3623 QgsProcessingProvider *mOriginalProvider = nullptr;
3624
3625 bool mSupportsNonFileBasedOutputs = true;
3626 bool mCreateByDefault = true;
3627
3629 friend class TestQgsProcessing;
3631};
3632
3633
3642{
3643 public:
3651 const QString &name,
3652 const QString &description = QString(),
3654 const QVariant &defaultValue = QVariant(),
3655 bool optional = false,
3656 bool createByDefault = true,
3657 bool supportsAppend = false
3658 );
3659
3663 static QString typeName() { return u"sink"_s; }
3664 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3665 QString type() const override { return typeName(); }
3666 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3667 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3668 QString asScriptCode() const override;
3669 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3670 QString defaultFileExtension() const override;
3671 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
3672 QString createFileFilter() const override;
3673
3679 virtual QStringList supportedOutputVectorLayerExtensions() const;
3680
3685 Qgis::ProcessingSourceType dataType() const;
3686
3691 bool hasGeometry() const;
3692
3697 void setDataType( Qgis::ProcessingSourceType type );
3698
3707 bool supportsAppend() const;
3708
3717 void setSupportsAppend( bool supportsAppend );
3718
3719 QVariantMap toVariantMap() const override;
3720 bool fromVariantMap( const QVariantMap &map ) override;
3721 QString generateTemporaryDestination( const QgsProcessingContext *context = nullptr ) const override;
3722
3726 static QgsProcessingParameterFeatureSink *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3727
3728 private:
3729 Qgis::ProcessingSourceType mDataType = Qgis::ProcessingSourceType::VectorAnyGeometry;
3730 bool mSupportsAppend = false;
3731};
3732
3733
3744{
3745 public:
3753 const QString &name,
3754 const QString &description = QString(),
3756 const QVariant &defaultValue = QVariant(),
3757 bool optional = false,
3758 bool createByDefault = true
3759 );
3760
3764 static QString typeName() { return u"vectorDestination"_s; }
3765 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3766 QString type() const override { return typeName(); }
3767 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3768 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3769 QString asScriptCode() const override;
3770 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3771 QString defaultFileExtension() const override;
3772 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
3773 QString createFileFilter() const override;
3774
3780 virtual QStringList supportedOutputVectorLayerExtensions() const;
3781
3786 Qgis::ProcessingSourceType dataType() const;
3787
3792 bool hasGeometry() const;
3793
3798 void setDataType( Qgis::ProcessingSourceType type );
3799
3800 QVariantMap toVariantMap() const override;
3801 bool fromVariantMap( const QVariantMap &map ) override;
3802
3806 static QgsProcessingParameterVectorDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3807
3808
3809 private:
3810 Qgis::ProcessingSourceType mDataType = Qgis::ProcessingSourceType::VectorAnyGeometry;
3811};
3812
3820{
3821 public:
3828 QgsProcessingParameterRasterDestination( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false, bool createByDefault = true );
3829
3833 static QString typeName() { return u"rasterDestination"_s; }
3834 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3835 QString type() const override { return typeName(); }
3836 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3837 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3838 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3839 QString defaultFileExtension() const override;
3840
3847 QString defaultFileFormat() const;
3848
3849 QString createFileFilter() const override;
3850
3857 Q_DECL_DEPRECATED virtual QStringList supportedOutputRasterLayerExtensions() const SIP_DEPRECATED;
3858
3864 virtual QList<QPair<QString, QString>> supportedOutputRasterLayerFormatAndExtensions() const;
3865
3869 static QgsProcessingParameterRasterDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3870};
3871
3893{
3894 public:
3902 const QString &name, const QString &description = QString(), const QString &fileFilter = QString(), const QVariant &defaultValue = QVariant(), bool optional = false, bool createByDefault = true
3903 );
3904
3908 static QString typeName() { return u"fileDestination"_s; }
3909 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3910 QString type() const override { return typeName(); }
3911 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3912 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3913 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3914 QString defaultFileExtension() const override;
3915 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
3916 QString createFileFilter() const override;
3917
3922 QString fileFilter() const;
3923
3928 void setFileFilter( const QString &filter );
3929
3930 QVariantMap toVariantMap() const override;
3931 bool fromVariantMap( const QVariantMap &map ) override;
3932
3936 static QgsProcessingParameterFileDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3937
3938
3939 private:
3940 QString mFileFilter;
3941};
3942
3950{
3951 public:
3955 QgsProcessingParameterFolderDestination( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false, bool createByDefault = true );
3956
3960 static QString typeName() { return u"folderDestination"_s; }
3961 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3962 QString type() const override { return typeName(); }
3963 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3964 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3965 QString defaultFileExtension() const override;
3966
3970 static QgsProcessingParameterFolderDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3971};
3972
3979{
3980 public:
3985 const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), const QString &parentLayerParameterName = QString(), bool optional = false, bool allowMultiple = false
3986 );
3987
3991 static QString typeName() { return u"band"_s; }
3992 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3993 QString type() const override { return typeName(); }
3994 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3995 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3996 QString asScriptCode() const override;
3997 QStringList dependsOnOtherParameters() const override;
3999
4004 QString parentLayerParameterName() const;
4005
4010 void setParentLayerParameterName( const QString &parentLayerParameterName );
4011
4012 QVariantMap toVariantMap() const override;
4013 bool fromVariantMap( const QVariantMap &map ) override;
4014
4018 static QgsProcessingParameterBand *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4019
4025 bool allowMultiple() const;
4026
4032 void setAllowMultiple( bool allowMultiple );
4033
4034 private:
4035 QString mParentLayerParameterName;
4036 bool mAllowMultiple = false;
4037};
4038
4051{
4052 public:
4056 QgsProcessingParameterLayout( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false );
4057
4061 static QString typeName() { return u"layout"_s; }
4062 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4063 QString type() const override { return typeName(); }
4064 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4065 QString asScriptCode() const override;
4067
4071 static QgsProcessingParameterLayout *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4072};
4073
4086{
4087 public:
4092 const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), const QString &parentLayoutParameterName = QString(), int itemType = -1, bool optional = false
4093 );
4094
4098 static QString typeName() { return u"layoutitem"_s; }
4099 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4100 QString type() const override { return typeName(); }
4101 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4102 QString asScriptCode() const override;
4104 QVariantMap toVariantMap() const override;
4105 bool fromVariantMap( const QVariantMap &map ) override;
4106 QStringList dependsOnOtherParameters() const override;
4107
4111 static QgsProcessingParameterLayoutItem *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4112
4117 QString parentLayoutParameterName() const;
4118
4123 void setParentLayoutParameterName( const QString &name );
4124
4132 int itemType() const;
4133
4141 void setItemType( int type );
4142
4143 private:
4144 QString mParentLayoutParameterName;
4145 int mItemType = -1;
4146};
4147
4158{
4159 public:
4165 QgsProcessingParameterColor( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool opacityEnabled = true, bool optional = false );
4166
4170 static QString typeName() { return u"color"_s; }
4171
4172 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4173 QString type() const override { return typeName(); }
4174 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4175 QString asScriptCode() const override;
4177 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4178 QVariantMap toVariantMap() const override;
4179 bool fromVariantMap( const QVariantMap &map ) override;
4180
4187 bool opacityEnabled() const;
4188
4196 void setOpacityEnabled( bool enabled );
4197
4201 static QgsProcessingParameterColor *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4202
4203 private:
4204 bool mAllowOpacity = true;
4205};
4206
4207
4220{
4221 public:
4226 const QString &name,
4227 const QString &description = QString(),
4228 const QVariant &defaultValue = QVariant(),
4229 const QString &sourceCrsParameterName = QString(),
4230 const QString &destinationCrsParameterName = QString(),
4231 const QVariant &staticSourceCrs = QVariant(),
4232 const QVariant &staticDestinationCrs = QVariant(),
4233 bool optional = false
4234 );
4235
4239 static QString typeName() { return u"coordinateoperation"_s; }
4240 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4241 QString type() const override { return typeName(); }
4242 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4243 QString asScriptCode() const override;
4245 QStringList dependsOnOtherParameters() const override;
4246
4247 QVariantMap toVariantMap() const override;
4248 bool fromVariantMap( const QVariantMap &map ) override;
4249
4253 static QgsProcessingParameterCoordinateOperation *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4254
4260 QString sourceCrsParameterName() const { return mSourceParameterName; }
4261
4267 void setSourceCrsParameterName( const QString &name ) { mSourceParameterName = name; }
4268
4274 QString destinationCrsParameterName() const { return mDestParameterName; }
4275
4281 void setDestinationCrsParameterName( const QString &name ) { mDestParameterName = name; }
4282
4288 QVariant sourceCrs() const { return mSourceCrs; }
4289
4295 void setSourceCrs( const QVariant &crs ) { mSourceCrs = crs; }
4296
4302 QVariant destinationCrs() const { return mDestCrs; }
4303
4309 void setDestinationCrs( const QVariant &crs ) { mDestCrs = crs; }
4310
4311 private:
4312 QString valueAsPythonStringPrivate( const QVariant &value, QgsProcessingContext &context, bool allowNonStringValues ) const;
4313
4314 QString mSourceParameterName;
4315 QString mDestParameterName;
4316 QVariant mSourceCrs;
4317 QVariant mDestCrs;
4318};
4319
4320
4331{
4332 public:
4336 QgsProcessingParameterMapTheme( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false );
4337
4341 static QString typeName() { return u"maptheme"_s; }
4342 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4343 QString type() const override { return typeName(); }
4344 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4345 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4346 QString asScriptCode() const override;
4348 QVariantMap toVariantMap() const override;
4349 bool fromVariantMap( const QVariantMap &map ) override;
4350
4354 static QgsProcessingParameterMapTheme *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4355
4356 private:
4357};
4358
4359
4371{
4372 public:
4377 const QString &name,
4378 const QString &description = QString(),
4380 const QVariant &defaultValue = QVariant(),
4381 bool optional = false,
4382 const QDateTime &minValue = QDateTime(),
4383 const QDateTime &maxValue = QDateTime()
4384 );
4385
4389 static QString typeName() { return u"datetime"_s; }
4390 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4391 QString type() const override { return typeName(); }
4392 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4393 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4394 QString toolTip() const override;
4396
4404 QDateTime minimum() const;
4405
4417 void setMinimum( const QDateTime &minimum );
4418
4426 QDateTime maximum() const;
4427
4439 void setMaximum( const QDateTime &maximum );
4440
4446
4451 void setDataType( Qgis::ProcessingDateTimeParameterDataType type );
4452
4453 QVariantMap toVariantMap() const override;
4454 bool fromVariantMap( const QVariantMap &map ) override;
4455 QString userFriendlyString( const QVariant &value ) const override;
4456
4460 static QgsProcessingParameterDateTime *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4461
4462 private:
4463 QDateTime mMin;
4464 QDateTime mMax;
4466};
4467
4468
4480{
4481 public:
4488 QgsProcessingParameterProviderConnection( const QString &name, const QString &description, const QString &provider, const QVariant &defaultValue = QVariant(), bool optional = false );
4489
4493 static QString typeName() { return u"providerconnection"_s; }
4494 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4495 QString type() const override { return typeName(); }
4496 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4497 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4498 QString asScriptCode() const override;
4500 QVariantMap toVariantMap() const override;
4501 bool fromVariantMap( const QVariantMap &map ) override;
4502
4507 QString providerId() const { return mProviderId; }
4508
4513 void setProviderId( const QString &provider ) { mProviderId = provider; }
4514
4518 static QgsProcessingParameterProviderConnection *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4519
4520 private:
4521 QString mProviderId;
4522};
4523
4524
4536{
4537 public:
4547 const QString &name, const QString &description, const QString &connectionParameterName = QString(), const QVariant &defaultValue = QVariant(), bool optional = false
4548 );
4549
4553 static QString typeName() { return u"databaseschema"_s; }
4554 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4555 QString type() const override { return typeName(); }
4556 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4557 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4558 QString asScriptCode() const override;
4560 QVariantMap toVariantMap() const override;
4561 bool fromVariantMap( const QVariantMap &map ) override;
4562 QStringList dependsOnOtherParameters() const override;
4563
4568 QString parentConnectionParameterName() const;
4569
4574 void setParentConnectionParameterName( const QString &name );
4575
4579 static QgsProcessingParameterDatabaseSchema *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4580
4581 private:
4582 QString mParentConnectionParameterName;
4583};
4584
4585
4599{
4600 public:
4611 const QString &name,
4612 const QString &description,
4613 const QString &connectionParameterName = QString(),
4614 const QString &schemaParameterName = QString(),
4615 const QVariant &defaultValue = QVariant(),
4616 bool optional = false,
4617 bool allowNewTableNames = false
4618 );
4619
4623 static QString typeName() { return u"databasetable"_s; }
4624 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4625 QString type() const override { return typeName(); }
4626 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4627 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4628 QString asScriptCode() const override;
4630 QVariantMap toVariantMap() const override;
4631 bool fromVariantMap( const QVariantMap &map ) override;
4632 QStringList dependsOnOtherParameters() const override;
4633
4638 QString parentConnectionParameterName() const;
4639
4644 void setParentConnectionParameterName( const QString &name );
4645
4650 QString parentSchemaParameterName() const;
4651
4656 void setParentSchemaParameterName( const QString &name );
4657
4661 static QgsProcessingParameterDatabaseTable *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4662
4669 bool allowNewTableNames() const;
4670
4677 void setAllowNewTableNames( bool allowed );
4678
4679 private:
4680 QString mParentConnectionParameterName;
4681 QString mParentSchemaParameterName;
4682 bool mAllowNewTableNames = false;
4683};
4684
4685
4693{
4694 public:
4698 QgsProcessingParameterPointCloudLayer( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false );
4699
4703 static QString typeName() { return u"pointcloud"_s; }
4704 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4705 QString type() const override { return typeName(); }
4706 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4707 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4708 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
4709 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
4710 QString createFileFilter() const override;
4711
4715 static QgsProcessingParameterPointCloudLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4716};
4717
4718
4726{
4727 public:
4731 QgsProcessingParameterAnnotationLayer( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false );
4732
4736 static QString typeName() { return u"annotation"_s; }
4737 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4738 QString type() const override { return typeName(); }
4739 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4740 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4741 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
4742 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
4743
4747 static QgsProcessingParameterAnnotationLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4748};
4749
4758{
4759 public:
4766 QgsProcessingParameterPointCloudDestination( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false, bool createByDefault = true );
4767
4771 static QString typeName() { return u"pointCloudDestination"_s; }
4772 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4773 QString type() const override { return typeName(); }
4774 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4775 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4776 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
4777 QString defaultFileExtension() const override;
4778 QString createFileFilter() const override;
4779
4784 virtual QStringList supportedOutputPointCloudLayerExtensions() const;
4785
4789 static QgsProcessingParameterPointCloudDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4790};
4791
4799{
4800 public:
4805 const QString &name,
4806 const QString &description = QString(),
4807 const QVariant &defaultValue = QVariant(),
4808 const QString &parentLayerParameterName = QString(),
4809 bool allowMultiple = false,
4810 bool optional = false,
4811 bool defaultToAllAttributes = false
4812 );
4813
4817 static QString typeName() { return u"attribute"_s; }
4818 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4819 QString type() const override { return typeName(); }
4820 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4821 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4822 QString asScriptCode() const override;
4824 QStringList dependsOnOtherParameters() const override;
4825
4830 QString parentLayerParameterName() const;
4831
4836 void setParentLayerParameterName( const QString &parentLayerParameterName );
4837
4842 bool allowMultiple() const;
4843
4848 void setAllowMultiple( bool allowMultiple );
4849
4858 bool defaultToAllAttributes() const;
4859
4868 void setDefaultToAllAttributes( bool enabled );
4869
4870 QVariantMap toVariantMap() const override;
4871 bool fromVariantMap( const QVariantMap &map ) override;
4872
4876 static QgsProcessingParameterPointCloudAttribute *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4877
4878 private:
4879 QString mParentLayerParameterName;
4880 bool mAllowMultiple = false;
4881 bool mDefaultToAllAttributes = false;
4882};
4883
4892{
4893 public:
4900 QgsProcessingParameterVectorTileDestination( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false, bool createByDefault = true );
4901
4905 static QString typeName() { return u"vectorTileDestination"_s; }
4906 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4907 QString type() const override { return typeName(); }
4908 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4909 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4910 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
4911 QString defaultFileExtension() const override;
4912 QString createFileFilter() const override;
4913
4918 virtual QStringList supportedOutputVectorTileLayerExtensions() const;
4919
4923 static QgsProcessingParameterVectorTileDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4924};
4925
4926// clazy:excludeall=qstring-allocations
4927
4928#endif // QGSPROCESSINGPARAMETERS_H
Provides global constants and enumerations for use throughout the application.
Definition qgis.h:62
ProcessingSourceType
Processing data source types.
Definition qgis.h:3747
@ VectorAnyGeometry
Any vector layer with geometry.
Definition qgis.h:3749
ProcessingFileParameterBehavior
Flags which dictate the behavior of QgsProcessingParameterFile.
Definition qgis.h:4007
@ File
Parameter is a single file.
Definition qgis.h:4008
ExpressionType
Expression types.
Definition qgis.h:6240
@ Qgis
Native QGIS expression.
Definition qgis.h:6241
DistanceUnit
Units of distance.
Definition qgis.h:5512
@ Unknown
Unknown distance unit.
Definition qgis.h:5562
QFlags< RasterProcessingParameterCapability > RasterProcessingParameterCapabilities
Raster layer processing parameter capabilities.
Definition qgis.h:6908
ProcessingFieldParameterDataType
Processing field parameter data types.
Definition qgis.h:4035
AreaUnit
Units of area.
Definition qgis.h:5589
@ Unknown
Unknown areal unit.
Definition qgis.h:5602
TemporalUnit
Temporal units.
Definition qgis.h:5658
@ Milliseconds
Milliseconds.
Definition qgis.h:5659
QFlags< ProcessingParameterFlag > ProcessingParameterFlags
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3996
VolumeUnit
Units of volume.
Definition qgis.h:5614
@ Unknown
Unknown volume unit.
Definition qgis.h:5625
InvalidGeometryCheck
Methods for handling of features with invalid geometries.
Definition qgis.h:2403
@ AbortOnInvalid
Close iterator on encountering any features with invalid geometry. This requires a slow geometry vali...
Definition qgis.h:2406
QFlags< ProcessingFeatureSourceDefinitionFlag > ProcessingFeatureSourceDefinitionFlags
Flags which control behavior for a Processing feature source.
Definition qgis.h:3918
WkbType
The WKB type describes the number of dimensions a geometry has.
Definition qgis.h:294
ProcessingDateTimeParameterDataType
Processing date time parameter data types.
Definition qgis.h:4053
ProcessingNumberParameterType
Processing numeric parameter data types.
Definition qgis.h:4021
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:45
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:83
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:62
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.
QString format() const
Returns the format (if set).
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.
void setFormat(const QString &format)
Sets the format of the output dataset.
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.
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 QString parameterAsOutputFormat(const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context)
Evaluates the parameter with matching definition to a output format.
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:114
Definition for a property.
Definition qgsproperty.h:47
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:203
#define SIP_DEPRECATED
Definition qgis_sip.h:113
#define SIP_SKIP
Definition qgis_sip.h:138
#define SIP_OUT
Definition qgis_sip.h:57
#define SIP_FACTORY
Definition qgis_sip.h:83
#define SIP_THROW(name,...)
Definition qgis_sip.h:215
#define SIP_END
Definition qgis_sip.h:220
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)