QGIS API Documentation 4.0.0-Norrköping (1ddcee3d0e4)
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
445 % End
447 if ( sipCpp->type() == QgsProcessingParameterBoolean::typeName() )
448 sipType = sipType_QgsProcessingParameterBoolean;
449 else if ( sipCpp->type() == QgsProcessingParameterCrs::typeName() )
450 sipType = sipType_QgsProcessingParameterCrs;
451 else if ( sipCpp->type() == QgsProcessingParameterMapLayer::typeName() )
452 sipType = sipType_QgsProcessingParameterMapLayer;
453 else if ( sipCpp->type() == QgsProcessingParameterExtent::typeName() )
454 sipType = sipType_QgsProcessingParameterExtent;
455 else if ( sipCpp->type() == QgsProcessingParameterPoint::typeName() )
456 sipType = sipType_QgsProcessingParameterPoint;
457 else if ( sipCpp->type() == QgsProcessingParameterGeometry::typeName() )
458 sipType = sipType_QgsProcessingParameterGeometry;
459 else if ( sipCpp->type() == QgsProcessingParameterFile::typeName() )
460 sipType = sipType_QgsProcessingParameterFile;
461 else if ( sipCpp->type() == QgsProcessingParameterMatrix::typeName() )
462 sipType = sipType_QgsProcessingParameterMatrix;
463 else if ( sipCpp->type() == QgsProcessingParameterMultipleLayers::typeName() )
464 sipType = sipType_QgsProcessingParameterMultipleLayers;
465 else if ( sipCpp->type() == QgsProcessingParameterNumber::typeName() )
466 sipType = sipType_QgsProcessingParameterNumber;
467 else if ( sipCpp->type() == QgsProcessingParameterDistance::typeName() )
468 sipType = sipType_QgsProcessingParameterDistance;
469 else if ( sipCpp->type() == QgsProcessingParameterArea::typeName() )
470 sipType = sipType_QgsProcessingParameterArea;
471 else if ( sipCpp->type() == QgsProcessingParameterVolume::typeName() )
472 sipType = sipType_QgsProcessingParameterVolume;
473 else if ( sipCpp->type() == QgsProcessingParameterDuration::typeName() )
474 sipType = sipType_QgsProcessingParameterDuration;
475 else if ( sipCpp->type() == QgsProcessingParameterScale::typeName() )
476 sipType = sipType_QgsProcessingParameterScale;
477 else if ( sipCpp->type() == QgsProcessingParameterRange::typeName() )
478 sipType = sipType_QgsProcessingParameterRange;
479 else if ( sipCpp->type() == QgsProcessingParameterRasterLayer::typeName() )
480 sipType = sipType_QgsProcessingParameterRasterLayer;
481 else if ( sipCpp->type() == QgsProcessingParameterMeshLayer::typeName() )
482 sipType = sipType_QgsProcessingParameterMeshLayer;
483 else if ( sipCpp->type() == QgsProcessingParameterEnum::typeName() )
484 sipType = sipType_QgsProcessingParameterEnum;
485 else if ( sipCpp->type() == QgsProcessingParameterString::typeName() )
486 sipType = sipType_QgsProcessingParameterString;
487 else if ( sipCpp->type() == QgsProcessingParameterExpression::typeName() )
488 sipType = sipType_QgsProcessingParameterExpression;
489 else if ( sipCpp->type() == QgsProcessingParameterAuthConfig::typeName() )
490 sipType = sipType_QgsProcessingParameterAuthConfig;
491 else if ( sipCpp->type() == QgsProcessingParameterVectorLayer::typeName() )
492 sipType = sipType_QgsProcessingParameterVectorLayer;
493 else if ( sipCpp->type() == QgsProcessingParameterField::typeName() )
494 sipType = sipType_QgsProcessingParameterField;
495 else if ( sipCpp->type() == QgsProcessingParameterFeatureSource::typeName() )
496 sipType = sipType_QgsProcessingParameterFeatureSource;
497 else if ( sipCpp->type() == QgsProcessingParameterFeatureSink::typeName() )
498 sipType = sipType_QgsProcessingParameterFeatureSink;
499 else if ( sipCpp->type() == QgsProcessingParameterVectorDestination::typeName() )
500 sipType = sipType_QgsProcessingParameterVectorDestination;
501 else if ( sipCpp->type() == QgsProcessingParameterRasterDestination::typeName() )
502 sipType = sipType_QgsProcessingParameterRasterDestination;
503 else if ( sipCpp->type() == QgsProcessingParameterPointCloudDestination::typeName() )
504 sipType = sipType_QgsProcessingParameterPointCloudDestination;
505 else if ( sipCpp->type() == QgsProcessingParameterFileDestination::typeName() )
506 sipType = sipType_QgsProcessingParameterFileDestination;
507 else if ( sipCpp->type() == QgsProcessingParameterFolderDestination::typeName() )
508 sipType = sipType_QgsProcessingParameterFolderDestination;
509 else if ( sipCpp->type() == QgsProcessingParameterBand::typeName() )
510 sipType = sipType_QgsProcessingParameterBand;
511 else if ( sipCpp->type() == QgsProcessingParameterLayout::typeName() )
512 sipType = sipType_QgsProcessingParameterLayout;
513 else if ( sipCpp->type() == QgsProcessingParameterLayoutItem::typeName() )
514 sipType = sipType_QgsProcessingParameterLayoutItem;
515 else if ( sipCpp->type() == QgsProcessingParameterColor::typeName() )
516 sipType = sipType_QgsProcessingParameterColor;
517 else if ( sipCpp->type() == QgsProcessingParameterCoordinateOperation::typeName() )
518 sipType = sipType_QgsProcessingParameterCoordinateOperation;
519 else if ( sipCpp->type() == QgsProcessingParameterMapTheme::typeName() )
520 sipType = sipType_QgsProcessingParameterMapTheme;
521 else if ( sipCpp->type() == QgsProcessingParameterDateTime::typeName() )
522 sipType = sipType_QgsProcessingParameterDateTime;
523 else if ( sipCpp->type() == QgsProcessingParameterProviderConnection::typeName() )
524 sipType = sipType_QgsProcessingParameterProviderConnection;
525 else if ( sipCpp->type() == QgsProcessingParameterDatabaseSchema::typeName() )
526 sipType = sipType_QgsProcessingParameterDatabaseSchema;
527 else if ( sipCpp->type() == QgsProcessingParameterDatabaseTable::typeName() )
528 sipType = sipType_QgsProcessingParameterDatabaseTable;
529 else if ( sipCpp->type() == QgsProcessingParameterFieldMapping::typeName() )
530 sipType = sipType_QgsProcessingParameterFieldMapping;
531 else if ( sipCpp->type() == QgsProcessingParameterTinInputLayers::typeName() )
532 sipType = sipType_QgsProcessingParameterTinInputLayers;
533 else if ( sipCpp->type() == QgsProcessingParameterVectorTileWriterLayers::typeName() )
534 sipType = sipType_QgsProcessingParameterVectorTileWriterLayers;
535 else if ( sipCpp->type() == QgsProcessingParameterDxfLayers::typeName() )
536 sipType = sipType_QgsProcessingParameterDxfLayers;
537 else if ( sipCpp->type() == QgsProcessingParameterMeshDatasetGroups::typeName() )
538 sipType = sipType_QgsProcessingParameterMeshDatasetGroups;
539 else if ( sipCpp->type() == QgsProcessingParameterMeshDatasetTime::typeName() )
540 sipType = sipType_QgsProcessingParameterMeshDatasetTime;
541 else if ( sipCpp->type() == QgsProcessingParameterPointCloudLayer::typeName() )
542 sipType = sipType_QgsProcessingParameterPointCloudLayer;
543 else if ( sipCpp->type() == QgsProcessingParameterAnnotationLayer::typeName() )
544 sipType = sipType_QgsProcessingParameterAnnotationLayer;
545 else if ( sipCpp->type() == QgsProcessingParameterPointCloudAttribute::typeName() )
546 sipType = sipType_QgsProcessingParameterPointCloudAttribute;
547 else if ( sipCpp->type() == QgsProcessingParameterVectorTileDestination::typeName() )
548 sipType = sipType_QgsProcessingParameterVectorTileDestination;
549 else
550 sipType = nullptr;
551 SIP_END
552// clang-format on
553#endif
554
555 public:
556
560 QgsProcessingParameterDefinition( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false, const QString &help = QString() );
561
563
571 virtual QColor modelColor() const;
572
579 virtual QString userFriendlyString( const QVariant &value ) const;
580
585
589 virtual QString type() const = 0;
590
596 virtual bool isDestination() const { return false; }
597
603 QString name() const { return mName; }
604
610 void setName( const QString &name ) { mName = name; }
611
617 QString description() const { return mDescription; }
618
625
635 QString help() const { return mHelp; }
636
646 void setHelp( const QString &help ) { mHelp = help; }
647
654 QVariant defaultValue() const { return mDefault; }
655
662 void setDefaultValue( const QVariant &value ) { mDefault = value; }
663
676 QVariant guiDefaultValueOverride() const;
677
693 void setGuiDefaultValueOverride( const QVariant &value ) { mGuiDefault = value; }
694
703 QVariant defaultValueForGui() const;
704
710
716
724 virtual bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const;
725
733 virtual QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const;
734
746 virtual QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const;
747
761 virtual QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const;
762
776 virtual QStringList valueAsStringList( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const;
777
783 virtual QString valueAsPythonComment( const QVariant &value, QgsProcessingContext &context ) const;
784
789 virtual QString asScriptCode() const;
790
801
807 virtual QVariantMap toVariantMap() const;
808
814 virtual bool fromVariantMap( const QVariantMap &map );
815
822 SIP_SKIP QVariantMap metadata() const { return mMetadata; }
823
829 QVariantMap &metadata() { return mMetadata; }
830
836 void setMetadata( const QVariantMap &metadata ) { mMetadata = metadata; }
837
842 virtual QStringList dependsOnOtherParameters() const { return QStringList(); }
843
850
856 QgsProcessingProvider *provider() const;
857
862 virtual QString toolTip() const;
863
871 bool isDynamic() const { return mIsDynamic; }
872
880 void setIsDynamic( bool dynamic ) { mIsDynamic = dynamic; }
881
889
897
910
923
938
956 void setAdditionalExpressionContextVariables( const QStringList &variables ) { mAdditionalExpressionVariables = variables; }
957
958#ifndef SIP_RUN
959
967 enum class ValueAsStringFlag : int
968 {
969 AllowMapLayerValues = 1 << 0,
970 };
972#endif
973
974 protected:
975#ifndef SIP_RUN
976
983 QString valueAsStringPrivate( const QVariant &value, QgsProcessingContext &context, bool &ok, ValueAsStringFlags flags ) const;
984
991 QVariant valueAsJsonObjectPrivate( const QVariant &value, QgsProcessingContext &context, ValueAsStringFlags flags ) const;
992#endif
993
1000 QVariant defaultGuiValueFromSetting() const;
1001
1003 QString mName;
1004
1007
1009 QString mHelp;
1010
1012 QVariant mDefault;
1013
1015 QVariant mGuiDefault;
1016
1019
1021 QVariantMap mMetadata;
1022
1025
1027 bool mIsDynamic = false;
1028
1031
1034
1037
1038 // To allow access to mAlgorithm. We don't want a public setter for this!
1040};
1041
1042#ifndef SIP_RUN
1044#endif
1045
1047typedef QList< const QgsProcessingParameterDefinition * > QgsProcessingParameterDefinitions;
1048
1065
1067{
1068 public:
1073 static bool isDynamic( const QVariantMap &parameters, const QString &name );
1074
1078 static QString parameterAsString( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1079
1084 static QString parameterAsString( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1085
1089 static QString parameterAsExpression( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1090
1095 static QString parameterAsExpression( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1096
1100 static double parameterAsDouble( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1101
1106 static double parameterAsDouble( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1107
1111 static int parameterAsInt( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1112
1117 static int parameterAsInt( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1118
1123 static QList<int> parameterAsInts( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1124
1129 static QList<int> parameterAsInts( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1130
1139 static QDateTime parameterAsDateTime( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1140
1149 static QDateTime parameterAsDateTime( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1150
1159 static QDate parameterAsDate( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1160
1169 static QDate parameterAsDate( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1170
1179 static QTime parameterAsTime( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1180
1189 static QTime parameterAsTime( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1190
1194 static int parameterAsEnum( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1195
1200 static int parameterAsEnum( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1201
1205 static QList<int> parameterAsEnums( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1206
1211 static QList<int> parameterAsEnums( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1212
1217 static QString parameterAsEnumString( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1218
1223 static QString parameterAsEnumString( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1224
1229 static QStringList parameterAsEnumStrings( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1230
1235 static QStringList parameterAsEnumStrings( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1236
1240 static bool parameterAsBool( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1241
1247 static bool parameterAsBoolean( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1248
1253 static bool parameterAsBool( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1254
1259 static bool parameterAsBoolean( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1260
1279 const QgsProcessingParameterDefinition *definition,
1280 const QVariantMap &parameters,
1281 const QgsFields &fields,
1282 Qgis::WkbType geometryType,
1284 QgsProcessingContext &context,
1285 QString &destinationIdentifier SIP_OUT,
1287 const QVariantMap &createOptions = QVariantMap(),
1288 const QStringList &datasourceOptions = QStringList(),
1289 const QStringList &layerOptions = QStringList()
1290 ) SIP_FACTORY;
1291
1312 const QgsProcessingParameterDefinition *definition,
1313 const QVariant &value,
1314 const QgsFields &fields,
1315 Qgis::WkbType geometryType,
1317 QgsProcessingContext &context,
1318 QString &destinationIdentifier SIP_OUT,
1320 const QVariantMap &createOptions = QVariantMap(),
1321 const QStringList &datasourceOptions = QStringList(),
1322 const QStringList &layerOptions = QStringList()
1324
1333 static QgsProcessingFeatureSource *parameterAsSource( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context ) SIP_FACTORY;
1334
1345 static QgsProcessingFeatureSource *parameterAsSource( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context ) SIP_FACTORY;
1346
1363 const QgsProcessingParameterDefinition *definition,
1364 const QVariantMap &parameters,
1365 QgsProcessingContext &context,
1366 const QStringList &compatibleFormats,
1367 const QString &preferredFormat = QString( "shp" ),
1368 QgsProcessingFeedback *feedback = nullptr
1369 );
1370
1401 const QgsProcessingParameterDefinition *definition,
1402 const QVariantMap &parameters,
1403 QgsProcessingContext &context,
1404 const QStringList &compatibleFormats,
1405 const QString &preferredFormat = QString( "shp" ),
1406 QgsProcessingFeedback *feedback = nullptr,
1407 QString *layerName SIP_OUT = nullptr
1408 );
1409
1418 const QgsProcessingParameterDefinition *definition,
1419 const QVariantMap &parameters,
1420 QgsProcessingContext &context,
1423 );
1424
1435 const QgsProcessingParameterDefinition *definition,
1436 const QVariant &value,
1437 QgsProcessingContext &context,
1440 );
1441
1449 static QgsRasterLayer *parameterAsRasterLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1450
1460 static QgsRasterLayer *parameterAsRasterLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1461
1465 static QString parameterAsOutputLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1466
1475 static QString parameterAsOutputLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, bool testOnly = false );
1476
1484 static QString parameterAsOutputFormat( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1485
1489 static QString parameterAsFileOutput( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1490
1495 static QString parameterAsFileOutput( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1496
1504 static QgsVectorLayer *parameterAsVectorLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1505
1515 static QgsVectorLayer *parameterAsVectorLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1516
1526 static QgsMeshLayer *parameterAsMeshLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1527
1537 static QgsMeshLayer *parameterAsMeshLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1538
1542 static QgsCoordinateReferenceSystem parameterAsCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1543
1548 static QgsCoordinateReferenceSystem parameterAsCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1549
1560 const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem()
1561 );
1562
1575 const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem()
1576 );
1577
1590 const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem()
1591 );
1592
1598 static QgsCoordinateReferenceSystem parameterAsExtentCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1599
1605 static QgsCoordinateReferenceSystem parameterAsExtentCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1606
1607
1616 const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem()
1617 );
1618
1628 const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem()
1629 );
1630
1636 static QgsCoordinateReferenceSystem parameterAsPointCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1637
1644 static QgsCoordinateReferenceSystem parameterAsPointCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1645
1652 const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem()
1653 );
1654
1661 const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem()
1662 );
1663
1670 static QgsCoordinateReferenceSystem parameterAsGeometryCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1671
1678 static QgsCoordinateReferenceSystem parameterAsGeometryCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1679
1683 static QString parameterAsFile( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1684
1689 static QString parameterAsFile( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1690
1695 static QVariantList parameterAsMatrix( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1696
1702 static QVariantList parameterAsMatrix( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1703
1708 static QList< QgsMapLayer *> parameterAsLayerList(
1709 const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsProcessing::LayerOptionsFlags flags = QgsProcessing::LayerOptionsFlags()
1710 );
1711
1717 static QList< QgsMapLayer *> parameterAsLayerList(
1719 );
1720
1726 static QStringList parameterAsFileList( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1727
1733 static QStringList parameterAsFileList( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1734
1738 static QList<double> parameterAsRange( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1739
1744 static QList<double> parameterAsRange( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1745
1751 Q_DECL_DEPRECATED static QStringList parameterAsFields( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context ) SIP_DEPRECATED;
1752
1759 Q_DECL_DEPRECATED static QStringList parameterAsFields( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context ) SIP_DEPRECATED;
1760
1766 static QStringList parameterAsStrings( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1767
1773 static QStringList parameterAsStrings( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1774
1783 static QgsPrintLayout *parameterAsLayout( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1784
1793 static QgsPrintLayout *parameterAsLayout( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1794
1803 static QgsLayoutItem *parameterAsLayoutItem( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsPrintLayout *layout );
1804
1813 static QgsLayoutItem *parameterAsLayoutItem( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, QgsPrintLayout *layout );
1814
1820 static QColor parameterAsColor( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1821
1827 static QColor parameterAsColor( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1828
1834 static QString parameterAsConnectionName( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1835
1841 static QString parameterAsConnectionName( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1842
1848 static QString parameterAsSchema( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1849
1855 static QString parameterAsSchema( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1856
1862 static QString parameterAsDatabaseTableName( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1863
1869 static QString parameterAsDatabaseTableName( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1870
1882 const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsProcessing::LayerOptionsFlags flags = QgsProcessing::LayerOptionsFlags()
1883 );
1884
1897 );
1898
1912 static QgsAnnotationLayer *parameterAsAnnotationLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1913
1927 static QgsAnnotationLayer *parameterAsAnnotationLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1928
1935
1939 static QString descriptionFromName( const QString &name );
1940
1947
1948 private:
1949 static bool parseScriptCodeParameterOptions( const QString &code, bool &isOptional, QString &name, QString &type, QString &definition );
1950};
1951
1952
1959{
1960 public:
1964 QgsProcessingParameterBoolean( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false );
1965
1969 static QString typeName() { return u"boolean"_s; }
1970 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1971 QString type() const override { return typeName(); }
1972 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1973 QString asScriptCode() const override;
1974
1978 static QgsProcessingParameterBoolean *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1979};
1980
1987{
1988 public:
1992 QgsProcessingParameterCrs( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false );
1993
1994 QString userFriendlyString( const QVariant &value ) const override;
1995
1999 static QString typeName() { return u"crs"_s; }
2000 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2001 QString type() const override { return typeName(); }
2002 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2003 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2004 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2005 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2006
2010 static QgsProcessingParameterCrs *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2011};
2012
2019{
2020 public:
2024 QgsProcessingParameterExtent( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false );
2025
2029 static QString typeName() { return u"extent"_s; }
2030 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2031 QString type() const override { return typeName(); }
2032 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2033 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2034 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2035 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2036
2040 static QgsProcessingParameterExtent *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2041
2042 private:
2048 static bool variantIsValidStringForExtent( const QVariant &value );
2049};
2050
2051
2058{
2059 public:
2063 QgsProcessingParameterPoint( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false );
2064
2068 static QString typeName() { return u"point"_s; }
2069 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2070 QString type() const override { return typeName(); }
2071 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2072 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2073
2077 static QgsProcessingParameterPoint *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2078};
2079
2087{
2088 public:
2097 const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false, const QList< int > &geometryTypes = QList< int >(), bool allowMultipart = true
2098 );
2099
2103 static QString typeName() { return u"geometry"_s; }
2104 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2105 QString type() const override { return typeName(); }
2106 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2107 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2108 QString asScriptCode() const override;
2110 QVariantMap toVariantMap() const override;
2111 bool fromVariantMap( const QVariantMap &map ) override;
2112
2117 QList<int> geometryTypes() const { return mGeomTypes; }
2118
2123 void setGeometryTypes( const QList<int> &geometryTypes ) { mGeomTypes = geometryTypes; }
2124
2129 bool allowMultipart() const { return mAllowMultipart; }
2130
2135 void setAllowMultipart( bool allowMultipart ) { mAllowMultipart = allowMultipart; }
2136
2137 QString userFriendlyString( const QVariant &value ) const override;
2138
2142 static QgsProcessingParameterGeometry *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2143
2144 private:
2145 QList<int> mGeomTypes;
2146 bool mAllowMultipart;
2147};
2148
2155{
2156 public:
2165 const QString &name,
2166 const QString &description = QString(),
2168 const QString &extension = QString(),
2169 const QVariant &defaultValue = QVariant(),
2170 bool optional = false,
2171 const QString &fileFilter = QString()
2172 );
2173
2177 static QString typeName() { return u"file"_s; }
2178 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2179 QString type() const override { return typeName(); }
2180 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2181 QString asScriptCode() const override;
2183 QString createFileFilter() const override;
2184
2190
2196
2204 QString extension() const { return mExtension; }
2205
2215 void setExtension( const QString &extension );
2216
2223 QString fileFilter() const;
2224
2234 void setFileFilter( const QString &filter );
2235
2236 QVariantMap toVariantMap() const override;
2237 bool fromVariantMap( const QVariantMap &map ) override;
2238
2242 static QgsProcessingParameterFile *fromScriptCode(
2243 const QString &name, const QString &description, bool isOptional, const QString &definition, Qgis::ProcessingFileParameterBehavior behavior = Qgis::ProcessingFileParameterBehavior::File
2244 ) SIP_FACTORY;
2245
2246 private:
2248 QString mExtension;
2249 QString mFileFilter;
2250};
2251
2258{
2259 public:
2264 const QString &name,
2265 const QString &description = QString(),
2266 int numberRows = 3,
2267 bool hasFixedNumberRows = false,
2268 const QStringList &headers = QStringList(),
2269 const QVariant &defaultValue = QVariant(),
2270 bool optional = false
2271 );
2272
2276 static QString typeName() { return u"matrix"_s; }
2277
2278 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2279 QString type() const override { return typeName(); }
2280 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2281 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2283
2288 QStringList headers() const;
2289
2294 void setHeaders( const QStringList &headers );
2295
2302 int numberRows() const;
2303
2310 void setNumberRows( int rows );
2311
2317 bool hasFixedNumberRows() const;
2318
2324 void setHasFixedNumberRows( bool hasFixedNumberRows );
2325
2326 QVariantMap toVariantMap() const override;
2327 bool fromVariantMap( const QVariantMap &map ) override;
2328
2332 static QgsProcessingParameterMatrix *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2333
2334 private:
2335 QStringList mHeaders;
2336 int mNumberRows = 3;
2337 bool mFixedNumberRows = false;
2338};
2339
2346{
2347 public:
2352 const QString &name,
2353 const QString &description = QString(),
2355 const QVariant &defaultValue = QVariant(),
2356 bool optional = false
2357 );
2358
2362 static QString typeName() { return u"multilayer"_s; }
2363 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2364 QString type() const override { return typeName(); }
2365 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2366 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2367 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2368 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2369 QString asScriptCode() const override;
2371 QString createFileFilter() const override;
2372
2377 Qgis::ProcessingSourceType layerType() const;
2378
2383 void setLayerType( Qgis::ProcessingSourceType type );
2384
2390 int minimumNumberInputs() const;
2391
2397 void setMinimumNumberInputs( int minimum );
2398
2399 QVariantMap toVariantMap() const override;
2400 bool fromVariantMap( const QVariantMap &map ) override;
2401
2405 static QgsProcessingParameterMultipleLayers *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2406
2407 private:
2409 int mMinimumNumberInputs = 0;
2410};
2411
2430{
2431 public:
2436 const QString &name,
2437 const QString &description = QString(),
2439 const QVariant &defaultValue = QVariant(),
2440 bool optional = false,
2441 double minValue = std::numeric_limits<double>::lowest() + 1,
2442 double maxValue = std::numeric_limits<double>::max()
2443 );
2444
2448 static QString typeName() { return u"number"_s; }
2449
2450 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2451 QString type() const override { return typeName(); }
2452 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2453 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2454 QString toolTip() const override;
2456
2461 double minimum() const;
2462
2467 void setMinimum( double minimum );
2468
2473 double maximum() const;
2474
2479 void setMaximum( double maximum );
2480
2485 Qgis::ProcessingNumberParameterType dataType() const;
2486
2491 void setDataType( Qgis::ProcessingNumberParameterType type );
2492
2493 QVariantMap toVariantMap() const override;
2494 bool fromVariantMap( const QVariantMap &map ) override;
2495
2499 static QgsProcessingParameterNumber *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2500
2501 private:
2502 double mMin = std::numeric_limits<double>::lowest() + 1;
2503 double mMax = std::numeric_limits<double>::max();
2505};
2506
2529{
2530 public:
2535 const QString &name,
2536 const QString &description = QString(),
2537 const QVariant &defaultValue = QVariant(),
2538 const QString &parentParameterName = QString(),
2539 bool optional = false,
2540 double minValue = std::numeric_limits<double>::lowest() + 1,
2541 double maxValue = std::numeric_limits<double>::max()
2542 );
2543
2547 static QString typeName() { return u"distance"_s; } // cppcheck-suppress duplInheritedMember
2548
2549 QString userFriendlyString( const QVariant &value ) const override;
2550
2551 QgsProcessingParameterDistance *clone() const override SIP_FACTORY;
2552
2553 QString type() const override;
2554 QStringList dependsOnOtherParameters() const override;
2555 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2556
2561 QString parentParameterName() const;
2562
2567 void setParentParameterName( const QString &parentParameterName );
2568
2575 Qgis::DistanceUnit defaultUnit() const { return mDefaultUnit; }
2576
2583 void setDefaultUnit( Qgis::DistanceUnit unit ) { mDefaultUnit = unit; }
2584
2585 QVariantMap toVariantMap() const override;
2586 bool fromVariantMap( const QVariantMap &map ) override;
2587
2588 private:
2589 QString mParentParameterName;
2591};
2592
2593
2616{
2617 public:
2622 const QString &name,
2623 const QString &description = QString(),
2624 const QVariant &defaultValue = QVariant(),
2625 const QString &parentParameterName = QString(),
2626 bool optional = false,
2627 double minValue = 0,
2628 double maxValue = std::numeric_limits<double>::max()
2629 );
2630
2634 static QString typeName() { return u"area"_s; } // cppcheck-suppress duplInheritedMember
2635
2636 QgsProcessingParameterArea *clone() const override SIP_FACTORY;
2637
2638 QString type() const override;
2639 QStringList dependsOnOtherParameters() const override;
2640 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2641
2646 QString parentParameterName() const;
2647
2652 void setParentParameterName( const QString &parentParameterName );
2653
2659 Qgis::AreaUnit defaultUnit() const { return mDefaultUnit; }
2660
2666 void setDefaultUnit( Qgis::AreaUnit unit ) { mDefaultUnit = unit; }
2667
2668 QVariantMap toVariantMap() const override;
2669 bool fromVariantMap( const QVariantMap &map ) override;
2670 QString userFriendlyString( const QVariant &value ) const override;
2671
2672 private:
2673 QString mParentParameterName;
2675};
2676
2677
2700{
2701 public:
2706 const QString &name,
2707 const QString &description = QString(),
2708 const QVariant &defaultValue = QVariant(),
2709 const QString &parentParameterName = QString(),
2710 bool optional = false,
2711 double minValue = 0,
2712 double maxValue = std::numeric_limits<double>::max()
2713 );
2714
2718 static QString typeName() { return u"volume"_s; } // cppcheck-suppress duplInheritedMember
2719
2720 QgsProcessingParameterVolume *clone() const override SIP_FACTORY;
2721
2722 QString type() const override;
2723 QStringList dependsOnOtherParameters() const override;
2724 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2725
2730 QString parentParameterName() const;
2731
2736 void setParentParameterName( const QString &parentParameterName );
2737
2743 Qgis::VolumeUnit defaultUnit() const { return mDefaultUnit; }
2744
2750 void setDefaultUnit( Qgis::VolumeUnit unit ) { mDefaultUnit = unit; }
2751
2752 QVariantMap toVariantMap() const override;
2753 bool fromVariantMap( const QVariantMap &map ) override;
2754 QString userFriendlyString( const QVariant &value ) const override;
2755
2756 private:
2757 QString mParentParameterName;
2759};
2760
2761
2771{
2772 public:
2777 const QString &name,
2778 const QString &description = QString(),
2779 const QVariant &defaultValue = QVariant(),
2780 bool optional = false,
2781 double minValue = std::numeric_limits<double>::lowest() + 1,
2782 double maxValue = std::numeric_limits<double>::max()
2783 );
2784
2788 static QString typeName() { return u"duration"_s; } // cppcheck-suppress duplInheritedMember
2789
2790 QgsProcessingParameterDuration *clone() const override SIP_FACTORY;
2791
2792 QString type() const override;
2793 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2794
2800 Qgis::TemporalUnit defaultUnit() const { return mDefaultUnit; }
2801
2807 void setDefaultUnit( Qgis::TemporalUnit unit ) { mDefaultUnit = unit; }
2808
2809 QVariantMap toVariantMap() const override;
2810 bool fromVariantMap( const QVariantMap &map ) override;
2811 QString userFriendlyString( const QVariant &value ) const override;
2812
2813 private:
2815};
2816
2828{
2829 public:
2833 explicit QgsProcessingParameterScale( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false );
2834
2838 static QString typeName() { return u"scale"_s; } // cppcheck-suppress duplInheritedMember
2839
2840 QgsProcessingParameterScale *clone() const override SIP_FACTORY;
2841
2842 QString type() const override;
2843 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2844
2848 static QgsProcessingParameterScale *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY; // cppcheck-suppress duplInheritedMember
2849};
2850
2857{
2858 public:
2863 const QString &name,
2864 const QString &description = QString(),
2866 const QVariant &defaultValue = QVariant(),
2867 bool optional = false
2868 );
2869
2873 static QString typeName() { return u"range"_s; }
2874
2875 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2876 QString type() const override { return typeName(); }
2877 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2878 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2880
2885 Qgis::ProcessingNumberParameterType dataType() const;
2886
2891 void setDataType( Qgis::ProcessingNumberParameterType dataType );
2892
2893 QVariantMap toVariantMap() const override;
2894 bool fromVariantMap( const QVariantMap &map ) override;
2895
2899 static QgsProcessingParameterRange *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2900
2901 private:
2903};
2904
2911{
2912 public:
2916 QgsProcessingParameterRasterLayer( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false );
2917
2921 static QString typeName() { return u"raster"_s; }
2922 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2923 QString type() const override { return typeName(); }
2924 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2925 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2926 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2927 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2928 QString createFileFilter() const override;
2929
2933 static QgsProcessingParameterRasterLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2934
2941 void setParameterCapabilities( Qgis::RasterProcessingParameterCapabilities capabilities );
2942
2947 Qgis::RasterProcessingParameterCapabilities parameterCapabilities() const;
2948
2949 private:
2951};
2952
2971{
2972 public:
2977 const QString &name,
2978 const QString &description = QString(),
2979 const QStringList &options = QStringList(),
2980 bool allowMultiple = false,
2981 const QVariant &defaultValue = QVariant(),
2982 bool optional = false,
2983 bool usesStaticStrings = false
2984 );
2985
2986 QString userFriendlyString( const QVariant &value ) const override;
2987
2991 static QString typeName() { return u"enum"_s; }
2992 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2993 QString type() const override { return typeName(); }
2994 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2995 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2996 QString valueAsPythonComment( const QVariant &value, QgsProcessingContext &context ) const override;
2997 QString asScriptCode() const override;
2999
3004 QStringList options() const;
3005
3010 void setOptions( const QStringList &options );
3011
3016 bool allowMultiple() const;
3017
3022 void setAllowMultiple( bool allowMultiple );
3023
3030 bool usesStaticStrings() const;
3031
3038 void setUsesStaticStrings( bool usesStaticStrings );
3039
3040 QVariantMap toVariantMap() const override;
3041 bool fromVariantMap( const QVariantMap &map ) override;
3042
3046 static QgsProcessingParameterEnum *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3047
3048 private:
3049 QStringList mOptions;
3050 bool mAllowMultiple = false;
3051 bool mUsesStaticStrings = false;
3052};
3053
3081{
3082 public:
3086 QgsProcessingParameterString( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool multiLine = false, bool optional = false );
3087
3091 static QString typeName() { return u"string"_s; }
3092 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3093 QString type() const override { return typeName(); }
3094 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3095 QString asScriptCode() const override;
3097
3102 bool multiLine() const;
3103
3108 void setMultiLine( bool multiLine );
3109
3110 QVariantMap toVariantMap() const override;
3111 bool fromVariantMap( const QVariantMap &map ) override;
3112
3116 static QgsProcessingParameterString *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3117
3118 private:
3119 bool mMultiLine = false;
3120};
3121
3122
3136{
3137 public:
3141 QgsProcessingParameterAuthConfig( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false );
3142
3146 static QString typeName() { return u"authcfg"_s; }
3147 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3148 QString type() const override { return typeName(); }
3149 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3150 QString asScriptCode() const override;
3151
3155 static QgsProcessingParameterAuthConfig *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3156};
3157
3164{
3165 public:
3170 const QString &name,
3171 const QString &description = QString(),
3172 const QVariant &defaultValue = QVariant(),
3173 const QString &parentLayerParameterName = QString(),
3174 bool optional = false,
3176 );
3177
3181 static QString typeName() { return u"expression"_s; }
3182 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3183 QString type() const override { return typeName(); }
3184 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3185 QStringList dependsOnOtherParameters() const override;
3187
3192 QString parentLayerParameterName() const;
3193
3198 void setParentLayerParameterName( const QString &parentLayerParameterName );
3199
3206 Qgis::ExpressionType expressionType() const;
3207
3214 void setExpressionType( Qgis::ExpressionType type );
3215
3216 QVariantMap toVariantMap() const override;
3217 bool fromVariantMap( const QVariantMap &map ) override;
3218
3222 static QgsProcessingParameterExpression *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3223
3224 private:
3225 QString mParentLayerParameterName;
3227};
3228
3229
3236{
3237 public:
3241 QgsProcessingParameterLimitedDataTypes( const QList< int > &types = QList< int >() );
3242
3247 QList< int > dataTypes() const;
3248
3253 void setDataTypes( const QList< int > &types );
3254
3255 protected:
3257 QList< int > mDataTypes;
3258};
3259
3268{
3269 public:
3274 const QString &name, const QString &description = QString(), const QList< int > &types = QList< int >(), const QVariant &defaultValue = QVariant(), bool optional = false
3275 );
3276
3280 static QString typeName() { return u"vector"_s; }
3281 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3282 QString type() const override { return typeName(); }
3283 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3284 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3285 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
3286 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
3288 QString createFileFilter() const override;
3289
3290 QVariantMap toVariantMap() const override;
3291 bool fromVariantMap( const QVariantMap &map ) override;
3292
3296 static QgsProcessingParameterVectorLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3297};
3298
3306{
3307 public:
3311 QgsProcessingParameterMeshLayer( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false );
3312
3316 static QString typeName() { return u"mesh"_s; }
3317 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3318 QString type() const override { return typeName(); }
3319 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3320 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3321 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
3322 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
3323 QString createFileFilter() const override;
3324
3328 static QgsProcessingParameterMeshLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3329};
3330
3337{
3338 public:
3343 const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false, const QList< int > &types = QList< int >()
3344 );
3345
3349 static QString typeName() { return u"layer"_s; }
3350 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3351 QString type() const override { return typeName(); }
3352 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3353 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3354 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
3355 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
3356 QString asScriptCode() const override;
3358 QString createFileFilter() const override;
3359
3360 QVariantMap toVariantMap() const override;
3361 bool fromVariantMap( const QVariantMap &map ) override;
3362
3366 static QgsProcessingParameterMapLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3367};
3368
3375{
3376 public:
3381 const QString &name,
3382 const QString &description = QString(),
3383 const QVariant &defaultValue = QVariant(),
3384 const QString &parentLayerParameterName = QString(),
3386 bool allowMultiple = false,
3387 bool optional = false,
3388 bool defaultToAllFields = false
3389 );
3390
3394 static QString typeName() { return u"field"_s; }
3395 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3396 QString type() const override { return typeName(); }
3397 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3398 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3399 QString asScriptCode() const override;
3401 QStringList dependsOnOtherParameters() const override;
3402
3407 QString parentLayerParameterName() const;
3408
3413 void setParentLayerParameterName( const QString &parentLayerParameterName );
3414
3420
3425 void setDataType( Qgis::ProcessingFieldParameterDataType type );
3426
3431 bool allowMultiple() const;
3432
3437 void setAllowMultiple( bool allowMultiple );
3438
3448 bool defaultToAllFields() const;
3449
3459 void setDefaultToAllFields( bool enabled );
3460
3461 QVariantMap toVariantMap() const override;
3462 bool fromVariantMap( const QVariantMap &map ) override;
3463
3467 static QgsProcessingParameterField *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3468
3469 private:
3470 QString mParentLayerParameterName;
3472 bool mAllowMultiple = false;
3473 bool mDefaultToAllFields = false;
3474};
3475
3476
3483{
3484 public:
3489 const QString &name, const QString &description = QString(), const QList< int > &types = QList< int >(), const QVariant &defaultValue = QVariant(), bool optional = false
3490 );
3491
3495 static QString typeName() { return u"source"_s; }
3496 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3497 QString type() const override { return typeName(); }
3498 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3499 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3500 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
3501 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
3502 QString asScriptCode() const override;
3504 QString createFileFilter() const override;
3505
3506 QVariantMap toVariantMap() const override;
3507 bool fromVariantMap( const QVariantMap &map ) override;
3508
3512 static QgsProcessingParameterFeatureSource *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3513};
3514
3522{
3523 public:
3530 QgsProcessingDestinationParameter( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false, bool createByDefault = true );
3531
3532 bool isDestination() const override { return true; }
3533 QVariantMap toVariantMap() const override;
3534 bool fromVariantMap( const QVariantMap &map ) override;
3536 QString createFileFilter() const override;
3537
3543
3549 bool supportsNonFileBasedOutput() const { return mSupportsNonFileBasedOutputs; }
3550
3557
3562 virtual QString defaultFileExtension() const = 0;
3563
3569 virtual QString generateTemporaryDestination( const QgsProcessingContext *context = nullptr ) const;
3570
3585 virtual bool isSupportedOutputValue( const QVariant &value, QgsProcessingContext &context, QString &error SIP_OUT ) const;
3586
3592 bool createByDefault() const;
3593
3600
3601 protected:
3610 QgsProcessingProvider *originalProvider() const { return mOriginalProvider; }
3611
3612 private:
3620 QgsProcessingProvider *mOriginalProvider = nullptr;
3621
3622 bool mSupportsNonFileBasedOutputs = true;
3623 bool mCreateByDefault = true;
3624
3626 friend class TestQgsProcessing;
3628};
3629
3630
3639{
3640 public:
3648 const QString &name,
3649 const QString &description = QString(),
3651 const QVariant &defaultValue = QVariant(),
3652 bool optional = false,
3653 bool createByDefault = true,
3654 bool supportsAppend = false
3655 );
3656
3660 static QString typeName() { return u"sink"_s; }
3661 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3662 QString type() const override { return typeName(); }
3663 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3664 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3665 QString asScriptCode() const override;
3666 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3667 QString defaultFileExtension() const override;
3668 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
3669 QString createFileFilter() const override;
3670
3676 virtual QStringList supportedOutputVectorLayerExtensions() const;
3677
3682 Qgis::ProcessingSourceType dataType() const;
3683
3688 bool hasGeometry() const;
3689
3694 void setDataType( Qgis::ProcessingSourceType type );
3695
3704 bool supportsAppend() const;
3705
3714 void setSupportsAppend( bool supportsAppend );
3715
3716 QVariantMap toVariantMap() const override;
3717 bool fromVariantMap( const QVariantMap &map ) override;
3718 QString generateTemporaryDestination( const QgsProcessingContext *context = nullptr ) const override;
3719
3723 static QgsProcessingParameterFeatureSink *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3724
3725 private:
3726 Qgis::ProcessingSourceType mDataType = Qgis::ProcessingSourceType::VectorAnyGeometry;
3727 bool mSupportsAppend = false;
3728};
3729
3730
3741{
3742 public:
3750 const QString &name,
3751 const QString &description = QString(),
3753 const QVariant &defaultValue = QVariant(),
3754 bool optional = false,
3755 bool createByDefault = true
3756 );
3757
3761 static QString typeName() { return u"vectorDestination"_s; }
3762 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3763 QString type() const override { return typeName(); }
3764 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3765 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3766 QString asScriptCode() const override;
3767 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3768 QString defaultFileExtension() const override;
3769 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
3770 QString createFileFilter() const override;
3771
3777 virtual QStringList supportedOutputVectorLayerExtensions() const;
3778
3783 Qgis::ProcessingSourceType dataType() const;
3784
3789 bool hasGeometry() const;
3790
3795 void setDataType( Qgis::ProcessingSourceType type );
3796
3797 QVariantMap toVariantMap() const override;
3798 bool fromVariantMap( const QVariantMap &map ) override;
3799
3803 static QgsProcessingParameterVectorDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3804
3805
3806 private:
3807 Qgis::ProcessingSourceType mDataType = Qgis::ProcessingSourceType::VectorAnyGeometry;
3808};
3809
3817{
3818 public:
3825 QgsProcessingParameterRasterDestination( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false, bool createByDefault = true );
3826
3830 static QString typeName() { return u"rasterDestination"_s; }
3831 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3832 QString type() const override { return typeName(); }
3833 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3834 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3835 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3836 QString defaultFileExtension() const override;
3837
3844 QString defaultFileFormat() const;
3845
3846 QString createFileFilter() const override;
3847
3854 Q_DECL_DEPRECATED virtual QStringList supportedOutputRasterLayerExtensions() const SIP_DEPRECATED;
3855
3861 virtual QList<QPair<QString, QString>> supportedOutputRasterLayerFormatAndExtensions() const;
3862
3866 static QgsProcessingParameterRasterDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3867};
3868
3890{
3891 public:
3899 const QString &name, const QString &description = QString(), const QString &fileFilter = QString(), const QVariant &defaultValue = QVariant(), bool optional = false, bool createByDefault = true
3900 );
3901
3905 static QString typeName() { return u"fileDestination"_s; }
3906 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3907 QString type() const override { return typeName(); }
3908 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3909 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3910 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3911 QString defaultFileExtension() const override;
3912 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
3913 QString createFileFilter() const override;
3914
3919 QString fileFilter() const;
3920
3925 void setFileFilter( const QString &filter );
3926
3927 QVariantMap toVariantMap() const override;
3928 bool fromVariantMap( const QVariantMap &map ) override;
3929
3933 static QgsProcessingParameterFileDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3934
3935
3936 private:
3937 QString mFileFilter;
3938};
3939
3947{
3948 public:
3952 QgsProcessingParameterFolderDestination( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false, bool createByDefault = true );
3953
3957 static QString typeName() { return u"folderDestination"_s; }
3958 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3959 QString type() const override { return typeName(); }
3960 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3961 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3962 QString defaultFileExtension() const override;
3963
3967 static QgsProcessingParameterFolderDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3968};
3969
3976{
3977 public:
3982 const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), const QString &parentLayerParameterName = QString(), bool optional = false, bool allowMultiple = false
3983 );
3984
3988 static QString typeName() { return u"band"_s; }
3989 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3990 QString type() const override { return typeName(); }
3991 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3992 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3993 QString asScriptCode() const override;
3994 QStringList dependsOnOtherParameters() const override;
3996
4001 QString parentLayerParameterName() const;
4002
4007 void setParentLayerParameterName( const QString &parentLayerParameterName );
4008
4009 QVariantMap toVariantMap() const override;
4010 bool fromVariantMap( const QVariantMap &map ) override;
4011
4015 static QgsProcessingParameterBand *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4016
4022 bool allowMultiple() const;
4023
4029 void setAllowMultiple( bool allowMultiple );
4030
4031 private:
4032 QString mParentLayerParameterName;
4033 bool mAllowMultiple = false;
4034};
4035
4048{
4049 public:
4053 QgsProcessingParameterLayout( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false );
4054
4058 static QString typeName() { return u"layout"_s; }
4059 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4060 QString type() const override { return typeName(); }
4061 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4062 QString asScriptCode() const override;
4064
4068 static QgsProcessingParameterLayout *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4069};
4070
4083{
4084 public:
4089 const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), const QString &parentLayoutParameterName = QString(), int itemType = -1, bool optional = false
4090 );
4091
4095 static QString typeName() { return u"layoutitem"_s; }
4096 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4097 QString type() const override { return typeName(); }
4098 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4099 QString asScriptCode() const override;
4101 QVariantMap toVariantMap() const override;
4102 bool fromVariantMap( const QVariantMap &map ) override;
4103 QStringList dependsOnOtherParameters() const override;
4104
4108 static QgsProcessingParameterLayoutItem *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4109
4114 QString parentLayoutParameterName() const;
4115
4120 void setParentLayoutParameterName( const QString &name );
4121
4129 int itemType() const;
4130
4138 void setItemType( int type );
4139
4140 private:
4141 QString mParentLayoutParameterName;
4142 int mItemType = -1;
4143};
4144
4155{
4156 public:
4162 QgsProcessingParameterColor( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool opacityEnabled = true, bool optional = false );
4163
4167 static QString typeName() { return u"color"_s; }
4168
4169 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4170 QString type() const override { return typeName(); }
4171 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4172 QString asScriptCode() const override;
4174 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4175 QVariantMap toVariantMap() const override;
4176 bool fromVariantMap( const QVariantMap &map ) override;
4177
4184 bool opacityEnabled() const;
4185
4193 void setOpacityEnabled( bool enabled );
4194
4198 static QgsProcessingParameterColor *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4199
4200 private:
4201 bool mAllowOpacity = true;
4202};
4203
4204
4217{
4218 public:
4223 const QString &name,
4224 const QString &description = QString(),
4225 const QVariant &defaultValue = QVariant(),
4226 const QString &sourceCrsParameterName = QString(),
4227 const QString &destinationCrsParameterName = QString(),
4228 const QVariant &staticSourceCrs = QVariant(),
4229 const QVariant &staticDestinationCrs = QVariant(),
4230 bool optional = false
4231 );
4232
4236 static QString typeName() { return u"coordinateoperation"_s; }
4237 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4238 QString type() const override { return typeName(); }
4239 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4240 QString asScriptCode() const override;
4242 QStringList dependsOnOtherParameters() const override;
4243
4244 QVariantMap toVariantMap() const override;
4245 bool fromVariantMap( const QVariantMap &map ) override;
4246
4250 static QgsProcessingParameterCoordinateOperation *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4251
4257 QString sourceCrsParameterName() const { return mSourceParameterName; }
4258
4264 void setSourceCrsParameterName( const QString &name ) { mSourceParameterName = name; }
4265
4271 QString destinationCrsParameterName() const { return mDestParameterName; }
4272
4278 void setDestinationCrsParameterName( const QString &name ) { mDestParameterName = name; }
4279
4285 QVariant sourceCrs() const { return mSourceCrs; }
4286
4292 void setSourceCrs( const QVariant &crs ) { mSourceCrs = crs; }
4293
4299 QVariant destinationCrs() const { return mDestCrs; }
4300
4306 void setDestinationCrs( const QVariant &crs ) { mDestCrs = crs; }
4307
4308 private:
4309 QString valueAsPythonStringPrivate( const QVariant &value, QgsProcessingContext &context, bool allowNonStringValues ) const;
4310
4311 QString mSourceParameterName;
4312 QString mDestParameterName;
4313 QVariant mSourceCrs;
4314 QVariant mDestCrs;
4315};
4316
4317
4328{
4329 public:
4333 QgsProcessingParameterMapTheme( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false );
4334
4338 static QString typeName() { return u"maptheme"_s; }
4339 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4340 QString type() const override { return typeName(); }
4341 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4342 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4343 QString asScriptCode() const override;
4345 QVariantMap toVariantMap() const override;
4346 bool fromVariantMap( const QVariantMap &map ) override;
4347
4351 static QgsProcessingParameterMapTheme *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4352
4353 private:
4354};
4355
4356
4368{
4369 public:
4374 const QString &name,
4375 const QString &description = QString(),
4377 const QVariant &defaultValue = QVariant(),
4378 bool optional = false,
4379 const QDateTime &minValue = QDateTime(),
4380 const QDateTime &maxValue = QDateTime()
4381 );
4382
4386 static QString typeName() { return u"datetime"_s; }
4387 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4388 QString type() const override { return typeName(); }
4389 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4390 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4391 QString toolTip() const override;
4393
4401 QDateTime minimum() const;
4402
4414 void setMinimum( const QDateTime &minimum );
4415
4423 QDateTime maximum() const;
4424
4436 void setMaximum( const QDateTime &maximum );
4437
4443
4448 void setDataType( Qgis::ProcessingDateTimeParameterDataType type );
4449
4450 QVariantMap toVariantMap() const override;
4451 bool fromVariantMap( const QVariantMap &map ) override;
4452 QString userFriendlyString( const QVariant &value ) const override;
4453
4457 static QgsProcessingParameterDateTime *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4458
4459 private:
4460 QDateTime mMin;
4461 QDateTime mMax;
4463};
4464
4465
4477{
4478 public:
4485 QgsProcessingParameterProviderConnection( const QString &name, const QString &description, const QString &provider, const QVariant &defaultValue = QVariant(), bool optional = false );
4486
4490 static QString typeName() { return u"providerconnection"_s; }
4491 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4492 QString type() const override { return typeName(); }
4493 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4494 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4495 QString asScriptCode() const override;
4497 QVariantMap toVariantMap() const override;
4498 bool fromVariantMap( const QVariantMap &map ) override;
4499
4504 QString providerId() const { return mProviderId; }
4505
4510 void setProviderId( const QString &provider ) { mProviderId = provider; }
4511
4515 static QgsProcessingParameterProviderConnection *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4516
4517 private:
4518 QString mProviderId;
4519};
4520
4521
4533{
4534 public:
4544 const QString &name, const QString &description, const QString &connectionParameterName = QString(), const QVariant &defaultValue = QVariant(), bool optional = false
4545 );
4546
4550 static QString typeName() { return u"databaseschema"_s; }
4551 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4552 QString type() const override { return typeName(); }
4553 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4554 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4555 QString asScriptCode() const override;
4557 QVariantMap toVariantMap() const override;
4558 bool fromVariantMap( const QVariantMap &map ) override;
4559 QStringList dependsOnOtherParameters() const override;
4560
4565 QString parentConnectionParameterName() const;
4566
4571 void setParentConnectionParameterName( const QString &name );
4572
4576 static QgsProcessingParameterDatabaseSchema *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4577
4578 private:
4579 QString mParentConnectionParameterName;
4580};
4581
4582
4596{
4597 public:
4608 const QString &name,
4609 const QString &description,
4610 const QString &connectionParameterName = QString(),
4611 const QString &schemaParameterName = QString(),
4612 const QVariant &defaultValue = QVariant(),
4613 bool optional = false,
4614 bool allowNewTableNames = false
4615 );
4616
4620 static QString typeName() { return u"databasetable"_s; }
4621 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4622 QString type() const override { return typeName(); }
4623 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4624 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4625 QString asScriptCode() const override;
4627 QVariantMap toVariantMap() const override;
4628 bool fromVariantMap( const QVariantMap &map ) override;
4629 QStringList dependsOnOtherParameters() const override;
4630
4635 QString parentConnectionParameterName() const;
4636
4641 void setParentConnectionParameterName( const QString &name );
4642
4647 QString parentSchemaParameterName() const;
4648
4653 void setParentSchemaParameterName( const QString &name );
4654
4658 static QgsProcessingParameterDatabaseTable *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4659
4666 bool allowNewTableNames() const;
4667
4674 void setAllowNewTableNames( bool allowed );
4675
4676 private:
4677 QString mParentConnectionParameterName;
4678 QString mParentSchemaParameterName;
4679 bool mAllowNewTableNames = false;
4680};
4681
4682
4690{
4691 public:
4695 QgsProcessingParameterPointCloudLayer( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false );
4696
4700 static QString typeName() { return u"pointcloud"_s; }
4701 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4702 QString type() const override { return typeName(); }
4703 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4704 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4705 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
4706 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
4707 QString createFileFilter() const override;
4708
4712 static QgsProcessingParameterPointCloudLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4713};
4714
4715
4723{
4724 public:
4728 QgsProcessingParameterAnnotationLayer( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false );
4729
4733 static QString typeName() { return u"annotation"_s; }
4734 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4735 QString type() const override { return typeName(); }
4736 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4737 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4738 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
4739 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
4740
4744 static QgsProcessingParameterAnnotationLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4745};
4746
4755{
4756 public:
4763 QgsProcessingParameterPointCloudDestination( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false, bool createByDefault = true );
4764
4768 static QString typeName() { return u"pointCloudDestination"_s; }
4769 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4770 QString type() const override { return typeName(); }
4771 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4772 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4773 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
4774 QString defaultFileExtension() const override;
4775 QString createFileFilter() const override;
4776
4781 virtual QStringList supportedOutputPointCloudLayerExtensions() const;
4782
4786 static QgsProcessingParameterPointCloudDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4787};
4788
4796{
4797 public:
4802 const QString &name,
4803 const QString &description = QString(),
4804 const QVariant &defaultValue = QVariant(),
4805 const QString &parentLayerParameterName = QString(),
4806 bool allowMultiple = false,
4807 bool optional = false,
4808 bool defaultToAllAttributes = false
4809 );
4810
4814 static QString typeName() { return u"attribute"_s; }
4815 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4816 QString type() const override { return typeName(); }
4817 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4818 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4819 QString asScriptCode() const override;
4821 QStringList dependsOnOtherParameters() const override;
4822
4827 QString parentLayerParameterName() const;
4828
4833 void setParentLayerParameterName( const QString &parentLayerParameterName );
4834
4839 bool allowMultiple() const;
4840
4845 void setAllowMultiple( bool allowMultiple );
4846
4855 bool defaultToAllAttributes() const;
4856
4865 void setDefaultToAllAttributes( bool enabled );
4866
4867 QVariantMap toVariantMap() const override;
4868 bool fromVariantMap( const QVariantMap &map ) override;
4869
4873 static QgsProcessingParameterPointCloudAttribute *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4874
4875 private:
4876 QString mParentLayerParameterName;
4877 bool mAllowMultiple = false;
4878 bool mDefaultToAllAttributes = false;
4879};
4880
4889{
4890 public:
4897 QgsProcessingParameterVectorTileDestination( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false, bool createByDefault = true );
4898
4902 static QString typeName() { return u"vectorTileDestination"_s; }
4903 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4904 QString type() const override { return typeName(); }
4905 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4906 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4907 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
4908 QString defaultFileExtension() const override;
4909 QString createFileFilter() const override;
4910
4915 virtual QStringList supportedOutputVectorTileLayerExtensions() const;
4916
4920 static QgsProcessingParameterVectorTileDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4921};
4922
4923// clazy:excludeall=qstring-allocations
4924
4925#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:3645
@ VectorAnyGeometry
Any vector layer with geometry.
Definition qgis.h:3647
ProcessingFileParameterBehavior
Flags which dictate the behavior of QgsProcessingParameterFile.
Definition qgis.h:3905
@ File
Parameter is a single file.
Definition qgis.h:3906
ExpressionType
Expression types.
Definition qgis.h:5898
@ Qgis
Native QGIS expression.
Definition qgis.h:5899
DistanceUnit
Units of distance.
Definition qgis.h:5170
@ Unknown
Unknown distance unit.
Definition qgis.h:5220
QFlags< RasterProcessingParameterCapability > RasterProcessingParameterCapabilities
Raster layer processing parameter capabilities.
Definition qgis.h:6491
ProcessingFieldParameterDataType
Processing field parameter data types.
Definition qgis.h:3933
AreaUnit
Units of area.
Definition qgis.h:5247
@ Unknown
Unknown areal unit.
Definition qgis.h:5260
TemporalUnit
Temporal units.
Definition qgis.h:5316
@ Milliseconds
Milliseconds.
Definition qgis.h:5317
QFlags< ProcessingParameterFlag > ProcessingParameterFlags
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3894
VolumeUnit
Units of volume.
Definition qgis.h:5272
@ Unknown
Unknown volume unit.
Definition qgis.h:5283
InvalidGeometryCheck
Methods for handling of features with invalid geometries.
Definition qgis.h:2319
@ AbortOnInvalid
Close iterator on encountering any features with invalid geometry. This requires a slow geometry vali...
Definition qgis.h:2322
QFlags< ProcessingFeatureSourceDefinitionFlag > ProcessingFeatureSourceDefinitionFlags
Flags which control behavior for a Processing feature source.
Definition qgis.h:3816
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:3951
ProcessingNumberParameterType
Processing numeric parameter data types.
Definition qgis.h:3919
Represents a map layer containing a set of georeferenced annotations, e.g.
Represents a coordinate reference system (CRS).
An interface for objects which accept features via addFeature(s) methods.
QFlags< SinkFlag > SinkFlags
Container of fields for a vector layer.
Definition qgsfields.h:46
Abstract interface for classes which generate a file filter string.
A geometry is the spatial representation of a feature.
Base class for graphical items within a QgsLayout.
Base class for all map layer types.
Definition qgsmaplayer.h: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.
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:113
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:198
#define SIP_DEPRECATED
Definition qgis_sip.h:113
#define SIP_SKIP
Definition qgis_sip.h:133
#define SIP_OUT
Definition qgis_sip.h:57
#define SIP_FACTORY
Definition qgis_sip.h:83
#define SIP_THROW(name,...)
Definition qgis_sip.h:210
#define SIP_END
Definition qgis_sip.h:215
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)