QGIS API Documentation 3.99.0-Master (752b475928d)
Loading...
Searching...
No Matches
qgsprocessingparameters.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsprocessingparameters.h
3 -------------------------
4 begin : April 2017
5 copyright : (C) 2017 by Nyall Dawson
6 email : nyall dot dawson at gmail dot com
7***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18#ifndef QGSPROCESSINGPARAMETERS_H
19#define QGSPROCESSINGPARAMETERS_H
20
21#include <limits>
22
23#include "qgis.h"
24#include "qgis_core.h"
27#include "qgsprocessing.h"
28#include "qgsprocessingutils.h"
29#include "qgsproperty.h"
31
32#include <QColor>
33#include <QMap>
34
37class QgsRasterLayer;
38class QgsMeshLayer;
39class QgsVectorLayer;
40class QgsFeatureSink;
45class QgsPrintLayout;
46class QgsLayoutItem;
49
57
59{
60 public:
61
87
113
118
123
130 long long featureLimit = -1;
131
138
145
154
161 QVariant toVariant() const;
162
169 bool loadVariant( const QVariantMap &map );
170
171 // TODO c++20 - replace with = default
173 {
174 return source == other.source
176 && featureLimit == other.featureLimit
178 && flags == other.flags
179 && geometryCheck == other.geometryCheck;
180 }
181
183 {
184 return !( *this == other );
185 }
186
188 operator QVariant() const
189 {
190 return QVariant::fromValue( *this );
191 }
192
193};
194
196
197
204
206{
207 public:
208
218 QgsProcessingRasterLayerDefinition( const QString &source = QString(), const double referenceScale = 0, const int dpi = 96 )
219 : source( QgsProperty::fromValue( source ) )
221 , dpi( dpi )
222 {}
223
233 QgsProcessingRasterLayerDefinition( const QgsProperty &source, const double referenceScale = 0, const int dpi = 96 )
234 : source( source )
236 , dpi( dpi )
237 {}
238
243
247 double referenceScale = 0;
248
252 int dpi = 96;
253
259 QVariant toVariant() const;
260
266 bool loadVariant( const QVariantMap &map );
267
268 // TODO c++20 - replace with = default
270 {
271 return source == other.source
273 && dpi == other.dpi;
274 }
275
277 {
278 return !( *this == other );
279 }
280
282 operator QVariant() const
283 {
284 return QVariant::fromValue( *this );
285 }
286
287};
288
290
291
298
300{
301 public:
302
309 : sink( QgsProperty::fromValue( sink ) )
311 {}
312
322
327
334
339
346 QVariantMap createOptions;
347
354 bool useRemapping() const { return mUseRemapping; }
355
363 QgsRemappingSinkDefinition remappingDefinition() const { return mRemappingDefinition; }
364
375 void setRemappingDefinition( const QgsRemappingSinkDefinition &definition );
376
383 QString format() const { return mFormat; }
384
392 void setFormat( const QString &format ) { mFormat = format; }
393
400 QVariant toVariant() const;
401
408 bool loadVariant( const QVariantMap &map );
409
411 operator QVariant() const
412 {
413 return QVariant::fromValue( *this );
414 }
415
416 // TODO c++20 - replace with = default
417 bool operator==( const QgsProcessingOutputLayerDefinition &other ) const;
418 bool operator!=( const QgsProcessingOutputLayerDefinition &other ) const;
419
420 private:
421
422 bool mUseRemapping = false;
424 QString mFormat;
425
426};
427
429
430
431
432
433//
434// Parameter definitions
435//
436
437
447
449{
450
451#ifdef SIP_RUN
452 % TypeHeaderCode
459 % End
461 if ( sipCpp->type() == QgsProcessingParameterBoolean::typeName() )
462 sipType = sipType_QgsProcessingParameterBoolean;
463 else if ( sipCpp->type() == QgsProcessingParameterCrs::typeName() )
464 sipType = sipType_QgsProcessingParameterCrs;
465 else if ( sipCpp->type() == QgsProcessingParameterMapLayer::typeName() )
466 sipType = sipType_QgsProcessingParameterMapLayer;
467 else if ( sipCpp->type() == QgsProcessingParameterExtent::typeName() )
468 sipType = sipType_QgsProcessingParameterExtent;
469 else if ( sipCpp->type() == QgsProcessingParameterPoint::typeName() )
470 sipType = sipType_QgsProcessingParameterPoint;
471 else if ( sipCpp->type() == QgsProcessingParameterGeometry::typeName() )
472 sipType = sipType_QgsProcessingParameterGeometry;
473 else if ( sipCpp->type() == QgsProcessingParameterFile::typeName() )
474 sipType = sipType_QgsProcessingParameterFile;
475 else if ( sipCpp->type() == QgsProcessingParameterMatrix::typeName() )
476 sipType = sipType_QgsProcessingParameterMatrix;
477 else if ( sipCpp->type() == QgsProcessingParameterMultipleLayers::typeName() )
478 sipType = sipType_QgsProcessingParameterMultipleLayers;
479 else if ( sipCpp->type() == QgsProcessingParameterNumber::typeName() )
480 sipType = sipType_QgsProcessingParameterNumber;
481 else if ( sipCpp->type() == QgsProcessingParameterDistance::typeName() )
482 sipType = sipType_QgsProcessingParameterDistance;
483 else if ( sipCpp->type() == QgsProcessingParameterArea::typeName() )
484 sipType = sipType_QgsProcessingParameterArea;
485 else if ( sipCpp->type() == QgsProcessingParameterVolume::typeName() )
486 sipType = sipType_QgsProcessingParameterVolume;
487 else if ( sipCpp->type() == QgsProcessingParameterDuration::typeName() )
488 sipType = sipType_QgsProcessingParameterDuration;
489 else if ( sipCpp->type() == QgsProcessingParameterScale::typeName() )
490 sipType = sipType_QgsProcessingParameterScale;
491 else if ( sipCpp->type() == QgsProcessingParameterRange::typeName() )
492 sipType = sipType_QgsProcessingParameterRange;
493 else if ( sipCpp->type() == QgsProcessingParameterRasterLayer::typeName() )
494 sipType = sipType_QgsProcessingParameterRasterLayer;
495 else if ( sipCpp->type() == QgsProcessingParameterMeshLayer::typeName() )
496 sipType = sipType_QgsProcessingParameterMeshLayer;
497 else if ( sipCpp->type() == QgsProcessingParameterEnum::typeName() )
498 sipType = sipType_QgsProcessingParameterEnum;
499 else if ( sipCpp->type() == QgsProcessingParameterString::typeName() )
500 sipType = sipType_QgsProcessingParameterString;
501 else if ( sipCpp->type() == QgsProcessingParameterExpression::typeName() )
502 sipType = sipType_QgsProcessingParameterExpression;
503 else if ( sipCpp->type() == QgsProcessingParameterAuthConfig::typeName() )
504 sipType = sipType_QgsProcessingParameterAuthConfig;
505 else if ( sipCpp->type() == QgsProcessingParameterVectorLayer::typeName() )
506 sipType = sipType_QgsProcessingParameterVectorLayer;
507 else if ( sipCpp->type() == QgsProcessingParameterField::typeName() )
508 sipType = sipType_QgsProcessingParameterField;
509 else if ( sipCpp->type() == QgsProcessingParameterFeatureSource::typeName() )
510 sipType = sipType_QgsProcessingParameterFeatureSource;
511 else if ( sipCpp->type() == QgsProcessingParameterFeatureSink::typeName() )
512 sipType = sipType_QgsProcessingParameterFeatureSink;
513 else if ( sipCpp->type() == QgsProcessingParameterVectorDestination::typeName() )
514 sipType = sipType_QgsProcessingParameterVectorDestination;
515 else if ( sipCpp->type() == QgsProcessingParameterRasterDestination::typeName() )
516 sipType = sipType_QgsProcessingParameterRasterDestination;
517 else if ( sipCpp->type() == QgsProcessingParameterPointCloudDestination::typeName() )
518 sipType = sipType_QgsProcessingParameterPointCloudDestination;
519 else if ( sipCpp->type() == QgsProcessingParameterFileDestination::typeName() )
520 sipType = sipType_QgsProcessingParameterFileDestination;
521 else if ( sipCpp->type() == QgsProcessingParameterFolderDestination::typeName() )
522 sipType = sipType_QgsProcessingParameterFolderDestination;
523 else if ( sipCpp->type() == QgsProcessingParameterBand::typeName() )
524 sipType = sipType_QgsProcessingParameterBand;
525 else if ( sipCpp->type() == QgsProcessingParameterLayout::typeName() )
526 sipType = sipType_QgsProcessingParameterLayout;
527 else if ( sipCpp->type() == QgsProcessingParameterLayoutItem::typeName() )
528 sipType = sipType_QgsProcessingParameterLayoutItem;
529 else if ( sipCpp->type() == QgsProcessingParameterColor::typeName() )
530 sipType = sipType_QgsProcessingParameterColor;
531 else if ( sipCpp->type() == QgsProcessingParameterCoordinateOperation::typeName() )
532 sipType = sipType_QgsProcessingParameterCoordinateOperation;
533 else if ( sipCpp->type() == QgsProcessingParameterMapTheme::typeName() )
534 sipType = sipType_QgsProcessingParameterMapTheme;
535 else if ( sipCpp->type() == QgsProcessingParameterDateTime::typeName() )
536 sipType = sipType_QgsProcessingParameterDateTime;
537 else if ( sipCpp->type() == QgsProcessingParameterProviderConnection::typeName() )
538 sipType = sipType_QgsProcessingParameterProviderConnection;
539 else if ( sipCpp->type() == QgsProcessingParameterDatabaseSchema::typeName() )
540 sipType = sipType_QgsProcessingParameterDatabaseSchema;
541 else if ( sipCpp->type() == QgsProcessingParameterDatabaseTable::typeName() )
542 sipType = sipType_QgsProcessingParameterDatabaseTable;
543 else if ( sipCpp->type() == QgsProcessingParameterFieldMapping::typeName() )
544 sipType = sipType_QgsProcessingParameterFieldMapping;
545 else if ( sipCpp->type() == QgsProcessingParameterTinInputLayers::typeName() )
546 sipType = sipType_QgsProcessingParameterTinInputLayers;
547 else if ( sipCpp->type() == QgsProcessingParameterVectorTileWriterLayers::typeName() )
548 sipType = sipType_QgsProcessingParameterVectorTileWriterLayers;
549 else if ( sipCpp->type() == QgsProcessingParameterDxfLayers::typeName() )
550 sipType = sipType_QgsProcessingParameterDxfLayers;
551 else if ( sipCpp->type() == QgsProcessingParameterMeshDatasetGroups::typeName() )
552 sipType = sipType_QgsProcessingParameterMeshDatasetGroups;
553 else if ( sipCpp->type() == QgsProcessingParameterMeshDatasetTime::typeName() )
554 sipType = sipType_QgsProcessingParameterMeshDatasetTime;
555 else if ( sipCpp->type() == QgsProcessingParameterPointCloudLayer::typeName() )
556 sipType = sipType_QgsProcessingParameterPointCloudLayer;
557 else if ( sipCpp->type() == QgsProcessingParameterAnnotationLayer::typeName() )
558 sipType = sipType_QgsProcessingParameterAnnotationLayer;
559 else if ( sipCpp->type() == QgsProcessingParameterPointCloudAttribute::typeName() )
560 sipType = sipType_QgsProcessingParameterPointCloudAttribute;
561 else if ( sipCpp->type() == QgsProcessingParameterVectorTileDestination::typeName() )
562 sipType = sipType_QgsProcessingParameterVectorTileDestination;
563 else
564 sipType = nullptr;
565 SIP_END
566#endif
567
568 public:
569
573 QgsProcessingParameterDefinition( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
574 bool optional = false, const QString &help = QString() );
575
577
585 virtual QColor modelColor() const;
586
593 virtual QString userFriendlyString( const QVariant &value ) const;
594
599
603 virtual QString type() const = 0;
604
610 virtual bool isDestination() const { return false; }
611
617 QString name() const { return mName; }
618
624 void setName( const QString &name ) { mName = name; }
625
631 QString description() const { return mDescription; }
632
639
649 QString help() const { return mHelp; }
650
660 void setHelp( const QString &help ) { mHelp = help; }
661
668 QVariant defaultValue() const { return mDefault; }
669
676 void setDefaultValue( const QVariant &value ) { mDefault = value; }
677
690 QVariant guiDefaultValueOverride() const;
691
707 void setGuiDefaultValueOverride( const QVariant &value ) { mGuiDefault = value; }
708
717 QVariant defaultValueForGui() const;
718
724
730
738 virtual bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const;
739
747 virtual QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const;
748
760 virtual QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const;
761
775 virtual QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const;
776
790 virtual QStringList valueAsStringList( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const;
791
797 virtual QString valueAsPythonComment( const QVariant &value, QgsProcessingContext &context ) const;
798
803 virtual QString asScriptCode() const;
804
815
821 virtual QVariantMap toVariantMap() const;
822
828 virtual bool fromVariantMap( const QVariantMap &map );
829
836 SIP_SKIP QVariantMap metadata() const { return mMetadata; }
837
843 QVariantMap &metadata() { return mMetadata; }
844
850 void setMetadata( const QVariantMap &metadata ) { mMetadata = metadata; }
851
856 virtual QStringList dependsOnOtherParameters() const { return QStringList(); }
857
864
870 QgsProcessingProvider *provider() const;
871
876 virtual QString toolTip() const;
877
885 bool isDynamic() const { return mIsDynamic; }
886
894 void setIsDynamic( bool dynamic ) { mIsDynamic = dynamic; }
895
903
911
924
937
952
970 void setAdditionalExpressionContextVariables( const QStringList &variables ) { mAdditionalExpressionVariables = variables; }
971
972#ifndef SIP_RUN
973
981 enum class ValueAsStringFlag : int
982 {
983 AllowMapLayerValues = 1 << 0,
984 };
986#endif
987
988 protected:
989
990#ifndef SIP_RUN
991
998 QString valueAsStringPrivate( const QVariant &value, QgsProcessingContext &context, bool &ok, ValueAsStringFlags flags ) const;
999
1006 QVariant valueAsJsonObjectPrivate( const QVariant &value, QgsProcessingContext &context, ValueAsStringFlags flags ) const;
1007#endif
1008
1015 QVariant defaultGuiValueFromSetting() const;
1016
1018 QString mName;
1019
1022
1024 QString mHelp;
1025
1027 QVariant mDefault;
1028
1030 QVariant mGuiDefault;
1031
1034
1036 QVariantMap mMetadata;
1037
1040
1042 bool mIsDynamic = false;
1043
1046
1049
1052
1053 // To allow access to mAlgorithm. We don't want a public setter for this!
1055
1056};
1057
1058#ifndef SIP_RUN
1060#endif
1061
1063typedef QList< const QgsProcessingParameterDefinition * > QgsProcessingParameterDefinitions;
1064
1081
1083{
1084
1085 public:
1086
1091 static bool isDynamic( const QVariantMap &parameters, const QString &name );
1092
1096 static QString parameterAsString( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1097
1102 static QString parameterAsString( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1103
1107 static QString parameterAsExpression( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1108
1113 static QString parameterAsExpression( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1114
1118 static double parameterAsDouble( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1119
1124 static double parameterAsDouble( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1125
1129 static int parameterAsInt( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1130
1135 static int parameterAsInt( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1136
1141 static QList<int> parameterAsInts( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1142
1147 static QList<int> parameterAsInts( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1148
1157 static QDateTime parameterAsDateTime( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1158
1167 static QDateTime parameterAsDateTime( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1168
1177 static QDate parameterAsDate( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1178
1187 static QDate parameterAsDate( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1188
1197 static QTime parameterAsTime( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1198
1207 static QTime parameterAsTime( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1208
1212 static int parameterAsEnum( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1213
1218 static int parameterAsEnum( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1219
1223 static QList<int> parameterAsEnums( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1224
1229 static QList<int> parameterAsEnums( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1230
1235 static QString parameterAsEnumString( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1236
1241 static QString parameterAsEnumString( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1242
1247 static QStringList parameterAsEnumStrings( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1248
1253 static QStringList parameterAsEnumStrings( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1254
1258 static bool parameterAsBool( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1259
1265 static bool parameterAsBoolean( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1266
1271 static bool parameterAsBool( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1272
1277 static bool parameterAsBoolean( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1278
1296 static QgsFeatureSink *parameterAsSink( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters,
1297 const QgsFields &fields, Qgis::WkbType geometryType, const QgsCoordinateReferenceSystem &crs,
1298 QgsProcessingContext &context, QString &destinationIdentifier SIP_OUT, QgsFeatureSink::SinkFlags sinkFlags = QgsFeatureSink::SinkFlags(), const QVariantMap &createOptions = QVariantMap(), const QStringList &datasourceOptions = QStringList(), const QStringList &layerOptions = QStringList() ) SIP_FACTORY;
1299
1319 static QgsFeatureSink *parameterAsSink( const QgsProcessingParameterDefinition *definition, const QVariant &value,
1320 const QgsFields &fields, Qgis::WkbType geometryType, const QgsCoordinateReferenceSystem &crs,
1321 QgsProcessingContext &context, QString &destinationIdentifier SIP_OUT, QgsFeatureSink::SinkFlags sinkFlags = QgsFeatureSink::SinkFlags(), const QVariantMap &createOptions = QVariantMap(), const QStringList &datasourceOptions = QStringList(), const QStringList &layerOptions = QStringList() ) SIP_THROW( QgsProcessingException ) SIP_FACTORY;
1322
1331 static QgsProcessingFeatureSource *parameterAsSource( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context ) SIP_FACTORY;
1332
1343 static QgsProcessingFeatureSource *parameterAsSource( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context ) SIP_FACTORY;
1344
1360 static QString parameterAsCompatibleSourceLayerPath( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters,
1361 QgsProcessingContext &context, const QStringList &compatibleFormats, const QString &preferredFormat = QString( "shp" ), QgsProcessingFeedback *feedback = nullptr );
1362
1392 static QString parameterAsCompatibleSourceLayerPathAndLayerName( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters,
1393 QgsProcessingContext &context, const QStringList &compatibleFormats, const QString &preferredFormat = QString( "shp" ), QgsProcessingFeedback *feedback = nullptr, QString *layerName SIP_OUT = nullptr );
1394
1403
1414
1422 static QgsRasterLayer *parameterAsRasterLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1423
1433 static QgsRasterLayer *parameterAsRasterLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1434
1438 static QString parameterAsOutputLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1439
1448 static QString parameterAsOutputLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, bool testOnly = false );
1449
1457 static QString parameterAsOutputFormat( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1458
1462 static QString parameterAsFileOutput( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1463
1468 static QString parameterAsFileOutput( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1469
1477 static QgsVectorLayer *parameterAsVectorLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1478
1488 static QgsVectorLayer *parameterAsVectorLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1489
1499 static QgsMeshLayer *parameterAsMeshLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1500
1510 static QgsMeshLayer *parameterAsMeshLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1511
1515 static QgsCoordinateReferenceSystem parameterAsCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1516
1521 static QgsCoordinateReferenceSystem parameterAsCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1522
1532 static QgsRectangle parameterAsExtent( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context,
1534
1546 static QgsRectangle parameterAsExtent( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context,
1548
1560 static QgsGeometry parameterAsExtentGeometry( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context,
1562
1568 static QgsCoordinateReferenceSystem parameterAsExtentCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1569
1575 static QgsCoordinateReferenceSystem parameterAsExtentCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1576
1577
1585 static QgsPointXY parameterAsPoint( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context,
1587
1596 static QgsPointXY parameterAsPoint( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context,
1598
1604 static QgsCoordinateReferenceSystem parameterAsPointCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1605
1612 static QgsCoordinateReferenceSystem parameterAsPointCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1613
1619 static QgsGeometry parameterAsGeometry( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem() );
1620
1627
1634 static QgsCoordinateReferenceSystem parameterAsGeometryCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1635
1642 static QgsCoordinateReferenceSystem parameterAsGeometryCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1643
1647 static QString parameterAsFile( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1648
1653 static QString parameterAsFile( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1654
1659 static QVariantList parameterAsMatrix( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1660
1666 static QVariantList parameterAsMatrix( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1667
1672 static QList< QgsMapLayer *> parameterAsLayerList( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsProcessing::LayerOptionsFlags flags = QgsProcessing::LayerOptionsFlags() );
1673
1679 static QList< QgsMapLayer *> parameterAsLayerList( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, QgsProcessing::LayerOptionsFlags flags = QgsProcessing::LayerOptionsFlags() );
1680
1686 static QStringList parameterAsFileList( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1687
1693 static QStringList parameterAsFileList( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1694
1698 static QList<double> parameterAsRange( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1699
1704 static QList<double> parameterAsRange( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1705
1711 Q_DECL_DEPRECATED static QStringList parameterAsFields( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context ) SIP_DEPRECATED;
1712
1719 Q_DECL_DEPRECATED static QStringList parameterAsFields( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context ) SIP_DEPRECATED;
1720
1726 static QStringList parameterAsStrings( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1727
1733 static QStringList parameterAsStrings( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1734
1743 static QgsPrintLayout *parameterAsLayout( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1744
1753 static QgsPrintLayout *parameterAsLayout( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1754
1763 static QgsLayoutItem *parameterAsLayoutItem( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsPrintLayout *layout );
1764
1773 static QgsLayoutItem *parameterAsLayoutItem( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, QgsPrintLayout *layout );
1774
1780 static QColor parameterAsColor( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1781
1787 static QColor parameterAsColor( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1788
1794 static QString parameterAsConnectionName( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1795
1801 static QString parameterAsConnectionName( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1802
1808 static QString parameterAsSchema( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1809
1815 static QString parameterAsSchema( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1816
1822 static QString parameterAsDatabaseTableName( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1823
1829 static QString parameterAsDatabaseTableName( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1830
1842
1854
1868 static QgsAnnotationLayer *parameterAsAnnotationLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1869
1883 static QgsAnnotationLayer *parameterAsAnnotationLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1884
1891
1895 static QString descriptionFromName( const QString &name );
1896
1903
1904 private:
1905
1906 static bool parseScriptCodeParameterOptions( const QString &code, bool &isOptional, QString &name, QString &type, QString &definition );
1907};
1908
1909
1910
1917{
1918 public:
1919
1923 QgsProcessingParameterBoolean( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1924 bool optional = false );
1925
1929 static QString typeName() { return QStringLiteral( "boolean" ); }
1930 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1931 QString type() const override { return typeName(); }
1932 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1933 QString asScriptCode() const override;
1934
1938 static QgsProcessingParameterBoolean *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1939};
1940
1947{
1948 public:
1949
1953 QgsProcessingParameterCrs( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1954 bool optional = false );
1955
1956 QString userFriendlyString( const QVariant &value ) const override;
1957
1961 static QString typeName() { return QStringLiteral( "crs" ); }
1962 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1963 QString type() const override { return typeName(); }
1964 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1965 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1966 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
1967 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
1968
1972 static QgsProcessingParameterCrs *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1973
1974};
1975
1982{
1983 public:
1984
1988 QgsProcessingParameterExtent( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1989 bool optional = false );
1990
1994 static QString typeName() { return QStringLiteral( "extent" ); }
1995 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1996 QString type() const override { return typeName(); }
1997 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1998 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1999 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2000 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2001
2005 static QgsProcessingParameterExtent *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2006
2007 private:
2008
2014 static bool variantIsValidStringForExtent( const QVariant &value );
2015
2016};
2017
2018
2025{
2026 public:
2027
2031 QgsProcessingParameterPoint( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2032 bool optional = false );
2033
2037 static QString typeName() { return QStringLiteral( "point" ); }
2038 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2039 QString type() const override { return typeName(); }
2040 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2041 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2042
2046 static QgsProcessingParameterPoint *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2047
2048};
2049
2057{
2058 public:
2059
2067 QgsProcessingParameterGeometry( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false, const QList< int > &geometryTypes = QList< int >(), bool allowMultipart = true );
2068
2072 static QString typeName() { return QStringLiteral( "geometry" ); }
2073 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2074 QString type() const override { return typeName(); }
2075 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2076 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2077 QString asScriptCode() const override;
2079 QVariantMap toVariantMap() const override;
2080 bool fromVariantMap( const QVariantMap &map ) override;
2081
2086 QList<int> geometryTypes() const { return mGeomTypes; }
2087
2092 void setGeometryTypes( const QList<int> &geometryTypes ) { mGeomTypes = geometryTypes; }
2093
2098 bool allowMultipart() const { return mAllowMultipart; }
2099
2104 void setAllowMultipart( bool allowMultipart ) { mAllowMultipart = allowMultipart; }
2105
2106 QString userFriendlyString( const QVariant &value ) const override;
2107
2111 static QgsProcessingParameterGeometry *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2112
2113 private:
2114
2115 QList<int> mGeomTypes;
2116 bool mAllowMultipart;
2117
2118};
2119
2126{
2127 public:
2128
2136 QgsProcessingParameterFile( const QString &name, const QString &description = QString(), Qgis::ProcessingFileParameterBehavior behavior = Qgis::ProcessingFileParameterBehavior::File, const QString &extension = QString(), const QVariant &defaultValue = QVariant(),
2137 bool optional = false, const QString &fileFilter = QString() );
2138
2142 static QString typeName() { return QStringLiteral( "file" ); }
2143 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2144 QString type() const override { return typeName(); }
2145 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2146 QString asScriptCode() const override;
2148 QString createFileFilter() const override;
2149
2155
2161
2169 QString extension() const { return mExtension; }
2170
2180 void setExtension( const QString &extension );
2181
2188 QString fileFilter() const;
2189
2199 void setFileFilter( const QString &filter );
2200
2201 QVariantMap toVariantMap() const override;
2202 bool fromVariantMap( const QVariantMap &map ) override;
2203
2207 static QgsProcessingParameterFile *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition, Qgis::ProcessingFileParameterBehavior behavior = Qgis::ProcessingFileParameterBehavior::File ) SIP_FACTORY;
2208
2209 private:
2210
2212 QString mExtension;
2213 QString mFileFilter;
2214};
2215
2222{
2223 public:
2224
2228 QgsProcessingParameterMatrix( const QString &name, const QString &description = QString(), int numberRows = 3,
2229 bool hasFixedNumberRows = false, const QStringList &headers = QStringList(),
2230 const QVariant &defaultValue = QVariant(),
2231 bool optional = false );
2232
2236 static QString typeName() { return QStringLiteral( "matrix" ); }
2237
2238 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2239 QString type() const override { return typeName(); }
2240 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2241 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2243
2248 QStringList headers() const;
2249
2254 void setHeaders( const QStringList &headers );
2255
2262 int numberRows() const;
2263
2270 void setNumberRows( int rows );
2271
2277 bool hasFixedNumberRows() const;
2278
2284 void setHasFixedNumberRows( bool hasFixedNumberRows );
2285
2286 QVariantMap toVariantMap() const override;
2287 bool fromVariantMap( const QVariantMap &map ) override;
2288
2292 static QgsProcessingParameterMatrix *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2293
2294 private:
2295
2296 QStringList mHeaders;
2297 int mNumberRows = 3;
2298 bool mFixedNumberRows = false;
2299
2300};
2301
2308{
2309 public:
2310
2315 const QVariant &defaultValue = QVariant(),
2316 bool optional = false );
2317
2321 static QString typeName() { return QStringLiteral( "multilayer" ); }
2322 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2323 QString type() const override { return typeName(); }
2324 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2325 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2326 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2327 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2328 QString asScriptCode() const override;
2330 QString createFileFilter() const override;
2331
2336 Qgis::ProcessingSourceType layerType() const;
2337
2342 void setLayerType( Qgis::ProcessingSourceType type );
2343
2349 int minimumNumberInputs() const;
2350
2356 void setMinimumNumberInputs( int minimum );
2357
2358 QVariantMap toVariantMap() const override;
2359 bool fromVariantMap( const QVariantMap &map ) override;
2360
2364 static QgsProcessingParameterMultipleLayers *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2365
2366 private:
2367
2369 int mMinimumNumberInputs = 0;
2370
2371};
2372
2391{
2392 public:
2393
2397 explicit QgsProcessingParameterNumber( const QString &name, const QString &description = QString(),
2399 const QVariant &defaultValue = QVariant(),
2400 bool optional = false,
2401 double minValue = std::numeric_limits<double>::lowest() + 1,
2402 double maxValue = std::numeric_limits<double>::max()
2403 );
2404
2408 static QString typeName() { return QStringLiteral( "number" ); }
2409
2410 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2411 QString type() const override { return typeName(); }
2412 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2413 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2414 QString toolTip() const override;
2416
2421 double minimum() const;
2422
2427 void setMinimum( double minimum );
2428
2433 double maximum() const;
2434
2439 void setMaximum( double maximum );
2440
2445 Qgis::ProcessingNumberParameterType dataType() const;
2446
2451 void setDataType( Qgis::ProcessingNumberParameterType type );
2452
2453 QVariantMap toVariantMap() const override;
2454 bool fromVariantMap( const QVariantMap &map ) override;
2455
2459 static QgsProcessingParameterNumber *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2460
2461 private:
2462
2463 double mMin = std::numeric_limits<double>::lowest() + 1;
2464 double mMax = std::numeric_limits<double>::max();
2466};
2467
2490{
2491 public:
2492
2496 explicit QgsProcessingParameterDistance( const QString &name, const QString &description = QString(),
2497 const QVariant &defaultValue = QVariant(),
2498 const QString &parentParameterName = QString(),
2499 bool optional = false,
2500 double minValue = std::numeric_limits<double>::lowest() + 1,
2501 double maxValue = std::numeric_limits<double>::max() );
2502
2506 static QString typeName() { return QStringLiteral( "distance" ); } // cppcheck-suppress duplInheritedMember
2507
2508 QString userFriendlyString( const QVariant &value ) const override;
2509
2510 QgsProcessingParameterDistance *clone() const override SIP_FACTORY;
2511
2512 QString type() const override;
2513 QStringList dependsOnOtherParameters() const override;
2514 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2515
2520 QString parentParameterName() const;
2521
2526 void setParentParameterName( const QString &parentParameterName );
2527
2534 Qgis::DistanceUnit defaultUnit() const { return mDefaultUnit; }
2535
2542 void setDefaultUnit( Qgis::DistanceUnit unit ) { mDefaultUnit = unit; }
2543
2544 QVariantMap toVariantMap() const override;
2545 bool fromVariantMap( const QVariantMap &map ) override;
2546
2547 private:
2548
2549 QString mParentParameterName;
2551
2552};
2553
2554
2577{
2578 public:
2579
2583 explicit QgsProcessingParameterArea( const QString &name, const QString &description = QString(),
2584 const QVariant &defaultValue = QVariant(),
2585 const QString &parentParameterName = QString(),
2586 bool optional = false,
2587 double minValue = 0,
2588 double maxValue = std::numeric_limits<double>::max() );
2589
2593 static QString typeName() { return QStringLiteral( "area" ); } // cppcheck-suppress duplInheritedMember
2594
2595 QgsProcessingParameterArea *clone() const override SIP_FACTORY;
2596
2597 QString type() const override;
2598 QStringList dependsOnOtherParameters() const override;
2599 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2600
2605 QString parentParameterName() const;
2606
2611 void setParentParameterName( const QString &parentParameterName );
2612
2618 Qgis::AreaUnit defaultUnit() const { return mDefaultUnit; }
2619
2625 void setDefaultUnit( Qgis::AreaUnit unit ) { mDefaultUnit = unit; }
2626
2627 QVariantMap toVariantMap() const override;
2628 bool fromVariantMap( const QVariantMap &map ) override;
2629 QString userFriendlyString( const QVariant &value ) const override;
2630
2631 private:
2632
2633 QString mParentParameterName;
2635
2636};
2637
2638
2661{
2662 public:
2663
2667 explicit QgsProcessingParameterVolume( const QString &name, const QString &description = QString(),
2668 const QVariant &defaultValue = QVariant(),
2669 const QString &parentParameterName = QString(),
2670 bool optional = false,
2671 double minValue = 0,
2672 double maxValue = std::numeric_limits<double>::max() );
2673
2677 static QString typeName() { return QStringLiteral( "volume" ); } // cppcheck-suppress duplInheritedMember
2678
2679 QgsProcessingParameterVolume *clone() const override SIP_FACTORY;
2680
2681 QString type() const override;
2682 QStringList dependsOnOtherParameters() const override;
2683 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2684
2689 QString parentParameterName() const;
2690
2695 void setParentParameterName( const QString &parentParameterName );
2696
2702 Qgis::VolumeUnit defaultUnit() const { return mDefaultUnit; }
2703
2709 void setDefaultUnit( Qgis::VolumeUnit unit ) { mDefaultUnit = unit; }
2710
2711 QVariantMap toVariantMap() const override;
2712 bool fromVariantMap( const QVariantMap &map ) override;
2713 QString userFriendlyString( const QVariant &value ) const override;
2714
2715 private:
2716
2717 QString mParentParameterName;
2719
2720};
2721
2722
2732{
2733 public:
2734
2738 explicit QgsProcessingParameterDuration( const QString &name, const QString &description = QString(),
2739 const QVariant &defaultValue = QVariant(),
2740 bool optional = false,
2741 double minValue = std::numeric_limits<double>::lowest() + 1,
2742 double maxValue = std::numeric_limits<double>::max() );
2743
2747 static QString typeName() { return QStringLiteral( "duration" ); } // cppcheck-suppress duplInheritedMember
2748
2749 QgsProcessingParameterDuration *clone() const override SIP_FACTORY;
2750
2751 QString type() const override;
2752 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2753
2759 Qgis::TemporalUnit defaultUnit() const { return mDefaultUnit; }
2760
2766 void setDefaultUnit( Qgis::TemporalUnit unit ) { mDefaultUnit = unit; }
2767
2768 QVariantMap toVariantMap() const override;
2769 bool fromVariantMap( const QVariantMap &map ) override;
2770 QString userFriendlyString( const QVariant &value ) const override;
2771
2772 private:
2773
2775
2776};
2777
2789{
2790 public:
2791
2795 explicit QgsProcessingParameterScale( const QString &name, const QString &description = QString(),
2796 const QVariant &defaultValue = QVariant(),
2797 bool optional = false );
2798
2802 static QString typeName() { return QStringLiteral( "scale" ); } // cppcheck-suppress duplInheritedMember
2803
2804 QgsProcessingParameterScale *clone() const override SIP_FACTORY;
2805
2806 QString type() const override;
2807 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2808
2812 static QgsProcessingParameterScale *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY; // cppcheck-suppress duplInheritedMember
2813
2814};
2815
2822{
2823 public:
2824
2828 QgsProcessingParameterRange( const QString &name, const QString &description = QString(),
2830 const QVariant &defaultValue = QVariant(),
2831 bool optional = false );
2832
2836 static QString typeName() { return QStringLiteral( "range" ); }
2837
2838 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2839 QString type() const override { return typeName(); }
2840 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2841 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2843
2848 Qgis::ProcessingNumberParameterType dataType() const;
2849
2854 void setDataType( Qgis::ProcessingNumberParameterType dataType );
2855
2856 QVariantMap toVariantMap() const override;
2857 bool fromVariantMap( const QVariantMap &map ) override;
2858
2862 static QgsProcessingParameterRange *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2863
2864 private:
2865
2867};
2868
2875{
2876 public:
2877
2881 QgsProcessingParameterRasterLayer( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2882 bool optional = false );
2883
2887 static QString typeName() { return QStringLiteral( "raster" ); }
2888 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2889 QString type() const override { return typeName(); }
2890 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2891 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2892 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2893 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2894 QString createFileFilter() const override;
2895
2899 static QgsProcessingParameterRasterLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2900
2907 void setParameterCapabilities( Qgis::RasterProcessingParameterCapabilities capabilities );
2908
2913 Qgis::RasterProcessingParameterCapabilities parameterCapabilities() const;
2914
2915 private:
2917};
2918
2937{
2938 public:
2939
2943 QgsProcessingParameterEnum( const QString &name, const QString &description = QString(), const QStringList &options = QStringList(),
2944 bool allowMultiple = false,
2945 const QVariant &defaultValue = QVariant(),
2946 bool optional = false,
2947 bool usesStaticStrings = false );
2948
2949 QString userFriendlyString( const QVariant &value ) const override;
2950
2954 static QString typeName() { return QStringLiteral( "enum" ); }
2955 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2956 QString type() const override { return typeName(); }
2957 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2958 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2959 QString valueAsPythonComment( const QVariant &value, QgsProcessingContext &context ) const override;
2960 QString asScriptCode() const override;
2962
2967 QStringList options() const;
2968
2973 void setOptions( const QStringList &options );
2974
2979 bool allowMultiple() const;
2980
2985 void setAllowMultiple( bool allowMultiple );
2986
2993 bool usesStaticStrings() const;
2994
3001 void setUsesStaticStrings( bool usesStaticStrings );
3002
3003 QVariantMap toVariantMap() const override;
3004 bool fromVariantMap( const QVariantMap &map ) override;
3005
3009 static QgsProcessingParameterEnum *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3010
3011 private:
3012
3013 QStringList mOptions;
3014 bool mAllowMultiple = false;
3015 bool mUsesStaticStrings = false;
3016};
3017
3045{
3046 public:
3047
3051 QgsProcessingParameterString( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3052 bool multiLine = false,
3053 bool optional = false );
3054
3058 static QString typeName() { return QStringLiteral( "string" ); }
3059 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3060 QString type() const override { return typeName(); }
3061 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3062 QString asScriptCode() const override;
3064
3069 bool multiLine() const;
3070
3075 void setMultiLine( bool multiLine );
3076
3077 QVariantMap toVariantMap() const override;
3078 bool fromVariantMap( const QVariantMap &map ) override;
3079
3083 static QgsProcessingParameterString *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3084
3085 private:
3086
3087 bool mMultiLine = false;
3088
3089};
3090
3091
3105{
3106 public:
3107
3111 QgsProcessingParameterAuthConfig( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3112 bool optional = false );
3113
3117 static QString typeName() { return QStringLiteral( "authcfg" ); }
3118 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3119 QString type() const override { return typeName(); }
3120 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3121 QString asScriptCode() const override;
3122
3126 static QgsProcessingParameterAuthConfig *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3127
3128};
3129
3136{
3137 public:
3138
3142 QgsProcessingParameterExpression( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3143 const QString &parentLayerParameterName = QString(),
3144 bool optional = false, Qgis::ExpressionType type = Qgis::ExpressionType::Qgis );
3145
3149 static QString typeName() { return QStringLiteral( "expression" ); }
3150 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3151 QString type() const override { return typeName(); }
3152 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3153 QStringList dependsOnOtherParameters() const override;
3155
3160 QString parentLayerParameterName() const;
3161
3166 void setParentLayerParameterName( const QString &parentLayerParameterName );
3167
3174 Qgis::ExpressionType expressionType() const;
3175
3182 void setExpressionType( Qgis::ExpressionType type );
3183
3184 QVariantMap toVariantMap() const override;
3185 bool fromVariantMap( const QVariantMap &map ) override;
3186
3190 static QgsProcessingParameterExpression *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3191
3192 private:
3193
3194 QString mParentLayerParameterName;
3196};
3197
3198
3205{
3206 public:
3207
3211 QgsProcessingParameterLimitedDataTypes( const QList< int > &types = QList< int >() );
3212
3217 QList< int > dataTypes() const;
3218
3223 void setDataTypes( const QList< int > &types );
3224
3225 protected:
3226
3228 QList< int > mDataTypes;
3229};
3230
3239{
3240 public:
3241
3246 const QString &description = QString(),
3247 const QList< int > &types = QList< int >(),
3248 const QVariant &defaultValue = QVariant(),
3249 bool optional = false );
3250
3254 static QString typeName() { return QStringLiteral( "vector" ); }
3255 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3256 QString type() const override { return typeName(); }
3257 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3258 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3259 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
3260 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
3262 QString createFileFilter() const override;
3263
3264 QVariantMap toVariantMap() const override;
3265 bool fromVariantMap( const QVariantMap &map ) override;
3266
3270 static QgsProcessingParameterVectorLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3271
3272};
3273
3281{
3282 public:
3283
3287 QgsProcessingParameterMeshLayer( const QString &name,
3288 const QString &description = QString(),
3289 const QVariant &defaultValue = QVariant(),
3290 bool optional = false );
3291
3295 static QString typeName() { return QStringLiteral( "mesh" ); }
3296 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3297 QString type() const override { return typeName(); }
3298 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3299 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3300 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
3301 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
3302 QString createFileFilter() const override;
3303
3307 static QgsProcessingParameterMeshLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3308};
3309
3316{
3317 public:
3318
3322 QgsProcessingParameterMapLayer( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3323 bool optional = false,
3324 const QList< int > &types = QList< int >() );
3325
3329 static QString typeName() { return QStringLiteral( "layer" ); }
3330 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3331 QString type() const override { return typeName(); }
3332 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3333 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3334 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
3335 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
3336 QString asScriptCode() const override;
3338 QString createFileFilter() const override;
3339
3340 QVariantMap toVariantMap() const override;
3341 bool fromVariantMap( const QVariantMap &map ) override;
3342
3346 static QgsProcessingParameterMapLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3347
3348};
3349
3356{
3357 public:
3358
3362 QgsProcessingParameterField( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3363 const QString &parentLayerParameterName = QString(),
3365 bool allowMultiple = false,
3366 bool optional = false,
3367 bool defaultToAllFields = false );
3368
3372 static QString typeName() { return QStringLiteral( "field" ); }
3373 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3374 QString type() const override { return typeName(); }
3375 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3376 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3377 QString asScriptCode() const override;
3379 QStringList dependsOnOtherParameters() const override;
3380
3385 QString parentLayerParameterName() const;
3386
3391 void setParentLayerParameterName( const QString &parentLayerParameterName );
3392
3398
3403 void setDataType( Qgis::ProcessingFieldParameterDataType type );
3404
3409 bool allowMultiple() const;
3410
3415 void setAllowMultiple( bool allowMultiple );
3416
3426 bool defaultToAllFields() const;
3427
3437 void setDefaultToAllFields( bool enabled );
3438
3439 QVariantMap toVariantMap() const override;
3440 bool fromVariantMap( const QVariantMap &map ) override;
3441
3445 static QgsProcessingParameterField *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3446
3447 private:
3448
3449 QString mParentLayerParameterName;
3451 bool mAllowMultiple = false;
3452 bool mDefaultToAllFields = false;
3453
3454};
3455
3456
3463{
3464 public:
3465
3469 QgsProcessingParameterFeatureSource( const QString &name, const QString &description = QString(),
3470 const QList< int > &types = QList< int >(),
3471 const QVariant &defaultValue = QVariant(), bool optional = false );
3472
3476 static QString typeName() { return QStringLiteral( "source" ); }
3477 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3478 QString type() const override { return typeName(); }
3479 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3480 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3481 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
3482 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
3483 QString asScriptCode() const override;
3485 QString createFileFilter() const override;
3486
3487 QVariantMap toVariantMap() const override;
3488 bool fromVariantMap( const QVariantMap &map ) override;
3489
3493 static QgsProcessingParameterFeatureSource *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3494
3495};
3496
3504{
3505 public:
3506
3513 QgsProcessingDestinationParameter( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3514 bool optional = false, bool createByDefault = true );
3515
3516 bool isDestination() const override { return true; }
3517 QVariantMap toVariantMap() const override;
3518 bool fromVariantMap( const QVariantMap &map ) override;
3520 QString createFileFilter() const override;
3521
3527
3533 bool supportsNonFileBasedOutput() const { return mSupportsNonFileBasedOutputs; }
3534
3541
3546 virtual QString defaultFileExtension() const = 0;
3547
3553 virtual QString generateTemporaryDestination( const QgsProcessingContext *context = nullptr ) const;
3554
3569 virtual bool isSupportedOutputValue( const QVariant &value, QgsProcessingContext &context, QString &error SIP_OUT ) const;
3570
3576 bool createByDefault() const;
3577
3584
3585 protected:
3586
3595 QgsProcessingProvider *originalProvider() const { return mOriginalProvider; }
3596
3597 private:
3598
3606 QgsProcessingProvider *mOriginalProvider = nullptr;
3607
3608 bool mSupportsNonFileBasedOutputs = true;
3609 bool mCreateByDefault = true;
3610
3612 friend class TestQgsProcessing;
3614};
3615
3616
3625{
3626 public:
3627
3634 QgsProcessingParameterFeatureSink( const QString &name, const QString &description = QString(), Qgis::ProcessingSourceType type = Qgis::ProcessingSourceType::VectorAnyGeometry, const QVariant &defaultValue = QVariant(),
3635 bool optional = false, bool createByDefault = true, bool supportsAppend = false );
3636
3640 static QString typeName() { return QStringLiteral( "sink" ); }
3641 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3642 QString type() const override { return typeName(); }
3643 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3644 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3645 QString asScriptCode() const override;
3646 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3647 QString defaultFileExtension() const override;
3648 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
3649 QString createFileFilter() const override;
3650
3656 virtual QStringList supportedOutputVectorLayerExtensions() const;
3657
3662 Qgis::ProcessingSourceType dataType() const;
3663
3668 bool hasGeometry() const;
3669
3674 void setDataType( Qgis::ProcessingSourceType type );
3675
3684 bool supportsAppend() const;
3685
3694 void setSupportsAppend( bool supportsAppend );
3695
3696 QVariantMap toVariantMap() const override;
3697 bool fromVariantMap( const QVariantMap &map ) override;
3698 QString generateTemporaryDestination( const QgsProcessingContext *context = nullptr ) const override;
3699
3703 static QgsProcessingParameterFeatureSink *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3704
3705 private:
3706
3707 Qgis::ProcessingSourceType mDataType = Qgis::ProcessingSourceType::VectorAnyGeometry;
3708 bool mSupportsAppend = false;
3709};
3710
3711
3722{
3723 public:
3724
3732 bool optional = false, bool createByDefault = true );
3733
3737 static QString typeName() { return QStringLiteral( "vectorDestination" ); }
3738 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3739 QString type() const override { return typeName(); }
3740 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3741 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3742 QString asScriptCode() const override;
3743 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3744 QString defaultFileExtension() const override;
3745 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
3746 QString createFileFilter() const override;
3747
3753 virtual QStringList supportedOutputVectorLayerExtensions() const;
3754
3759 Qgis::ProcessingSourceType dataType() const;
3760
3765 bool hasGeometry() const;
3766
3771 void setDataType( Qgis::ProcessingSourceType type );
3772
3773 QVariantMap toVariantMap() const override;
3774 bool fromVariantMap( const QVariantMap &map ) override;
3775
3779 static QgsProcessingParameterVectorDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3780
3781
3782 private:
3783
3784 Qgis::ProcessingSourceType mDataType = Qgis::ProcessingSourceType::VectorAnyGeometry;
3785};
3786
3794{
3795 public:
3796
3803 QgsProcessingParameterRasterDestination( const QString &name, const QString &description = QString(),
3804 const QVariant &defaultValue = QVariant(),
3805 bool optional = false,
3806 bool createByDefault = true );
3807
3811 static QString typeName() { return QStringLiteral( "rasterDestination" ); }
3812 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3813 QString type() const override { return typeName(); }
3814 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3815 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3816 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3817 QString defaultFileExtension() const override;
3818
3825 QString defaultFileFormat() const;
3826
3827 QString createFileFilter() const override;
3828
3835 Q_DECL_DEPRECATED virtual QStringList supportedOutputRasterLayerExtensions() const SIP_DEPRECATED;
3836
3842 virtual QList<QPair<QString, QString>> supportedOutputRasterLayerFormatAndExtensions() const;
3843
3847 static QgsProcessingParameterRasterDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3848};
3849
3871{
3872 public:
3873
3880 QgsProcessingParameterFileDestination( const QString &name, const QString &description = QString(),
3881 const QString &fileFilter = QString(),
3882 const QVariant &defaultValue = QVariant(),
3883 bool optional = false,
3884 bool createByDefault = true );
3885
3889 static QString typeName() { return QStringLiteral( "fileDestination" ); }
3890 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3891 QString type() const override { return typeName(); }
3892 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3893 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3894 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3895 QString defaultFileExtension() const override;
3896 QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
3897 QString createFileFilter() const override;
3898
3903 QString fileFilter() const;
3904
3909 void setFileFilter( const QString &filter );
3910
3911 QVariantMap toVariantMap() const override;
3912 bool fromVariantMap( const QVariantMap &map ) override;
3913
3917 static QgsProcessingParameterFileDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3918
3919
3920 private:
3921
3922 QString mFileFilter;
3923};
3924
3932{
3933 public:
3934
3938 QgsProcessingParameterFolderDestination( const QString &name, const QString &description = QString(),
3939 const QVariant &defaultValue = QVariant(),
3940 bool optional = false,
3941 bool createByDefault = true );
3942
3946 static QString typeName() { return QStringLiteral( "folderDestination" ); }
3947 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3948 QString type() const override { return typeName(); }
3949 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3950 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3951 QString defaultFileExtension() const override;
3952
3956 static QgsProcessingParameterFolderDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3957
3958};
3959
3966{
3967 public:
3968
3972 QgsProcessingParameterBand( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3973 const QString &parentLayerParameterName = QString(),
3974 bool optional = false,
3975 bool allowMultiple = false );
3976
3980 static QString typeName() { return QStringLiteral( "band" ); }
3981 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3982 QString type() const override { return typeName(); }
3983 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3984 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3985 QString asScriptCode() const override;
3986 QStringList dependsOnOtherParameters() const override;
3988
3993 QString parentLayerParameterName() const;
3994
3999 void setParentLayerParameterName( const QString &parentLayerParameterName );
4000
4001 QVariantMap toVariantMap() const override;
4002 bool fromVariantMap( const QVariantMap &map ) override;
4003
4007 static QgsProcessingParameterBand *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4008
4014 bool allowMultiple() const;
4015
4021 void setAllowMultiple( bool allowMultiple );
4022
4023 private:
4024
4025 QString mParentLayerParameterName;
4026 bool mAllowMultiple = false;
4027};
4028
4041{
4042 public:
4043
4047 QgsProcessingParameterLayout( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
4048 bool optional = false );
4049
4053 static QString typeName() { return QStringLiteral( "layout" ); }
4054 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4055 QString type() const override { return typeName(); }
4056 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4057 QString asScriptCode() const override;
4059
4063 static QgsProcessingParameterLayout *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4064
4065};
4066
4079{
4080 public:
4081
4085 QgsProcessingParameterLayoutItem( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
4086 const QString &parentLayoutParameterName = QString(),
4087 int itemType = -1,
4088 bool optional = false );
4089
4093 static QString typeName() { return QStringLiteral( "layoutitem" ); }
4094 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4095 QString type() const override { return typeName(); }
4096 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4097 QString asScriptCode() const override;
4099 QVariantMap toVariantMap() const override;
4100 bool fromVariantMap( const QVariantMap &map ) override;
4101 QStringList dependsOnOtherParameters() const override;
4102
4106 static QgsProcessingParameterLayoutItem *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4107
4112 QString parentLayoutParameterName() const;
4113
4118 void setParentLayoutParameterName( const QString &name );
4119
4127 int itemType() const;
4128
4136 void setItemType( int type );
4137
4138 private:
4139 QString mParentLayoutParameterName;
4140 int mItemType = -1;
4141};
4142
4153{
4154 public:
4155
4161 QgsProcessingParameterColor( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
4162 bool opacityEnabled = true,
4163 bool optional = false );
4164
4168 static QString typeName() { return QStringLiteral( "color" ); }
4169
4170 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4171 QString type() const override { return typeName(); }
4172 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4173 QString asScriptCode() const override;
4175 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4176 QVariantMap toVariantMap() const override;
4177 bool fromVariantMap( const QVariantMap &map ) override;
4178
4185 bool opacityEnabled() const;
4186
4194 void setOpacityEnabled( bool enabled );
4195
4199 static QgsProcessingParameterColor *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4200
4201 private:
4202
4203 bool mAllowOpacity = true;
4204
4205};
4206
4207
4220{
4221 public:
4222
4226 QgsProcessingParameterCoordinateOperation( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
4227 const QString &sourceCrsParameterName = QString(), const QString &destinationCrsParameterName = QString(),
4228 const QVariant &staticSourceCrs = QVariant(), const QVariant &staticDestinationCrs = QVariant(),
4229 bool optional = false );
4230
4234 static QString typeName() { return QStringLiteral( "coordinateoperation" ); }
4235 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4236 QString type() const override { return typeName(); }
4237 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4238 QString asScriptCode() const override;
4240 QStringList dependsOnOtherParameters() const override;
4241
4242 QVariantMap toVariantMap() const override;
4243 bool fromVariantMap( const QVariantMap &map ) override;
4244
4248 static QgsProcessingParameterCoordinateOperation *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4249
4255 QString sourceCrsParameterName() const { return mSourceParameterName; }
4256
4262 void setSourceCrsParameterName( const QString &name ) { mSourceParameterName = name; }
4263
4269 QString destinationCrsParameterName() const { return mDestParameterName; }
4270
4276 void setDestinationCrsParameterName( const QString &name ) { mDestParameterName = name; }
4277
4283 QVariant sourceCrs() const { return mSourceCrs; }
4284
4290 void setSourceCrs( const QVariant &crs ) { mSourceCrs = crs; }
4291
4297 QVariant destinationCrs() const { return mDestCrs; }
4298
4304 void setDestinationCrs( const QVariant &crs ) { mDestCrs = crs; }
4305
4306 private:
4307 QString valueAsPythonStringPrivate( const QVariant &value, QgsProcessingContext &context, bool allowNonStringValues ) const ;
4308
4309 QString mSourceParameterName;
4310 QString mDestParameterName;
4311 QVariant mSourceCrs;
4312 QVariant mDestCrs;
4313
4314};
4315
4316
4327{
4328 public:
4329
4333 QgsProcessingParameterMapTheme( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
4334 bool optional = false );
4335
4339 static QString typeName() { return QStringLiteral( "maptheme" ); }
4340 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4341 QString type() const override { return typeName(); }
4342 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4343 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4344 QString asScriptCode() const override;
4346 QVariantMap toVariantMap() const override;
4347 bool fromVariantMap( const QVariantMap &map ) override;
4348
4352 static QgsProcessingParameterMapTheme *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4353
4354 private:
4355
4356};
4357
4358
4370{
4371 public:
4372
4376 explicit QgsProcessingParameterDateTime( const QString &name, const QString &description = QString(),
4378 const QVariant &defaultValue = QVariant(),
4379 bool optional = false,
4380 const QDateTime &minValue = QDateTime(),
4381 const QDateTime &maxValue = QDateTime()
4382 );
4383
4387 static QString typeName() { return QStringLiteral( "datetime" ); }
4388 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4389 QString type() const override { return typeName(); }
4390 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4391 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4392 QString toolTip() const override;
4394
4402 QDateTime minimum() const;
4403
4415 void setMinimum( const QDateTime &minimum );
4416
4424 QDateTime maximum() const;
4425
4437 void setMaximum( const QDateTime &maximum );
4438
4444
4449 void setDataType( Qgis::ProcessingDateTimeParameterDataType type );
4450
4451 QVariantMap toVariantMap() const override;
4452 bool fromVariantMap( const QVariantMap &map ) override;
4453 QString userFriendlyString( const QVariant &value ) const override;
4454
4458 static QgsProcessingParameterDateTime *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4459
4460 private:
4461
4462 QDateTime mMin;
4463 QDateTime mMax;
4465};
4466
4467
4479{
4480 public:
4481
4488 QgsProcessingParameterProviderConnection( const QString &name, const QString &description, const QString &provider, const QVariant &defaultValue = QVariant(),
4489 bool optional = false );
4490
4494 static QString typeName() { return QStringLiteral( "providerconnection" ); }
4495 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4496 QString type() const override { return typeName(); }
4497 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4498 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4499 QString asScriptCode() const override;
4501 QVariantMap toVariantMap() const override;
4502 bool fromVariantMap( const QVariantMap &map ) override;
4503
4508 QString providerId() const { return mProviderId; }
4509
4514 void setProviderId( const QString &provider ) { mProviderId = provider; }
4515
4519 static QgsProcessingParameterProviderConnection *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4520
4521 private:
4522
4523 QString mProviderId;
4524};
4525
4526
4538{
4539 public:
4540
4549 QgsProcessingParameterDatabaseSchema( const QString &name, const QString &description, const QString &connectionParameterName = QString(), const QVariant &defaultValue = QVariant(),
4550 bool optional = false );
4551
4555 static QString typeName() { return QStringLiteral( "databaseschema" ); }
4556 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4557 QString type() const override { return typeName(); }
4558 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4559 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4560 QString asScriptCode() const override;
4562 QVariantMap toVariantMap() const override;
4563 bool fromVariantMap( const QVariantMap &map ) override;
4564 QStringList dependsOnOtherParameters() const override;
4565
4570 QString parentConnectionParameterName() const;
4571
4576 void setParentConnectionParameterName( const QString &name );
4577
4581 static QgsProcessingParameterDatabaseSchema *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4582
4583 private:
4584
4585 QString mParentConnectionParameterName;
4586};
4587
4588
4602{
4603 public:
4604
4614 QgsProcessingParameterDatabaseTable( const QString &name, const QString &description,
4615 const QString &connectionParameterName = QString(),
4616 const QString &schemaParameterName = QString(),
4617 const QVariant &defaultValue = QVariant(),
4618 bool optional = false,
4619 bool allowNewTableNames = false );
4620
4624 static QString typeName() { return QStringLiteral( "databasetable" ); }
4625 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4626 QString type() const override { return typeName(); }
4627 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4628 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4629 QString asScriptCode() const override;
4631 QVariantMap toVariantMap() const override;
4632 bool fromVariantMap( const QVariantMap &map ) override;
4633 QStringList dependsOnOtherParameters() const override;
4634
4639 QString parentConnectionParameterName() const;
4640
4645 void setParentConnectionParameterName( const QString &name );
4646
4651 QString parentSchemaParameterName() const;
4652
4657 void setParentSchemaParameterName( const QString &name );
4658
4662 static QgsProcessingParameterDatabaseTable *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4663
4670 bool allowNewTableNames() const;
4671
4678 void setAllowNewTableNames( bool allowed );
4679
4680 private:
4681
4682 QString mParentConnectionParameterName;
4683 QString mParentSchemaParameterName;
4684 bool mAllowNewTableNames = false;
4685};
4686
4687
4695{
4696 public:
4697
4701 QgsProcessingParameterPointCloudLayer( const QString &name, const QString &description = QString(),
4702 const QVariant &defaultValue = QVariant(), bool optional = false );
4703
4707 static QString typeName() { return QStringLiteral( "pointcloud" ); }
4708 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4709 QString type() const override { return typeName(); }
4710 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4711 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4712 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
4713 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
4714 QString createFileFilter() const override;
4715
4719 static QgsProcessingParameterPointCloudLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4720};
4721
4722
4730{
4731 public:
4732
4736 QgsProcessingParameterAnnotationLayer( const QString &name, const QString &description = QString(),
4737 const QVariant &defaultValue = QVariant(), bool optional = false );
4738
4742 static QString typeName() { return QStringLiteral( "annotation" ); }
4743 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4744 QString type() const override { return typeName(); }
4745 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4746 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4747 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
4748 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
4749
4753 static QgsProcessingParameterAnnotationLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4754};
4755
4764{
4765 public:
4766
4773 QgsProcessingParameterPointCloudDestination( const QString &name, const QString &description = QString(),
4774 const QVariant &defaultValue = QVariant(),
4775 bool optional = false,
4776 bool createByDefault = true );
4777
4781 static QString typeName() { return QStringLiteral( "pointCloudDestination" ); }
4782 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4783 QString type() const override { return typeName(); }
4784 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4785 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4786 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
4787 QString defaultFileExtension() const override;
4788 QString createFileFilter() const override;
4789
4794 virtual QStringList supportedOutputPointCloudLayerExtensions() const;
4795
4799 static QgsProcessingParameterPointCloudDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4800};
4801
4809{
4810 public:
4811
4815 QgsProcessingParameterPointCloudAttribute( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
4816 const QString &parentLayerParameterName = QString(),
4817 bool allowMultiple = false,
4818 bool optional = false,
4819 bool defaultToAllAttributes = false );
4820
4824 static QString typeName() { return QStringLiteral( "attribute" ); }
4825 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4826 QString type() const override { return typeName(); }
4827 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4828 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4829 QString asScriptCode() const override;
4831 QStringList dependsOnOtherParameters() const override;
4832
4837 QString parentLayerParameterName() const;
4838
4843 void setParentLayerParameterName( const QString &parentLayerParameterName );
4844
4849 bool allowMultiple() const;
4850
4855 void setAllowMultiple( bool allowMultiple );
4856
4865 bool defaultToAllAttributes() const;
4866
4875 void setDefaultToAllAttributes( bool enabled );
4876
4877 QVariantMap toVariantMap() const override;
4878 bool fromVariantMap( const QVariantMap &map ) override;
4879
4883 static QgsProcessingParameterPointCloudAttribute *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4884
4885 private:
4886
4887 QString mParentLayerParameterName;
4888 bool mAllowMultiple = false;
4889 bool mDefaultToAllAttributes = false;
4890};
4891
4900{
4901 public:
4902
4909 QgsProcessingParameterVectorTileDestination( const QString &name, const QString &description = QString(),
4910 const QVariant &defaultValue = QVariant(),
4911 bool optional = false,
4912 bool createByDefault = true );
4913
4917 static QString typeName() { return QStringLiteral( "vectorTileDestination" ); }
4918 QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4919 QString type() const override { return typeName(); }
4920 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4921 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4922 QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
4923 QString defaultFileExtension() const override;
4924 QString createFileFilter() const override;
4925
4930 virtual QStringList supportedOutputVectorTileLayerExtensions() const;
4931
4935 static QgsProcessingParameterVectorTileDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4936};
4937
4938// clazy:excludeall=qstring-allocations
4939
4940#endif // QGSPROCESSINGPARAMETERS_H
4941
4942
Provides global constants and enumerations for use throughout the application.
Definition qgis.h:56
ProcessingSourceType
Processing data source types.
Definition qgis.h:3531
@ VectorAnyGeometry
Any vector layer with geometry.
Definition qgis.h:3533
ProcessingFileParameterBehavior
Flags which dictate the behavior of QgsProcessingParameterFile.
Definition qgis.h:3788
@ File
Parameter is a single file.
Definition qgis.h:3789
ExpressionType
Expression types.
Definition qgis.h:5542
@ Qgis
Native QGIS expression.
Definition qgis.h:5543
DistanceUnit
Units of distance.
Definition qgis.h:5013
@ Unknown
Unknown distance unit.
Definition qgis.h:5063
QFlags< RasterProcessingParameterCapability > RasterProcessingParameterCapabilities
Raster layer processing parameter capabilities.
Definition qgis.h:6133
ProcessingFieldParameterDataType
Processing field parameter data types.
Definition qgis.h:3816
AreaUnit
Units of area.
Definition qgis.h:5090
@ Unknown
Unknown areal unit.
Definition qgis.h:5103
TemporalUnit
Temporal units.
Definition qgis.h:5159
@ Milliseconds
Milliseconds.
Definition qgis.h:5160
QFlags< ProcessingParameterFlag > ProcessingParameterFlags
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3777
VolumeUnit
Units of volume.
Definition qgis.h:5115
@ Unknown
Unknown volume unit.
Definition qgis.h:5126
InvalidGeometryCheck
Methods for handling of features with invalid geometries.
Definition qgis.h:2238
@ AbortOnInvalid
Close iterator on encountering any features with invalid geometry. This requires a slow geometry vali...
Definition qgis.h:2241
QFlags< ProcessingFeatureSourceDefinitionFlag > ProcessingFeatureSourceDefinitionFlags
Flags which control behavior for a Processing feature source.
Definition qgis.h:3699
WkbType
The WKB type describes the number of dimensions a geometry has.
Definition qgis.h:277
ProcessingDateTimeParameterDataType
Processing date time parameter data types.
Definition qgis.h:3834
ProcessingNumberParameterType
Processing numeric parameter data types.
Definition qgis.h:3802
Represents a map layer containing a set of georeferenced annotations, e.g.
Represents a coordinate reference system (CRS).
An interface for objects which accept features via addFeature(s) methods.
QFlags< SinkFlag > SinkFlags
Container of fields for a vector layer.
Definition qgsfields.h:46
Abstract interface for classes which generate a file filter string.
A geometry is the spatial representation of a feature.
Base class for graphical items within a QgsLayout.
Base class for all map layer types.
Definition qgsmaplayer.h:80
Represents a mesh layer supporting display of data on structured or unstructured meshes.
Represents a map layer supporting display of point clouds.
Represents a 2D point.
Definition qgspointxy.h:60
Print layout, a QgsLayout subclass for static or atlas-based layouts.
Abstract base class for processing algorithms.
Contains information about the context in which a processing algorithm is executed.
virtual QString defaultFileExtension() const =0
Returns the default file extension for destination file paths associated with this parameter.
void setCreateByDefault(bool createByDefault)
Sets whether the destination should be created by default.
bool supportsNonFileBasedOutput() const
Returns true if the destination parameter supports non filed-based outputs, such as memory layers or ...
bool isDestination() const override
Returns true if this parameter represents a file or layer destination, e.g.
bool createByDefault() const
Returns true if the destination should be created by default.
virtual bool isSupportedOutputValue(const QVariant &value, QgsProcessingContext &context, QString &error) const
Tests whether a value is a supported value for this parameter.
virtual QString generateTemporaryDestination(const QgsProcessingContext *context=nullptr) const
Generates a temporary destination value for this parameter.
virtual QgsProcessingOutputDefinition * toOutputDefinition() const =0
Returns a new QgsProcessingOutputDefinition corresponding to the definition of the destination parame...
QgsProcessingProvider * originalProvider() const
Original (source) provider which this parameter has been derived from.
void setSupportsNonFileBasedOutput(bool supportsNonFileBasedOutput)
Sets whether the destination parameter supports non filed-based outputs, such as memory layers or dir...
QgsProcessingDestinationParameter(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool optional=false, bool createByDefault=true)
Constructor for QgsProcessingDestinationParameter.
Custom exception class for processing related exceptions.
Encapsulates settings relating to a feature source input to a processing algorithm.
bool loadVariant(const QVariantMap &map)
Loads this source definition from a QVariantMap, wrapped in a QVariant.
bool operator!=(const QgsProcessingFeatureSourceDefinition &other) const
bool selectedFeaturesOnly
true if only selected features in the source should be used by algorithms.
bool operator==(const QgsProcessingFeatureSourceDefinition &other) const
Qgis::InvalidGeometryCheck geometryCheck
Geometry check method to apply to this source.
QgsProcessingFeatureSourceDefinition(const QgsProperty &source, bool selectedFeaturesOnly=false, long long featureLimit=-1, Qgis::ProcessingFeatureSourceDefinitionFlags flags=Qgis::ProcessingFeatureSourceDefinitionFlags(), Qgis::InvalidGeometryCheck geometryCheck=Qgis::InvalidGeometryCheck::AbortOnInvalid, const QString &filterExpression=QString())
Constructor for QgsProcessingFeatureSourceDefinition, accepting a QgsProperty source.
QgsProcessingFeatureSourceDefinition(const QString &source=QString(), bool selectedFeaturesOnly=false, long long featureLimit=-1, Qgis::ProcessingFeatureSourceDefinitionFlags flags=Qgis::ProcessingFeatureSourceDefinitionFlags(), Qgis::InvalidGeometryCheck geometryCheck=Qgis::InvalidGeometryCheck::AbortOnInvalid, const QString &filterExpression=QString())
Constructor for QgsProcessingFeatureSourceDefinition, accepting a static string source.
Qgis::ProcessingFeatureSourceDefinitionFlags flags
Flags which dictate source behavior.
long long featureLimit
If set to a value > 0, places a limit on the maximum number of features which will be read from the s...
QVariant toVariant() const
Saves this source definition to a QVariantMap, wrapped in a QVariant.
QString filterExpression
Optional expression filter to use for filtering features which will be read from the source.
QgsFeatureSource subclass which proxies methods to an underlying QgsFeatureSource,...
Base class for providing feedback from a processing algorithm.
Base class for the definition of processing outputs.
Encapsulates settings relating to a feature sink or output raster layer for a processing algorithm.
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:109
Definition for a property.
Definition qgsproperty.h:45
A store for object properties.
Represents a raster layer.
A rectangle specified with double values.
Defines the parameters used to remap features when creating a QgsRemappingProxyFeatureSink.
Represents a vector layer which manages a vector based dataset.
As part of the API refactoring and improvements which landed in the Processing API was substantially reworked from the x version This was done in order to allow much of the underlying Processing framework to be ported into allowing algorithms to be written in pure substantial changes are required in order to port existing x Processing algorithms for QGIS x The most significant changes are outlined not GeoAlgorithm For algorithms which operate on features one by consider subclassing the QgsProcessingFeatureBasedAlgorithm class This class allows much of the boilerplate code for looping over features from a vector layer to be bypassed and instead requires implementation of a processFeature method Ensure that your algorithm(or algorithm 's parent class) implements the new pure virtual createInstance(self) call
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
Definition qgis_sip.h:199
#define SIP_DEPRECATED
Definition qgis_sip.h:114
#define SIP_SKIP
Definition qgis_sip.h:134
#define SIP_OUT
Definition qgis_sip.h:58
#define SIP_FACTORY
Definition qgis_sip.h:84
#define SIP_THROW(name,...)
Definition qgis_sip.h:211
#define SIP_END
Definition qgis_sip.h:216
Q_DECLARE_METATYPE(QgsDatabaseQueryLogEntry)
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
bool operator!=(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
QList< const QgsProcessingParameterDefinition * > QgsProcessingParameterDefinitions
List of processing parameters.
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsProjectionSelectionWidget::CrsOptions)