QGIS API Documentation  3.37.0-Master (a5b4d9743e8)
qgsprocessingparameters.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsprocessingparameters.h
3  -------------------------
4  begin : April 2017
5  copyright : (C) 2017 by Nyall Dawson
6  email : nyall dot dawson at gmail dot com
7 ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef QGSPROCESSINGPARAMETERS_H
19 #define QGSPROCESSINGPARAMETERS_H
20 
21 #include "qgis_core.h"
22 #include "qgis.h"
23 #include "qgsprocessing.h"
24 #include "qgsproperty.h"
26 #include "qgsprocessingutils.h"
27 #include "qgsfilefiltergenerator.h"
29 #include <QMap>
30 #include <limits>
31 
34 class QgsRasterLayer;
35 class QgsMeshLayer;
36 class QgsVectorLayer;
37 class QgsFeatureSink;
42 class QgsPrintLayout;
43 class QgsLayoutItem;
44 class QgsPointCloudLayer;
45 class QgsAnnotationLayer;
46 
56 {
57  public:
58 
75  QgsProcessingFeatureSourceDefinition( const QString &source = QString(), bool selectedFeaturesOnly = false, long long featureLimit = -1,
77  : source( QgsProperty::fromValue( source ) )
78  , selectedFeaturesOnly( selectedFeaturesOnly )
79  , featureLimit( featureLimit )
80  , filterExpression( filterExpression )
81  , flags( flags )
82  , geometryCheck( geometryCheck )
83  {}
84 
101  QgsProcessingFeatureSourceDefinition( const QgsProperty &source, bool selectedFeaturesOnly = false, long long featureLimit = -1,
103  : source( source )
104  , selectedFeaturesOnly( selectedFeaturesOnly )
105  , featureLimit( featureLimit )
106  , filterExpression( filterExpression )
107  , flags( flags )
108  , geometryCheck( geometryCheck )
109  {}
110 
115 
120 
127  long long featureLimit = -1;
128 
135 
142 
151 
158  QVariant toVariant() const;
159 
166  bool loadVariant( const QVariantMap &map );
167 
168  // TODO c++20 - replace with = default
170  {
171  return source == other.source
172  && selectedFeaturesOnly == other.selectedFeaturesOnly
173  && featureLimit == other.featureLimit
174  && filterExpression == other.filterExpression
175  && flags == other.flags
176  && geometryCheck == other.geometryCheck;
177  }
178 
180  {
181  return !( *this == other );
182  }
183 
185  operator QVariant() const
186  {
187  return QVariant::fromValue( *this );
188  }
189 
190 };
191 
193 
194 
203 {
204  public:
205 
211  QgsProcessingOutputLayerDefinition( const QString &sink = QString(), QgsProject *destinationProject = nullptr )
212  : sink( QgsProperty::fromValue( sink ) )
213  , destinationProject( destinationProject )
214  {}
215 
221  QgsProcessingOutputLayerDefinition( const QgsProperty &sink, QgsProject *destinationProject = nullptr )
222  : sink( sink )
223  , destinationProject( destinationProject )
224  {}
225 
230 
236  QgsProject *destinationProject = nullptr;
237 
242 
249  QVariantMap createOptions;
250 
257  bool useRemapping() const { return mUseRemapping; }
258 
266  QgsRemappingSinkDefinition remappingDefinition() const { return mRemappingDefinition; }
267 
278  void setRemappingDefinition( const QgsRemappingSinkDefinition &definition );
279 
286  QVariant toVariant() const;
287 
294  bool loadVariant( const QVariantMap &map );
295 
297  operator QVariant() const
298  {
299  return QVariant::fromValue( *this );
300  }
301 
302  // TODO c++20 - replace with = default
303  bool operator==( const QgsProcessingOutputLayerDefinition &other ) const;
304  bool operator!=( const QgsProcessingOutputLayerDefinition &other ) const;
305 
306  private:
307 
308  bool mUseRemapping = false;
310 
311 };
312 
314 
315 
316 
317 
318 //
319 // Parameter definitions
320 //
321 
322 
334 {
335 
336 #ifdef SIP_RUN
337  % TypeHeaderCode
344  % End
346  if ( sipCpp->type() == QgsProcessingParameterBoolean::typeName() )
347  sipType = sipType_QgsProcessingParameterBoolean;
348  else if ( sipCpp->type() == QgsProcessingParameterCrs::typeName() )
349  sipType = sipType_QgsProcessingParameterCrs;
350  else if ( sipCpp->type() == QgsProcessingParameterMapLayer::typeName() )
351  sipType = sipType_QgsProcessingParameterMapLayer;
352  else if ( sipCpp->type() == QgsProcessingParameterExtent::typeName() )
353  sipType = sipType_QgsProcessingParameterExtent;
354  else if ( sipCpp->type() == QgsProcessingParameterPoint::typeName() )
355  sipType = sipType_QgsProcessingParameterPoint;
356  else if ( sipCpp->type() == QgsProcessingParameterGeometry::typeName() )
357  sipType = sipType_QgsProcessingParameterGeometry;
358  else if ( sipCpp->type() == QgsProcessingParameterFile::typeName() )
359  sipType = sipType_QgsProcessingParameterFile;
360  else if ( sipCpp->type() == QgsProcessingParameterMatrix::typeName() )
361  sipType = sipType_QgsProcessingParameterMatrix;
362  else if ( sipCpp->type() == QgsProcessingParameterMultipleLayers::typeName() )
363  sipType = sipType_QgsProcessingParameterMultipleLayers;
364  else if ( sipCpp->type() == QgsProcessingParameterNumber::typeName() )
365  sipType = sipType_QgsProcessingParameterNumber;
366  else if ( sipCpp->type() == QgsProcessingParameterDistance::typeName() )
367  sipType = sipType_QgsProcessingParameterDistance;
368  else if ( sipCpp->type() == QgsProcessingParameterDuration::typeName() )
369  sipType = sipType_QgsProcessingParameterDuration;
370  else if ( sipCpp->type() == QgsProcessingParameterScale::typeName() )
371  sipType = sipType_QgsProcessingParameterScale;
372  else if ( sipCpp->type() == QgsProcessingParameterRange::typeName() )
373  sipType = sipType_QgsProcessingParameterRange;
374  else if ( sipCpp->type() == QgsProcessingParameterRasterLayer::typeName() )
375  sipType = sipType_QgsProcessingParameterRasterLayer;
376  else if ( sipCpp->type() == QgsProcessingParameterMeshLayer::typeName() )
377  sipType = sipType_QgsProcessingParameterMeshLayer;
378  else if ( sipCpp->type() == QgsProcessingParameterEnum::typeName() )
379  sipType = sipType_QgsProcessingParameterEnum;
380  else if ( sipCpp->type() == QgsProcessingParameterString::typeName() )
381  sipType = sipType_QgsProcessingParameterString;
382  else if ( sipCpp->type() == QgsProcessingParameterExpression::typeName() )
383  sipType = sipType_QgsProcessingParameterExpression;
384  else if ( sipCpp->type() == QgsProcessingParameterAuthConfig::typeName() )
385  sipType = sipType_QgsProcessingParameterAuthConfig;
386  else if ( sipCpp->type() == QgsProcessingParameterVectorLayer::typeName() )
387  sipType = sipType_QgsProcessingParameterVectorLayer;
388  else if ( sipCpp->type() == QgsProcessingParameterField::typeName() )
389  sipType = sipType_QgsProcessingParameterField;
390  else if ( sipCpp->type() == QgsProcessingParameterFeatureSource::typeName() )
391  sipType = sipType_QgsProcessingParameterFeatureSource;
392  else if ( sipCpp->type() == QgsProcessingParameterFeatureSink::typeName() )
393  sipType = sipType_QgsProcessingParameterFeatureSink;
394  else if ( sipCpp->type() == QgsProcessingParameterVectorDestination::typeName() )
395  sipType = sipType_QgsProcessingParameterVectorDestination;
396  else if ( sipCpp->type() == QgsProcessingParameterRasterDestination::typeName() )
397  sipType = sipType_QgsProcessingParameterRasterDestination;
398  else if ( sipCpp->type() == QgsProcessingParameterPointCloudDestination::typeName() )
399  sipType = sipType_QgsProcessingParameterPointCloudDestination;
400  else if ( sipCpp->type() == QgsProcessingParameterFileDestination::typeName() )
401  sipType = sipType_QgsProcessingParameterFileDestination;
402  else if ( sipCpp->type() == QgsProcessingParameterFolderDestination::typeName() )
403  sipType = sipType_QgsProcessingParameterFolderDestination;
404  else if ( sipCpp->type() == QgsProcessingParameterBand::typeName() )
405  sipType = sipType_QgsProcessingParameterBand;
406  else if ( sipCpp->type() == QgsProcessingParameterLayout::typeName() )
407  sipType = sipType_QgsProcessingParameterLayout;
408  else if ( sipCpp->type() == QgsProcessingParameterLayoutItem::typeName() )
409  sipType = sipType_QgsProcessingParameterLayoutItem;
410  else if ( sipCpp->type() == QgsProcessingParameterColor::typeName() )
411  sipType = sipType_QgsProcessingParameterColor;
412  else if ( sipCpp->type() == QgsProcessingParameterCoordinateOperation::typeName() )
413  sipType = sipType_QgsProcessingParameterCoordinateOperation;
414  else if ( sipCpp->type() == QgsProcessingParameterMapTheme::typeName() )
415  sipType = sipType_QgsProcessingParameterMapTheme;
416  else if ( sipCpp->type() == QgsProcessingParameterDateTime::typeName() )
417  sipType = sipType_QgsProcessingParameterDateTime;
418  else if ( sipCpp->type() == QgsProcessingParameterProviderConnection::typeName() )
419  sipType = sipType_QgsProcessingParameterProviderConnection;
420  else if ( sipCpp->type() == QgsProcessingParameterDatabaseSchema::typeName() )
421  sipType = sipType_QgsProcessingParameterDatabaseSchema;
422  else if ( sipCpp->type() == QgsProcessingParameterDatabaseTable::typeName() )
423  sipType = sipType_QgsProcessingParameterDatabaseTable;
424  else if ( sipCpp->type() == QgsProcessingParameterFieldMapping::typeName() )
425  sipType = sipType_QgsProcessingParameterFieldMapping;
426  else if ( sipCpp->type() == QgsProcessingParameterTinInputLayers::typeName() )
427  sipType = sipType_QgsProcessingParameterTinInputLayers;
428  else if ( sipCpp->type() == QgsProcessingParameterVectorTileWriterLayers::typeName() )
429  sipType = sipType_QgsProcessingParameterVectorTileWriterLayers;
430  else if ( sipCpp->type() == QgsProcessingParameterDxfLayers::typeName() )
431  sipType = sipType_QgsProcessingParameterDxfLayers;
432  else if ( sipCpp->type() == QgsProcessingParameterMeshDatasetGroups::typeName() )
433  sipType = sipType_QgsProcessingParameterMeshDatasetGroups;
434  else if ( sipCpp->type() == QgsProcessingParameterMeshDatasetTime::typeName() )
435  sipType = sipType_QgsProcessingParameterMeshDatasetTime;
436  else if ( sipCpp->type() == QgsProcessingParameterPointCloudLayer::typeName() )
437  sipType = sipType_QgsProcessingParameterPointCloudLayer;
438  else if ( sipCpp->type() == QgsProcessingParameterAnnotationLayer::typeName() )
439  sipType = sipType_QgsProcessingParameterAnnotationLayer;
440  else if ( sipCpp->type() == QgsProcessingParameterPointCloudAttribute::typeName() )
441  sipType = sipType_QgsProcessingParameterPointCloudAttribute;
442  else if ( sipCpp->type() == QgsProcessingParameterVectorTileDestination::typeName() )
443  sipType = sipType_QgsProcessingParameterVectorTileDestination;
444  else
445  sipType = nullptr;
446  SIP_END
447 #endif
448 
449  public:
450 
454  QgsProcessingParameterDefinition( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
455  bool optional = false, const QString &help = QString() );
456 
458 
463 
467  virtual QString type() const = 0;
468 
474  virtual bool isDestination() const { return false; }
475 
481  QString name() const { return mName; }
482 
488  void setName( const QString &name ) { mName = name; }
489 
495  QString description() const { return mDescription; }
496 
502  void setDescription( const QString &description ) { mDescription = description; }
503 
513  QString help() const { return mHelp; }
514 
524  void setHelp( const QString &help ) { mHelp = help; }
525 
532  QVariant defaultValue() const { return mDefault; }
533 
540  void setDefaultValue( const QVariant &value ) { mDefault = value; }
541 
554  QVariant guiDefaultValueOverride() const;
555 
571  void setGuiDefaultValueOverride( const QVariant &value ) { mGuiDefault = value; }
572 
581  QVariant defaultValueForGui() const;
582 
587  Qgis::ProcessingParameterFlags flags() const { return mFlags; }
588 
593  void setFlags( Qgis::ProcessingParameterFlags flags ) { mFlags = flags; }
594 
602  virtual bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const;
603 
611  virtual QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const;
612 
624  virtual QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const;
625 
639  virtual QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const;
640 
654  virtual QStringList valueAsStringList( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const;
655 
661  virtual QString valueAsPythonComment( const QVariant &value, QgsProcessingContext &context ) const;
662 
667  virtual QString asScriptCode() const;
668 
679 
685  virtual QVariantMap toVariantMap() const;
686 
692  virtual bool fromVariantMap( const QVariantMap &map );
693 
700  SIP_SKIP QVariantMap metadata() const { return mMetadata; }
701 
707  QVariantMap &metadata() { return mMetadata; }
708 
714  void setMetadata( const QVariantMap &metadata ) { mMetadata = metadata; }
715 
720  virtual QStringList dependsOnOtherParameters() const { return QStringList(); }
721 
728 
734  QgsProcessingProvider *provider() const;
735 
740  virtual QString toolTip() const;
741 
749  bool isDynamic() const { return mIsDynamic; }
750 
758  void setIsDynamic( bool dynamic ) { mIsDynamic = dynamic; }
759 
766  QgsPropertyDefinition dynamicPropertyDefinition() const { return mPropertyDefinition; }
767 
774  void setDynamicPropertyDefinition( const QgsPropertyDefinition &definition ) { mPropertyDefinition = definition; }
775 
787  QString dynamicLayerParameterName() const { return mDynamicLayerParameterName; }
788 
800  void setDynamicLayerParameterName( const QString &name ) { mDynamicLayerParameterName = name; }
801 
815  QStringList additionalExpressionContextVariables() const { return mAdditionalExpressionVariables; }
816 
834  void setAdditionalExpressionContextVariables( const QStringList &variables ) { mAdditionalExpressionVariables = variables; }
835 
836 #ifndef SIP_RUN
837 
845  enum class ValueAsStringFlag : int
846  {
847  AllowMapLayerValues = 1 << 0,
848  };
850 #endif
851 
852  protected:
853 
854 #ifndef SIP_RUN
855 
862  QString valueAsStringPrivate( const QVariant &value, QgsProcessingContext &context, bool &ok, ValueAsStringFlags flags ) const;
863 
870  QVariant valueAsJsonObjectPrivate( const QVariant &value, QgsProcessingContext &context, ValueAsStringFlags flags ) const;
871 #endif
872 
879  QVariant defaultGuiValueFromSetting() const;
880 
882  QString mName;
883 
885  QString mDescription;
886 
888  QString mHelp;
889 
891  QVariant mDefault;
892 
894  QVariant mGuiDefault;
895 
898 
900  QVariantMap mMetadata;
901 
903  QgsProcessingAlgorithm *mAlgorithm = nullptr;
904 
906  bool mIsDynamic = false;
907 
910 
913 
916 
917  // To allow access to mAlgorithm. We don't want a public setter for this!
919 
920 };
921 
922 #ifndef SIP_RUN
924 #endif
925 
927 typedef QList< const QgsProcessingParameterDefinition * > QgsProcessingParameterDefinitions;
928 
946 class CORE_EXPORT QgsProcessingParameters
947 {
948 
949  public:
950 
955  static bool isDynamic( const QVariantMap &parameters, const QString &name );
956 
960  static QString parameterAsString( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
961 
966  static QString parameterAsString( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
967 
971  static QString parameterAsExpression( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
972 
977  static QString parameterAsExpression( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
978 
982  static double parameterAsDouble( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
983 
988  static double parameterAsDouble( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
989 
993  static int parameterAsInt( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
994 
999  static int parameterAsInt( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1000 
1005  static QList<int> parameterAsInts( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1006 
1011  static QList<int> parameterAsInts( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1012 
1021  static QDateTime parameterAsDateTime( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1022 
1031  static QDateTime parameterAsDateTime( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1032 
1041  static QDate parameterAsDate( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1042 
1051  static QDate parameterAsDate( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1052 
1061  static QTime parameterAsTime( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1062 
1071  static QTime parameterAsTime( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1072 
1076  static int parameterAsEnum( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1077 
1082  static int parameterAsEnum( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1083 
1087  static QList<int> parameterAsEnums( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1088 
1093  static QList<int> parameterAsEnums( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1094 
1099  static QString parameterAsEnumString( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1100 
1105  static QString parameterAsEnumString( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1106 
1111  static QStringList parameterAsEnumStrings( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1112 
1117  static QStringList parameterAsEnumStrings( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1118 
1122  static bool parameterAsBool( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1123 
1129  static bool parameterAsBoolean( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1130 
1135  static bool parameterAsBool( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1136 
1141  static bool parameterAsBoolean( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1142 
1160  static QgsFeatureSink *parameterAsSink( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters,
1161  const QgsFields &fields, Qgis::WkbType geometryType, const QgsCoordinateReferenceSystem &crs,
1162  QgsProcessingContext &context, QString &destinationIdentifier SIP_OUT, QgsFeatureSink::SinkFlags sinkFlags = QgsFeatureSink::SinkFlags(), const QVariantMap &createOptions = QVariantMap(), const QStringList &datasourceOptions = QStringList(), const QStringList &layerOptions = QStringList() ) SIP_FACTORY;
1163 
1183  static QgsFeatureSink *parameterAsSink( const QgsProcessingParameterDefinition *definition, const QVariant &value,
1184  const QgsFields &fields, Qgis::WkbType geometryType, const QgsCoordinateReferenceSystem &crs,
1185  QgsProcessingContext &context, QString &destinationIdentifier SIP_OUT, QgsFeatureSink::SinkFlags sinkFlags = QgsFeatureSink::SinkFlags(), const QVariantMap &createOptions = QVariantMap(), const QStringList &datasourceOptions = QStringList(), const QStringList &layerOptions = QStringList() ) SIP_THROW( QgsProcessingException ) SIP_FACTORY;
1186 
1195  static QgsProcessingFeatureSource *parameterAsSource( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context ) SIP_FACTORY;
1196 
1207  static QgsProcessingFeatureSource *parameterAsSource( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context ) SIP_FACTORY;
1208 
1224  static QString parameterAsCompatibleSourceLayerPath( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters,
1225  QgsProcessingContext &context, const QStringList &compatibleFormats, const QString &preferredFormat = QString( "shp" ), QgsProcessingFeedback *feedback = nullptr );
1226 
1256  static QString parameterAsCompatibleSourceLayerPathAndLayerName( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters,
1257  QgsProcessingContext &context, const QStringList &compatibleFormats, const QString &preferredFormat = QString( "shp" ), QgsProcessingFeedback *feedback = nullptr, QString *layerName SIP_OUT = nullptr );
1258 
1267 
1278 
1286  static QgsRasterLayer *parameterAsRasterLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1287 
1297  static QgsRasterLayer *parameterAsRasterLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1298 
1302  static QString parameterAsOutputLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1303 
1308  static QString parameterAsOutputLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1309 
1313  static QString parameterAsFileOutput( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1314 
1319  static QString parameterAsFileOutput( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1320 
1328  static QgsVectorLayer *parameterAsVectorLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1329 
1339  static QgsVectorLayer *parameterAsVectorLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1340 
1350  static QgsMeshLayer *parameterAsMeshLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1351 
1361  static QgsMeshLayer *parameterAsMeshLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1362 
1366  static QgsCoordinateReferenceSystem parameterAsCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1367 
1372  static QgsCoordinateReferenceSystem parameterAsCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1373 
1383  static QgsRectangle parameterAsExtent( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context,
1385 
1397  static QgsRectangle parameterAsExtent( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context,
1399 
1411  static QgsGeometry parameterAsExtentGeometry( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context,
1413 
1419  static QgsCoordinateReferenceSystem parameterAsExtentCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1420 
1426  static QgsCoordinateReferenceSystem parameterAsExtentCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1427 
1428 
1436  static QgsPointXY parameterAsPoint( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context,
1438 
1447  static QgsPointXY parameterAsPoint( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context,
1449 
1455  static QgsCoordinateReferenceSystem parameterAsPointCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1456 
1463  static QgsCoordinateReferenceSystem parameterAsPointCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1464 
1470  static QgsGeometry parameterAsGeometry( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem() );
1471 
1477  static QgsGeometry parameterAsGeometry( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem() );
1478 
1485  static QgsCoordinateReferenceSystem parameterAsGeometryCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1486 
1493  static QgsCoordinateReferenceSystem parameterAsGeometryCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1494 
1498  static QString parameterAsFile( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1499 
1504  static QString parameterAsFile( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1505 
1510  static QVariantList parameterAsMatrix( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1511 
1517  static QVariantList parameterAsMatrix( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1518 
1523  static QList< QgsMapLayer *> parameterAsLayerList( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsProcessing::LayerOptionsFlags flags = QgsProcessing::LayerOptionsFlags() );
1524 
1530  static QList< QgsMapLayer *> parameterAsLayerList( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, QgsProcessing::LayerOptionsFlags flags = QgsProcessing::LayerOptionsFlags() );
1531 
1537  static QStringList parameterAsFileList( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1538 
1544  static QStringList parameterAsFileList( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1545 
1549  static QList<double> parameterAsRange( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1550 
1555  static QList<double> parameterAsRange( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1556 
1562  Q_DECL_DEPRECATED static QStringList parameterAsFields( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context ) SIP_DEPRECATED;
1563 
1570  Q_DECL_DEPRECATED static QStringList parameterAsFields( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context ) SIP_DEPRECATED;
1571 
1577  static QStringList parameterAsStrings( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1578 
1584  static QStringList parameterAsStrings( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1585 
1594  static QgsPrintLayout *parameterAsLayout( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1595 
1604  static QgsPrintLayout *parameterAsLayout( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1605 
1614  static QgsLayoutItem *parameterAsLayoutItem( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsPrintLayout *layout );
1615 
1624  static QgsLayoutItem *parameterAsLayoutItem( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, QgsPrintLayout *layout );
1625 
1631  static QColor parameterAsColor( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1632 
1638  static QColor parameterAsColor( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1639 
1645  static QString parameterAsConnectionName( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1646 
1652  static QString parameterAsConnectionName( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1653 
1659  static QString parameterAsSchema( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1660 
1666  static QString parameterAsSchema( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1667 
1673  static QString parameterAsDatabaseTableName( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1674 
1680  static QString parameterAsDatabaseTableName( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1681 
1692  static QgsPointCloudLayer *parameterAsPointCloudLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsProcessing::LayerOptionsFlags flags = QgsProcessing::LayerOptionsFlags() );
1693 
1704  static QgsPointCloudLayer *parameterAsPointCloudLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, QgsProcessing::LayerOptionsFlags flags = QgsProcessing::LayerOptionsFlags() );
1705 
1719  static QgsAnnotationLayer *parameterAsAnnotationLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1720 
1734  static QgsAnnotationLayer *parameterAsAnnotationLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1735 
1741  static QgsProcessingParameterDefinition *parameterFromVariantMap( const QVariantMap &map ) SIP_FACTORY;
1742 
1746  static QString descriptionFromName( const QString &name );
1747 
1753  static QgsProcessingParameterDefinition *parameterFromScriptCode( const QString &code ) SIP_FACTORY;
1754 
1755  private:
1756 
1757  static bool parseScriptCodeParameterOptions( const QString &code, bool &isOptional, QString &name, QString &type, QString &definition );
1758 };
1759 
1760 
1761 
1768 {
1769  public:
1770 
1774  QgsProcessingParameterBoolean( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1775  bool optional = false );
1776 
1780  static QString typeName() { return QStringLiteral( "boolean" ); }
1781  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1782  QString type() const override { return typeName(); }
1783  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1784  QString asScriptCode() const override;
1785 
1789  static QgsProcessingParameterBoolean *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1790 };
1791 
1798 {
1799  public:
1800 
1804  QgsProcessingParameterCrs( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1805  bool optional = false );
1806 
1810  static QString typeName() { return QStringLiteral( "crs" ); }
1811  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1812  QString type() const override { return typeName(); }
1813  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1814  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1815  QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
1816  QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
1817 
1821  static QgsProcessingParameterCrs *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1822 
1823 };
1824 
1831 {
1832  public:
1833 
1837  QgsProcessingParameterExtent( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1838  bool optional = false );
1839 
1843  static QString typeName() { return QStringLiteral( "extent" ); }
1844  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1845  QString type() const override { return typeName(); }
1846  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1847  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1848  QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
1849  QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
1850 
1854  static QgsProcessingParameterExtent *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1855 
1856 };
1857 
1858 
1865 {
1866  public:
1867 
1871  QgsProcessingParameterPoint( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1872  bool optional = false );
1873 
1877  static QString typeName() { return QStringLiteral( "point" ); }
1878  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1879  QString type() const override { return typeName(); }
1880  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1881  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1882 
1886  static QgsProcessingParameterPoint *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1887 
1888 };
1889 
1897 {
1898  public:
1899 
1907  QgsProcessingParameterGeometry( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false, const QList< int > &geometryTypes = QList< int >(), bool allowMultipart = true );
1908 
1912  static QString typeName() { return QStringLiteral( "geometry" ); }
1913  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1914  QString type() const override { return typeName(); }
1915  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1916  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1917  QString asScriptCode() const override;
1919  QVariantMap toVariantMap() const override;
1920  bool fromVariantMap( const QVariantMap &map ) override;
1921 
1926  QList<int> geometryTypes() const { return mGeomTypes; }
1927 
1932  void setGeometryTypes( const QList<int> &geometryTypes ) { mGeomTypes = geometryTypes; }
1933 
1938  bool allowMultipart() const { return mAllowMultipart; }
1939 
1944  void setAllowMultipart( bool allowMultipart ) { mAllowMultipart = allowMultipart; }
1945 
1946 
1947 
1951  static QgsProcessingParameterGeometry *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1952 
1953  private:
1954 
1955  QList<int> mGeomTypes;
1956  bool mAllowMultipart;
1957 
1958 };
1959 
1966 {
1967  public:
1968 
1976  QgsProcessingParameterFile( const QString &name, const QString &description = QString(), Qgis::ProcessingFileParameterBehavior behavior = Qgis::ProcessingFileParameterBehavior::File, const QString &extension = QString(), const QVariant &defaultValue = QVariant(),
1977  bool optional = false, const QString &fileFilter = QString() );
1978 
1982  static QString typeName() { return QStringLiteral( "file" ); }
1983  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1984  QString type() const override { return typeName(); }
1985  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1986  QString asScriptCode() const override;
1988  QString createFileFilter() const override;
1989 
1994  Qgis::ProcessingFileParameterBehavior behavior() const { return mBehavior; }
1995 
2000  void setBehavior( Qgis::ProcessingFileParameterBehavior behavior ) { mBehavior = behavior; }
2001 
2009  QString extension() const { return mExtension; }
2010 
2020  void setExtension( const QString &extension );
2021 
2028  QString fileFilter() const;
2029 
2039  void setFileFilter( const QString &filter );
2040 
2041  QVariantMap toVariantMap() const override;
2042  bool fromVariantMap( const QVariantMap &map ) override;
2043 
2047  static QgsProcessingParameterFile *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition, Qgis::ProcessingFileParameterBehavior behavior = Qgis::ProcessingFileParameterBehavior::File ) SIP_FACTORY;
2048 
2049  private:
2050 
2052  QString mExtension;
2053  QString mFileFilter;
2054 };
2055 
2062 {
2063  public:
2064 
2068  QgsProcessingParameterMatrix( const QString &name, const QString &description = QString(), int numberRows = 3,
2069  bool hasFixedNumberRows = false, const QStringList &headers = QStringList(),
2070  const QVariant &defaultValue = QVariant(),
2071  bool optional = false );
2072 
2076  static QString typeName() { return QStringLiteral( "matrix" ); }
2077  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2078  QString type() const override { return typeName(); }
2079  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2080  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2082 
2087  QStringList headers() const;
2088 
2093  void setHeaders( const QStringList &headers );
2094 
2101  int numberRows() const;
2102 
2109  void setNumberRows( int rows );
2110 
2116  bool hasFixedNumberRows() const;
2117 
2123  void setHasFixedNumberRows( bool hasFixedNumberRows );
2124 
2125  QVariantMap toVariantMap() const override;
2126  bool fromVariantMap( const QVariantMap &map ) override;
2127 
2131  static QgsProcessingParameterMatrix *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2132 
2133  private:
2134 
2135  QStringList mHeaders;
2136  int mNumberRows = 3;
2137  bool mFixedNumberRows = false;
2138 
2139 };
2140 
2147 {
2148  public:
2149 
2153  QgsProcessingParameterMultipleLayers( const QString &name, const QString &description = QString(), Qgis::ProcessingSourceType layerType = Qgis::ProcessingSourceType::VectorAnyGeometry,
2154  const QVariant &defaultValue = QVariant(),
2155  bool optional = false );
2156 
2160  static QString typeName() { return QStringLiteral( "multilayer" ); }
2161  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2162  QString type() const override { return typeName(); }
2163  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2164  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2165  QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2166  QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2167  QString asScriptCode() const override;
2169  QString createFileFilter() const override;
2170 
2175  Qgis::ProcessingSourceType layerType() const;
2176 
2181  void setLayerType( Qgis::ProcessingSourceType type );
2182 
2188  int minimumNumberInputs() const;
2189 
2195  void setMinimumNumberInputs( int minimum );
2196 
2197  QVariantMap toVariantMap() const override;
2198  bool fromVariantMap( const QVariantMap &map ) override;
2199 
2203  static QgsProcessingParameterMultipleLayers *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2204 
2205  private:
2206 
2208  int mMinimumNumberInputs = 0;
2209 
2210 };
2211 
2230 {
2231  public:
2232 
2236  explicit QgsProcessingParameterNumber( const QString &name, const QString &description = QString(),
2238  const QVariant &defaultValue = QVariant(),
2239  bool optional = false,
2240  double minValue = std::numeric_limits<double>::lowest() + 1,
2241  double maxValue = std::numeric_limits<double>::max()
2242  );
2243 
2247  static QString typeName() { return QStringLiteral( "number" ); }
2248  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2249  QString type() const override { return typeName(); }
2250  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2251  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2252  QString toolTip() const override;
2254 
2259  double minimum() const;
2260 
2265  void setMinimum( double minimum );
2266 
2271  double maximum() const;
2272 
2277  void setMaximum( double maximum );
2278 
2283  Qgis::ProcessingNumberParameterType dataType() const;
2284 
2289  void setDataType( Qgis::ProcessingNumberParameterType type );
2290 
2291  QVariantMap toVariantMap() const override;
2292  bool fromVariantMap( const QVariantMap &map ) override;
2293 
2297  static QgsProcessingParameterNumber *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2298 
2299  private:
2300 
2301  double mMin = std::numeric_limits<double>::lowest() + 1;
2302  double mMax = std::numeric_limits<double>::max();
2304 };
2305 
2326 {
2327  public:
2328 
2332  explicit QgsProcessingParameterDistance( const QString &name, const QString &description = QString(),
2333  const QVariant &defaultValue = QVariant(),
2334  const QString &parentParameterName = QString(),
2335  bool optional = false,
2336  double minValue = std::numeric_limits<double>::lowest() + 1,
2337  double maxValue = std::numeric_limits<double>::max() );
2338 
2342  static QString typeName() { return QStringLiteral( "distance" ); }
2343 
2344  QgsProcessingParameterDistance *clone() const override SIP_FACTORY;
2345 
2346  QString type() const override;
2347  QStringList dependsOnOtherParameters() const override;
2348  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2349 
2354  QString parentParameterName() const;
2355 
2360  void setParentParameterName( const QString &parentParameterName );
2361 
2368  Qgis::DistanceUnit defaultUnit() const { return mDefaultUnit; }
2369 
2376  void setDefaultUnit( Qgis::DistanceUnit unit ) { mDefaultUnit = unit; }
2377 
2378  QVariantMap toVariantMap() const override;
2379  bool fromVariantMap( const QVariantMap &map ) override;
2380 
2381  private:
2382 
2383  QString mParentParameterName;
2385 
2386 };
2387 
2396 {
2397  public:
2398 
2402  explicit QgsProcessingParameterDuration( const QString &name, const QString &description = QString(),
2403  const QVariant &defaultValue = QVariant(),
2404  bool optional = false,
2405  double minValue = std::numeric_limits<double>::lowest() + 1,
2406  double maxValue = std::numeric_limits<double>::max() );
2407 
2411  static QString typeName() { return QStringLiteral( "duration" ); }
2412 
2413  QgsProcessingParameterDuration *clone() const override SIP_FACTORY;
2414 
2415  QString type() const override;
2416  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2417 
2423  Qgis::TemporalUnit defaultUnit() const { return mDefaultUnit; }
2424 
2430  void setDefaultUnit( Qgis::TemporalUnit unit ) { mDefaultUnit = unit; }
2431 
2432  QVariantMap toVariantMap() const override;
2433  bool fromVariantMap( const QVariantMap &map ) override;
2434 
2435  private:
2436 
2438 
2439 };
2440 
2452 {
2453  public:
2454 
2458  explicit QgsProcessingParameterScale( const QString &name, const QString &description = QString(),
2459  const QVariant &defaultValue = QVariant(),
2460  bool optional = false );
2461 
2465  static QString typeName() { return QStringLiteral( "scale" ); }
2466 
2467  QgsProcessingParameterScale *clone() const override SIP_FACTORY;
2468 
2469  QString type() const override;
2470  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
2471 
2475  static QgsProcessingParameterScale *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2476 
2477 };
2478 
2485 {
2486  public:
2487 
2491  QgsProcessingParameterRange( const QString &name, const QString &description = QString(),
2493  const QVariant &defaultValue = QVariant(),
2494  bool optional = false );
2495 
2499  static QString typeName() { return QStringLiteral( "range" ); }
2500  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2501  QString type() const override { return typeName(); }
2502  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2503  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2505 
2510  Qgis::ProcessingNumberParameterType dataType() const;
2511 
2516  void setDataType( Qgis::ProcessingNumberParameterType dataType );
2517 
2518  QVariantMap toVariantMap() const override;
2519  bool fromVariantMap( const QVariantMap &map ) override;
2520 
2524  static QgsProcessingParameterRange *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2525 
2526  private:
2527 
2529 };
2530 
2537 {
2538  public:
2539 
2543  QgsProcessingParameterRasterLayer( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2544  bool optional = false );
2545 
2549  static QString typeName() { return QStringLiteral( "raster" ); }
2550  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2551  QString type() const override { return typeName(); }
2552  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2553  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2554  QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2555  QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2556  QString createFileFilter() const override;
2557 
2561  static QgsProcessingParameterRasterLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2562 
2563 };
2564 
2583 {
2584  public:
2585 
2589  QgsProcessingParameterEnum( const QString &name, const QString &description = QString(), const QStringList &options = QStringList(),
2590  bool allowMultiple = false,
2591  const QVariant &defaultValue = QVariant(),
2592  bool optional = false,
2593  bool usesStaticStrings = false );
2594 
2598  static QString typeName() { return QStringLiteral( "enum" ); }
2599  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2600  QString type() const override { return typeName(); }
2601  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2602  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2603  QString valueAsPythonComment( const QVariant &value, QgsProcessingContext &context ) const override;
2604  QString asScriptCode() const override;
2606 
2611  QStringList options() const;
2612 
2617  void setOptions( const QStringList &options );
2618 
2623  bool allowMultiple() const;
2624 
2629  void setAllowMultiple( bool allowMultiple );
2630 
2637  bool usesStaticStrings() const;
2638 
2645  void setUsesStaticStrings( bool usesStaticStrings );
2646 
2647  QVariantMap toVariantMap() const override;
2648  bool fromVariantMap( const QVariantMap &map ) override;
2649 
2653  static QgsProcessingParameterEnum *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2654 
2655  private:
2656 
2657  QStringList mOptions;
2658  bool mAllowMultiple = false;
2659  bool mUsesStaticStrings = false;
2660 };
2661 
2689 {
2690  public:
2691 
2695  QgsProcessingParameterString( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2696  bool multiLine = false,
2697  bool optional = false );
2698 
2702  static QString typeName() { return QStringLiteral( "string" ); }
2703  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2704  QString type() const override { return typeName(); }
2705  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2706  QString asScriptCode() const override;
2708 
2713  bool multiLine() const;
2714 
2719  void setMultiLine( bool multiLine );
2720 
2721  QVariantMap toVariantMap() const override;
2722  bool fromVariantMap( const QVariantMap &map ) override;
2723 
2727  static QgsProcessingParameterString *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2728 
2729  private:
2730 
2731  bool mMultiLine = false;
2732 
2733 };
2734 
2735 
2749 {
2750  public:
2751 
2755  QgsProcessingParameterAuthConfig( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2756  bool optional = false );
2757 
2761  static QString typeName() { return QStringLiteral( "authcfg" ); }
2762  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2763  QString type() const override { return typeName(); }
2764  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2765  QString asScriptCode() const override;
2766 
2770  static QgsProcessingParameterAuthConfig *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2771 
2772 };
2773 
2780 {
2781  public:
2782 
2786  QgsProcessingParameterExpression( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2787  const QString &parentLayerParameterName = QString(),
2788  bool optional = false, Qgis::ExpressionType type = Qgis::ExpressionType::Qgis );
2789 
2793  static QString typeName() { return QStringLiteral( "expression" ); }
2794  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2795  QString type() const override { return typeName(); }
2796  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2797  QStringList dependsOnOtherParameters() const override;
2799 
2804  QString parentLayerParameterName() const;
2805 
2810  void setParentLayerParameterName( const QString &parentLayerParameterName );
2811 
2818  Qgis::ExpressionType expressionType() const;
2819 
2826  void setExpressionType( Qgis::ExpressionType type );
2827 
2828  QVariantMap toVariantMap() const override;
2829  bool fromVariantMap( const QVariantMap &map ) override;
2830 
2834  static QgsProcessingParameterExpression *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2835 
2836  private:
2837 
2838  QString mParentLayerParameterName;
2840 };
2841 
2842 
2849 {
2850  public:
2851 
2855  QgsProcessingParameterLimitedDataTypes( const QList< int > &types = QList< int >() );
2856 
2861  QList< int > dataTypes() const;
2862 
2867  void setDataTypes( const QList< int > &types );
2868 
2869  protected:
2870 
2872  QList< int > mDataTypes;
2873 };
2874 
2882 {
2883  public:
2884 
2888  QgsProcessingParameterVectorLayer( const QString &name,
2889  const QString &description = QString(),
2890  const QList< int > &types = QList< int >(),
2891  const QVariant &defaultValue = QVariant(),
2892  bool optional = false );
2893 
2897  static QString typeName() { return QStringLiteral( "vector" ); }
2898  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2899  QString type() const override { return typeName(); }
2900  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2901  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2902  QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2903  QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2905  QString createFileFilter() const override;
2906 
2907  QVariantMap toVariantMap() const override;
2908  bool fromVariantMap( const QVariantMap &map ) override;
2909 
2913  static QgsProcessingParameterVectorLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2914 
2915 };
2916 
2924 {
2925  public:
2926 
2930  QgsProcessingParameterMeshLayer( const QString &name,
2931  const QString &description = QString(),
2932  const QVariant &defaultValue = QVariant(),
2933  bool optional = false );
2934 
2938  static QString typeName() { return QStringLiteral( "mesh" ); }
2939  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2940  QString type() const override { return typeName(); }
2941  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2942  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2943  QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2944  QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2945  QString createFileFilter() const override;
2946 
2950  static QgsProcessingParameterMeshLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2951 };
2952 
2959 {
2960  public:
2961 
2965  QgsProcessingParameterMapLayer( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2966  bool optional = false,
2967  const QList< int > &types = QList< int >() );
2968 
2972  static QString typeName() { return QStringLiteral( "layer" ); }
2973  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2974  QString type() const override { return typeName(); }
2975  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2976  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2977  QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
2978  QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
2979  QString asScriptCode() const override;
2981  QString createFileFilter() const override;
2982 
2983  QVariantMap toVariantMap() const override;
2984  bool fromVariantMap( const QVariantMap &map ) override;
2985 
2989  static QgsProcessingParameterMapLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2990 
2991 };
2992 
2999 {
3000  public:
3001 
3005  QgsProcessingParameterField( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3006  const QString &parentLayerParameterName = QString(),
3008  bool allowMultiple = false,
3009  bool optional = false,
3010  bool defaultToAllFields = false );
3011 
3015  static QString typeName() { return QStringLiteral( "field" ); }
3016  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3017  QString type() const override { return typeName(); }
3018  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3019  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3020  QString asScriptCode() const override;
3022  QStringList dependsOnOtherParameters() const override;
3023 
3028  QString parentLayerParameterName() const;
3029 
3034  void setParentLayerParameterName( const QString &parentLayerParameterName );
3035 
3040  Qgis::ProcessingFieldParameterDataType dataType() const;
3041 
3046  void setDataType( Qgis::ProcessingFieldParameterDataType type );
3047 
3052  bool allowMultiple() const;
3053 
3058  void setAllowMultiple( bool allowMultiple );
3059 
3069  bool defaultToAllFields() const;
3070 
3080  void setDefaultToAllFields( bool enabled );
3081 
3082  QVariantMap toVariantMap() const override;
3083  bool fromVariantMap( const QVariantMap &map ) override;
3084 
3088  static QgsProcessingParameterField *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3089 
3090  private:
3091 
3092  QString mParentLayerParameterName;
3094  bool mAllowMultiple = false;
3095  bool mDefaultToAllFields = false;
3096 
3097 };
3098 
3099 
3106 {
3107  public:
3108 
3112  QgsProcessingParameterFeatureSource( const QString &name, const QString &description = QString(),
3113  const QList< int > &types = QList< int >(),
3114  const QVariant &defaultValue = QVariant(), bool optional = false );
3115 
3119  static QString typeName() { return QStringLiteral( "source" ); }
3120  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3121  QString type() const override { return typeName(); }
3122  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3123  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3124  QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
3125  QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
3126  QString asScriptCode() const override;
3128  QString createFileFilter() const override;
3129 
3130  QVariantMap toVariantMap() const override;
3131  bool fromVariantMap( const QVariantMap &map ) override;
3132 
3136  static QgsProcessingParameterFeatureSource *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3137 
3138 };
3139 
3147 {
3148  public:
3149 
3156  QgsProcessingDestinationParameter( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3157  bool optional = false, bool createByDefault = true );
3158 
3159  bool isDestination() const override { return true; }
3160  QVariantMap toVariantMap() const override;
3161  bool fromVariantMap( const QVariantMap &map ) override;
3163  QString createFileFilter() const override;
3164 
3170 
3176  bool supportsNonFileBasedOutput() const { return mSupportsNonFileBasedOutputs; }
3177 
3183  void setSupportsNonFileBasedOutput( bool supportsNonFileBasedOutput ) { mSupportsNonFileBasedOutputs = supportsNonFileBasedOutput; }
3184 
3189  virtual QString defaultFileExtension() const = 0;
3190 
3196  virtual QString generateTemporaryDestination( const QgsProcessingContext *context = nullptr ) const;
3197 
3212  virtual bool isSupportedOutputValue( const QVariant &value, QgsProcessingContext &context, QString &error SIP_OUT ) const;
3213 
3219  bool createByDefault() const;
3220 
3226  void setCreateByDefault( bool createByDefault );
3227 
3228  protected:
3229 
3238  QgsProcessingProvider *originalProvider() const { return mOriginalProvider; }
3239 
3240  private:
3241 
3249  QgsProcessingProvider *mOriginalProvider = nullptr;
3250 
3251  bool mSupportsNonFileBasedOutputs = true;
3252  bool mCreateByDefault = true;
3253 
3254  friend class QgsProcessingModelAlgorithm;
3255  friend class TestQgsProcessing;
3256  friend class TestQgsProcessingModelAlgorithm;
3257 };
3258 
3259 
3268 {
3269  public:
3270 
3277  QgsProcessingParameterFeatureSink( const QString &name, const QString &description = QString(), Qgis::ProcessingSourceType type = Qgis::ProcessingSourceType::VectorAnyGeometry, const QVariant &defaultValue = QVariant(),
3278  bool optional = false, bool createByDefault = true, bool supportsAppend = false );
3279 
3283  static QString typeName() { return QStringLiteral( "sink" ); }
3284  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3285  QString type() const override { return typeName(); }
3286  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3287  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3288  QString asScriptCode() const override;
3289  QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3290  QString defaultFileExtension() const override;
3291  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
3292  QString createFileFilter() const override;
3293 
3299  virtual QStringList supportedOutputVectorLayerExtensions() const;
3300 
3305  Qgis::ProcessingSourceType dataType() const;
3306 
3311  bool hasGeometry() const;
3312 
3317  void setDataType( Qgis::ProcessingSourceType type );
3318 
3327  bool supportsAppend() const;
3328 
3337  void setSupportsAppend( bool supportsAppend );
3338 
3339  QVariantMap toVariantMap() const override;
3340  bool fromVariantMap( const QVariantMap &map ) override;
3341  QString generateTemporaryDestination( const QgsProcessingContext *context = nullptr ) const override;
3342 
3346  static QgsProcessingParameterFeatureSink *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3347 
3348  private:
3349 
3350  Qgis::ProcessingSourceType mDataType = Qgis::ProcessingSourceType::VectorAnyGeometry;
3351  bool mSupportsAppend = false;
3352 };
3353 
3354 
3365 {
3366  public:
3367 
3374  QgsProcessingParameterVectorDestination( const QString &name, const QString &description = QString(), Qgis::ProcessingSourceType type = Qgis::ProcessingSourceType::VectorAnyGeometry, const QVariant &defaultValue = QVariant(),
3375  bool optional = false, bool createByDefault = true );
3376 
3380  static QString typeName() { return QStringLiteral( "vectorDestination" ); }
3381  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3382  QString type() const override { return typeName(); }
3383  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3384  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3385  QString asScriptCode() const override;
3386  QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3387  QString defaultFileExtension() const override;
3388  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
3389  QString createFileFilter() const override;
3390 
3396  virtual QStringList supportedOutputVectorLayerExtensions() const;
3397 
3402  Qgis::ProcessingSourceType dataType() const;
3403 
3408  bool hasGeometry() const;
3409 
3414  void setDataType( Qgis::ProcessingSourceType type );
3415 
3416  QVariantMap toVariantMap() const override;
3417  bool fromVariantMap( const QVariantMap &map ) override;
3418 
3422  static QgsProcessingParameterVectorDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3423 
3424 
3425  private:
3426 
3427  Qgis::ProcessingSourceType mDataType = Qgis::ProcessingSourceType::VectorAnyGeometry;
3428 };
3429 
3437 {
3438  public:
3439 
3446  QgsProcessingParameterRasterDestination( const QString &name, const QString &description = QString(),
3447  const QVariant &defaultValue = QVariant(),
3448  bool optional = false,
3449  bool createByDefault = true );
3450 
3454  static QString typeName() { return QStringLiteral( "rasterDestination" ); }
3455  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3456  QString type() const override { return typeName(); }
3457  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3458  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3459  QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3460  QString defaultFileExtension() const override;
3461  QString createFileFilter() const override;
3462 
3468  virtual QStringList supportedOutputRasterLayerExtensions() const;
3469 
3473  static QgsProcessingParameterRasterDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3474 };
3475 
3497 {
3498  public:
3499 
3506  QgsProcessingParameterFileDestination( const QString &name, const QString &description = QString(),
3507  const QString &fileFilter = QString(),
3508  const QVariant &defaultValue = QVariant(),
3509  bool optional = false,
3510  bool createByDefault = true );
3511 
3515  static QString typeName() { return QStringLiteral( "fileDestination" ); }
3516  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3517  QString type() const override { return typeName(); }
3518  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3519  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3520  QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3521  QString defaultFileExtension() const override;
3522  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass ) const override;
3523  QString createFileFilter() const override;
3524 
3529  QString fileFilter() const;
3530 
3535  void setFileFilter( const QString &filter );
3536 
3537  QVariantMap toVariantMap() const override;
3538  bool fromVariantMap( const QVariantMap &map ) override;
3539 
3543  static QgsProcessingParameterFileDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3544 
3545 
3546  private:
3547 
3548  QString mFileFilter;
3549 };
3550 
3558 {
3559  public:
3560 
3564  QgsProcessingParameterFolderDestination( const QString &name, const QString &description = QString(),
3565  const QVariant &defaultValue = QVariant(),
3566  bool optional = false,
3567  bool createByDefault = true );
3568 
3572  static QString typeName() { return QStringLiteral( "folderDestination" ); }
3573  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3574  QString type() const override { return typeName(); }
3575  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3576  QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3577  QString defaultFileExtension() const override;
3578 
3582  static QgsProcessingParameterFolderDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3583 
3584 };
3585 
3592 {
3593  public:
3594 
3598  QgsProcessingParameterBand( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3599  const QString &parentLayerParameterName = QString(),
3600  bool optional = false,
3601  bool allowMultiple = false );
3602 
3606  static QString typeName() { return QStringLiteral( "band" ); }
3607  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3608  QString type() const override { return typeName(); }
3609  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3610  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3611  QString asScriptCode() const override;
3612  QStringList dependsOnOtherParameters() const override;
3614 
3619  QString parentLayerParameterName() const;
3620 
3625  void setParentLayerParameterName( const QString &parentLayerParameterName );
3626 
3627  QVariantMap toVariantMap() const override;
3628  bool fromVariantMap( const QVariantMap &map ) override;
3629 
3633  static QgsProcessingParameterBand *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3634 
3640  bool allowMultiple() const;
3641 
3647  void setAllowMultiple( bool allowMultiple );
3648 
3649  private:
3650 
3651  QString mParentLayerParameterName;
3652  bool mAllowMultiple = false;
3653 };
3654 
3667 {
3668  public:
3669 
3673  QgsProcessingParameterLayout( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3674  bool optional = false );
3675 
3679  static QString typeName() { return QStringLiteral( "layout" ); }
3680  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3681  QString type() const override { return typeName(); }
3682  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3683  QString asScriptCode() const override;
3685 
3689  static QgsProcessingParameterLayout *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3690 
3691 };
3692 
3705 {
3706  public:
3707 
3711  QgsProcessingParameterLayoutItem( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3712  const QString &parentLayoutParameterName = QString(),
3713  int itemType = -1,
3714  bool optional = false );
3715 
3719  static QString typeName() { return QStringLiteral( "layoutitem" ); }
3720  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3721  QString type() const override { return typeName(); }
3722  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3723  QString asScriptCode() const override;
3725  QVariantMap toVariantMap() const override;
3726  bool fromVariantMap( const QVariantMap &map ) override;
3727  QStringList dependsOnOtherParameters() const override;
3728 
3732  static QgsProcessingParameterLayoutItem *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3733 
3738  QString parentLayoutParameterName() const;
3739 
3744  void setParentLayoutParameterName( const QString &name );
3745 
3753  int itemType() const;
3754 
3762  void setItemType( int type );
3763 
3764  private:
3765  QString mParentLayoutParameterName;
3766  int mItemType = -1;
3767 };
3768 
3779 {
3780  public:
3781 
3787  QgsProcessingParameterColor( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3788  bool opacityEnabled = true,
3789  bool optional = false );
3790 
3794  static QString typeName() { return QStringLiteral( "color" ); }
3795  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3796  QString type() const override { return typeName(); }
3797  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3798  QString asScriptCode() const override;
3800  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3801  QVariantMap toVariantMap() const override;
3802  bool fromVariantMap( const QVariantMap &map ) override;
3803 
3810  bool opacityEnabled() const;
3811 
3819  void setOpacityEnabled( bool enabled );
3820 
3824  static QgsProcessingParameterColor *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3825 
3826  private:
3827 
3828  bool mAllowOpacity = true;
3829 
3830 };
3831 
3832 
3843 {
3844  public:
3845 
3849  QgsProcessingParameterCoordinateOperation( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3850  const QString &sourceCrsParameterName = QString(), const QString &destinationCrsParameterName = QString(),
3851  const QVariant &staticSourceCrs = QVariant(), const QVariant &staticDestinationCrs = QVariant(),
3852  bool optional = false );
3853 
3857  static QString typeName() { return QStringLiteral( "coordinateoperation" ); }
3858  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3859  QString type() const override { return typeName(); }
3860  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3861  QString asScriptCode() const override;
3863  QStringList dependsOnOtherParameters() const override;
3864 
3865  QVariantMap toVariantMap() const override;
3866  bool fromVariantMap( const QVariantMap &map ) override;
3867 
3871  static QgsProcessingParameterCoordinateOperation *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3872 
3878  QString sourceCrsParameterName() const { return mSourceParameterName; }
3879 
3885  void setSourceCrsParameterName( const QString &name ) { mSourceParameterName = name; }
3886 
3892  QString destinationCrsParameterName() const { return mDestParameterName; }
3893 
3899  void setDestinationCrsParameterName( const QString &name ) { mDestParameterName = name; }
3900 
3906  QVariant sourceCrs() const { return mSourceCrs; }
3907 
3913  void setSourceCrs( const QVariant &crs ) { mSourceCrs = crs; }
3914 
3920  QVariant destinationCrs() const { return mDestCrs; }
3921 
3927  void setDestinationCrs( const QVariant &crs ) { mDestCrs = crs; }
3928 
3929  private:
3930 
3931  QString mSourceParameterName;
3932  QString mDestParameterName;
3933  QVariant mSourceCrs;
3934  QVariant mDestCrs;
3935 
3936 };
3937 
3938 
3949 {
3950  public:
3951 
3955  QgsProcessingParameterMapTheme( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3956  bool optional = false );
3957 
3961  static QString typeName() { return QStringLiteral( "maptheme" ); }
3962  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3963  QString type() const override { return typeName(); }
3964  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3965  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3966  QString asScriptCode() const override;
3968  QVariantMap toVariantMap() const override;
3969  bool fromVariantMap( const QVariantMap &map ) override;
3970 
3974  static QgsProcessingParameterMapTheme *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3975 
3976  private:
3977 
3978 };
3979 
3980 
3992 {
3993  public:
3994 
3998  explicit QgsProcessingParameterDateTime( const QString &name, const QString &description = QString(),
4000  const QVariant &defaultValue = QVariant(),
4001  bool optional = false,
4002  const QDateTime &minValue = QDateTime(),
4003  const QDateTime &maxValue = QDateTime()
4004  );
4005 
4009  static QString typeName() { return QStringLiteral( "datetime" ); }
4010  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4011  QString type() const override { return typeName(); }
4012  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4013  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4014  QString toolTip() const override;
4016 
4024  QDateTime minimum() const;
4025 
4037  void setMinimum( const QDateTime &minimum );
4038 
4046  QDateTime maximum() const;
4047 
4059  void setMaximum( const QDateTime &maximum );
4060 
4066 
4071  void setDataType( Qgis::ProcessingDateTimeParameterDataType type );
4072 
4073  QVariantMap toVariantMap() const override;
4074  bool fromVariantMap( const QVariantMap &map ) override;
4075 
4079  static QgsProcessingParameterDateTime *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4080 
4081  private:
4082 
4083  QDateTime mMin;
4084  QDateTime mMax;
4086 };
4087 
4088 
4100 {
4101  public:
4102 
4109  QgsProcessingParameterProviderConnection( const QString &name, const QString &description, const QString &provider, const QVariant &defaultValue = QVariant(),
4110  bool optional = false );
4111 
4115  static QString typeName() { return QStringLiteral( "providerconnection" ); }
4116  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4117  QString type() const override { return typeName(); }
4118  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4119  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4120  QString asScriptCode() const override;
4122  QVariantMap toVariantMap() const override;
4123  bool fromVariantMap( const QVariantMap &map ) override;
4124 
4129  QString providerId() const { return mProviderId; }
4130 
4135  void setProviderId( const QString &provider ) { mProviderId = provider; }
4136 
4140  static QgsProcessingParameterProviderConnection *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4141 
4142  private:
4143 
4144  QString mProviderId;
4145 };
4146 
4147 
4159 {
4160  public:
4161 
4170  QgsProcessingParameterDatabaseSchema( const QString &name, const QString &description, const QString &connectionParameterName = QString(), const QVariant &defaultValue = QVariant(),
4171  bool optional = false );
4172 
4176  static QString typeName() { return QStringLiteral( "databaseschema" ); }
4177  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4178  QString type() const override { return typeName(); }
4179  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4180  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4181  QString asScriptCode() const override;
4183  QVariantMap toVariantMap() const override;
4184  bool fromVariantMap( const QVariantMap &map ) override;
4185  QStringList dependsOnOtherParameters() const override;
4186 
4191  QString parentConnectionParameterName() const;
4192 
4197  void setParentConnectionParameterName( const QString &name );
4198 
4202  static QgsProcessingParameterDatabaseSchema *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4203 
4204  private:
4205 
4206  QString mParentConnectionParameterName;
4207 };
4208 
4209 
4221 {
4222  public:
4223 
4233  QgsProcessingParameterDatabaseTable( const QString &name, const QString &description,
4234  const QString &connectionParameterName = QString(),
4235  const QString &schemaParameterName = QString(),
4236  const QVariant &defaultValue = QVariant(),
4237  bool optional = false,
4238  bool allowNewTableNames = false );
4239 
4243  static QString typeName() { return QStringLiteral( "databasetable" ); }
4244  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4245  QString type() const override { return typeName(); }
4246  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4247  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4248  QString asScriptCode() const override;
4250  QVariantMap toVariantMap() const override;
4251  bool fromVariantMap( const QVariantMap &map ) override;
4252  QStringList dependsOnOtherParameters() const override;
4253 
4258  QString parentConnectionParameterName() const;
4259 
4264  void setParentConnectionParameterName( const QString &name );
4265 
4270  QString parentSchemaParameterName() const;
4271 
4276  void setParentSchemaParameterName( const QString &name );
4277 
4281  static QgsProcessingParameterDatabaseTable *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4282 
4289  bool allowNewTableNames() const;
4290 
4297  void setAllowNewTableNames( bool allowed );
4298 
4299  private:
4300 
4301  QString mParentConnectionParameterName;
4302  QString mParentSchemaParameterName;
4303  bool mAllowNewTableNames = false;
4304 };
4305 
4306 
4314 {
4315  public:
4316 
4320  QgsProcessingParameterPointCloudLayer( const QString &name, const QString &description = QString(),
4321  const QVariant &defaultValue = QVariant(), bool optional = false );
4322 
4326  static QString typeName() { return QStringLiteral( "pointcloud" ); }
4327  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4328  QString type() const override { return typeName(); }
4329  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4330  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4331  QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
4332  QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
4333  QString createFileFilter() const override;
4334 
4338  static QgsProcessingParameterPointCloudLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4339 };
4340 
4341 
4349 {
4350  public:
4351 
4355  QgsProcessingParameterAnnotationLayer( const QString &name, const QString &description = QString(),
4356  const QVariant &defaultValue = QVariant(), bool optional = false );
4357 
4361  static QString typeName() { return QStringLiteral( "annotation" ); }
4362  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4363  QString type() const override { return typeName(); }
4364  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4365  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4366  QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
4367  QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
4368 
4372  static QgsProcessingParameterAnnotationLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4373 };
4374 
4383 {
4384  public:
4385 
4392  QgsProcessingParameterPointCloudDestination( const QString &name, const QString &description = QString(),
4393  const QVariant &defaultValue = QVariant(),
4394  bool optional = false,
4395  bool createByDefault = true );
4396 
4400  static QString typeName() { return QStringLiteral( "pointCloudDestination" ); }
4401  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4402  QString type() const override { return typeName(); }
4403  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4404  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4405  QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
4406  QString defaultFileExtension() const override;
4407  QString createFileFilter() const override;
4408 
4413  virtual QStringList supportedOutputPointCloudLayerExtensions() const;
4414 
4418  static QgsProcessingParameterPointCloudDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4419 };
4420 
4428 {
4429  public:
4430 
4434  QgsProcessingParameterPointCloudAttribute( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
4435  const QString &parentLayerParameterName = QString(),
4436  bool allowMultiple = false,
4437  bool optional = false,
4438  bool defaultToAllAttributes = false );
4439 
4443  static QString typeName() { return QStringLiteral( "attribute" ); }
4444  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4445  QString type() const override { return typeName(); }
4446  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4447  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4448  QString asScriptCode() const override;
4450  QStringList dependsOnOtherParameters() const override;
4451 
4456  QString parentLayerParameterName() const;
4457 
4462  void setParentLayerParameterName( const QString &parentLayerParameterName );
4463 
4468  bool allowMultiple() const;
4469 
4474  void setAllowMultiple( bool allowMultiple );
4475 
4484  bool defaultToAllAttributes() const;
4485 
4494  void setDefaultToAllAttributes( bool enabled );
4495 
4496  QVariantMap toVariantMap() const override;
4497  bool fromVariantMap( const QVariantMap &map ) override;
4498 
4502  static QgsProcessingParameterPointCloudAttribute *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4503 
4504  private:
4505 
4506  QString mParentLayerParameterName;
4507  bool mAllowMultiple = false;
4508  bool mDefaultToAllAttributes = false;
4509 };
4510 
4519 {
4520  public:
4521 
4528  QgsProcessingParameterVectorTileDestination( const QString &name, const QString &description = QString(),
4529  const QVariant &defaultValue = QVariant(),
4530  bool optional = false,
4531  bool createByDefault = true );
4532 
4536  static QString typeName() { return QStringLiteral( "vectorTileDestination" ); }
4537  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4538  QString type() const override { return typeName(); }
4539  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4540  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4541  QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
4542  QString defaultFileExtension() const override;
4543  QString createFileFilter() const override;
4544 
4549  virtual QStringList supportedOutputVectorTileLayerExtensions() const;
4550 
4554  static QgsProcessingParameterVectorTileDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4555 };
4556 
4557 // clazy:excludeall=qstring-allocations
4558 
4559 #endif // QGSPROCESSINGPARAMETERS_H
4560 
4561 
The Qgis class provides global constants for use throughout the application.
Definition: qgis.h:54
ProcessingSourceType
Processing data source types.
Definition: qgis.h:2838
@ VectorAnyGeometry
Any vector layer with geometry.
ProcessingFileParameterBehavior
Flags which dictate the behavior of QgsProcessingParameterFile.
Definition: qgis.h:3057
@ File
Parameter is a single file.
ExpressionType
Expression types.
Definition: qgis.h:4428
@ Qgis
Native QGIS expression.
DistanceUnit
Units of distance.
Definition: qgis.h:4090
@ Unknown
Unknown distance unit.
ProcessingFieldParameterDataType
Processing field parameter data types.
Definition: qgis.h:3085
TemporalUnit
Temporal units.
Definition: qgis.h:4197
@ Milliseconds
Milliseconds.
QFlags< ProcessingParameterFlag > ProcessingParameterFlags
Flags which dictate the behavior of Processing parameters.
Definition: qgis.h:3046
InvalidGeometryCheck
Methods for handling of features with invalid geometries.
Definition: qgis.h:1759
@ AbortOnInvalid
Close iterator on encountering any features with invalid geometry. This requires a slow geometry vali...
QFlags< ProcessingFeatureSourceDefinitionFlag > ProcessingFeatureSourceDefinitionFlags
Flags which control behavior for a Processing feature source.
Definition: qgis.h:2968
WkbType
The WKB type describes the number of dimensions a geometry has.
Definition: qgis.h:182
ProcessingDateTimeParameterDataType
Processing date time parameter data types.
Definition: qgis.h:3103
ProcessingNumberParameterType
Processing numeric parameter data types.
Definition: qgis.h:3071
Represents a map layer containing a set of georeferenced annotations, e.g.
This class represents a coordinate reference system (CRS).
An interface for objects which accept features via addFeature(s) methods.
QFlags< SinkFlag > SinkFlags
Container of fields for a vector layer.
Definition: qgsfields.h:45
Abstract interface for classes which generate a file filter string.
A geometry is the spatial representation of a feature.
Definition: qgsgeometry.h:162
Base class for graphical items within a QgsLayout.
Base class for all map layer types.
Definition: qgsmaplayer.h:75
Represents a mesh layer supporting display of data on structured or unstructured meshes.
Definition: qgsmeshlayer.h:101
Represents a map layer supporting display of point clouds.
A class to represent a 2D point.
Definition: qgspointxy.h:60
Print layout, a QgsLayout subclass for static or atlas-based layouts.
Abstract base class for processing algorithms.
Contains information about the context in which a processing algorithm is executed.
Base class for all parameter definitions which represent file or layer destinations,...
virtual QString defaultFileExtension() const =0
Returns the default file extension for destination file paths associated with this parameter.
bool supportsNonFileBasedOutput() const
Returns true if the destination parameter supports non filed-based outputs, such as memory layers or ...
virtual QgsProcessingOutputDefinition * toOutputDefinition() const =0
Returns a new QgsProcessingOutputDefinition corresponding to the definition of the destination parame...
bool isDestination() const override
Returns true if this parameter represents a file or layer destination, e.g.
QgsProcessingProvider * originalProvider() const
Original (source) provider which this parameter has been derived from.
void setSupportsNonFileBasedOutput(bool supportsNonFileBasedOutput)
Sets whether the destination parameter supports non filed-based outputs, such as memory layers or dir...
Custom exception class for processing related exceptions.
Definition: qgsexception.h:83
Encapsulates settings relating to a feature source input to a processing algorithm.
bool operator!=(const QgsProcessingFeatureSourceDefinition &other) const
bool selectedFeaturesOnly
true if only selected features in the source should be used by algorithms.
bool operator==(const QgsProcessingFeatureSourceDefinition &other) const
Qgis::InvalidGeometryCheck geometryCheck
Geometry check method to apply to this source.
QgsProcessingFeatureSourceDefinition(const QgsProperty &source, bool selectedFeaturesOnly=false, long long featureLimit=-1, Qgis::ProcessingFeatureSourceDefinitionFlags flags=Qgis::ProcessingFeatureSourceDefinitionFlags(), Qgis::InvalidGeometryCheck geometryCheck=Qgis::InvalidGeometryCheck::AbortOnInvalid, const QString &filterExpression=QString())
Constructor for QgsProcessingFeatureSourceDefinition, accepting a QgsProperty source.
QgsProcessingFeatureSourceDefinition(const QString &source=QString(), bool selectedFeaturesOnly=false, long long featureLimit=-1, Qgis::ProcessingFeatureSourceDefinitionFlags flags=Qgis::ProcessingFeatureSourceDefinitionFlags(), Qgis::InvalidGeometryCheck geometryCheck=Qgis::InvalidGeometryCheck::AbortOnInvalid, const QString &filterExpression=QString())
Constructor for QgsProcessingFeatureSourceDefinition, accepting a static string source.
Qgis::ProcessingFeatureSourceDefinitionFlags flags
Flags which dictate source behavior.
long long featureLimit
If set to a value > 0, places a limit on the maximum number of features which will be read from the s...
QString filterExpression
Optional expression filter to use for filtering features which will be read from the source.
QgsFeatureSource subclass which proxies methods to an underlying QgsFeatureSource,...
Base class for providing feedback from a processing algorithm.
Base class for the definition of processing outputs.
Encapsulates settings relating to a feature sink or output raster layer for a processing algorithm.
QgsProcessingOutputLayerDefinition(const QgsProperty &sink, QgsProject *destinationProject=nullptr)
Constructor for QgsProcessingOutputLayerDefinition, accepting a QgsProperty sink/layer.
QgsProperty sink
Sink/layer definition.
bool useRemapping() const
Returns true if the output uses a remapping definition.
QgsProcessingOutputLayerDefinition(const QString &sink=QString(), QgsProject *destinationProject=nullptr)
Constructor for QgsProcessingOutputLayerDefinition, accepting a static sink/layer string.
QgsRemappingSinkDefinition remappingDefinition() const
Returns the output remapping definition, if useRemapping() is true.
QString destinationName
Name to use for sink if it's to be loaded into a destination project.
QVariantMap createOptions
Map of optional sink/layer creation options, which are passed to the underlying provider when creatin...
An annotation layer parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A string parameter for authentication configuration ID values.
static QString typeName()
Returns the type name for the parameter class.
A raster band parameter for Processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A boolean parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A color parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A coordinate operation parameter for processing algorithms, for selection between available coordinat...
static QString typeName()
Returns the type name for the parameter class.
QVariant sourceCrs() const
Returns the static source CRS, or an invalid value if this is not set.
QString destinationCrsParameterName() const
Returns the name of the destination CRS parameter, or an empty string if this is not set.
void setDestinationCrsParameterName(const QString &name)
Sets the name of the destination CRS parameter.
void setSourceCrs(const QVariant &crs)
Sets the static source crs.
QVariant destinationCrs() const
Returns the static destination CRS, or an invalid value if this is not set.
void setDestinationCrs(const QVariant &crs)
Sets the static destination crs.
void setSourceCrsParameterName(const QString &name)
Sets the name of the source CRS parameter.
QString sourceCrsParameterName() const
Returns the name of the source CRS parameter, or an empty string if this is not set.
A coordinate reference system parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A database schema parameter for processing algorithms, allowing users to select from existing schemas...
static QString typeName()
Returns the type name for the parameter class.
A database table name parameter for processing algorithms, allowing users to select from existing dat...
static QString typeName()
Returns the type name for the parameter class.
A datetime (or pure date or time) parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
Base class for the definition of processing parameters.
QVariant defaultValue() const
Returns the default value for the parameter.
void setDefaultValue(const QVariant &value)
Sets the default value for the parameter.
QStringList additionalExpressionContextVariables() const
Returns a list of additional expression context variables which are available for use when evaluating...
QStringList mAdditionalExpressionVariables
Additional expression context variables exposed for use by this parameter.
QString help() const
Returns the help for the parameter.
Qgis::ProcessingParameterFlags mFlags
Parameter flags.
QFlags< ValueAsStringFlag > ValueAsStringFlags
void setMetadata(const QVariantMap &metadata)
Sets the parameter's freeform metadata.
void setFlags(Qgis::ProcessingParameterFlags flags)
Sets the flags associated with the parameter.
ValueAsStringFlag
Flags for passing to the valueAsStringPrivate() method.
virtual QgsProcessingParameterDefinition * clone() const =0
Creates a clone of the parameter definition.
void setGuiDefaultValueOverride(const QVariant &value)
Sets the default value to use for the parameter in GUI widgets.
QVariantMap metadata() const
Returns the parameter's freeform metadata.
QString description() const
Returns the description for the parameter.
QString mDynamicLayerParameterName
Linked vector layer parameter name for dynamic properties.
virtual bool isDestination() const
Returns true if this parameter represents a file or layer destination, e.g.
void setDescription(const QString &description)
Sets the description for the parameter.
void setDynamicLayerParameterName(const QString &name)
Sets the name for the parameter for a layer linked to a dynamic parameter, or an empty string if this...
QString dynamicLayerParameterName() const
Returns the name of the parameter for a layer linked to a dynamic parameter, or an empty string if th...
void setAdditionalExpressionContextVariables(const QStringList &variables)
Sets a list of additional expression context variables which are available for use when evaluating th...
QVariantMap mMetadata
Freeform metadata for parameter. Mostly used by widget wrappers to customize their appearance and beh...
void setName(const QString &name)
Sets the name of the parameter.
QString mDescription
Parameter description.
virtual 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.
QVariantMap & metadata()
Returns the parameter's freeform metadata.
Qgis::ProcessingParameterFlags flags() const
Returns any flags associated with the parameter.
QVariant mGuiDefault
Default value for parameter in GUI.
QgsPropertyDefinition mPropertyDefinition
Data defined property definition.
bool isDynamic() const
Returns true if the parameter supports is dynamic, and can support data-defined values (i....
virtual ~QgsProcessingParameterDefinition()=default
QgsPropertyDefinition dynamicPropertyDefinition() const
Returns the property definition for dynamic properties.
A double numeric parameter for distance values.
static QString typeName()
Returns the type name for the parameter class.
void setDefaultUnit(Qgis::DistanceUnit unit)
Sets the default distance unit for the parameter.
A double numeric parameter for duration values.
void setDefaultUnit(Qgis::TemporalUnit unit)
Sets the default duration unit for the parameter.
static QString typeName()
Returns the type name for the parameter class.
static QString typeName()
Returns the type name for the parameter class.
An enum based parameter for processing algorithms, allowing for selection from predefined values.
static QString typeName()
Returns the type name for the parameter class.
An expression parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A rectangular map extent parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A feature sink output for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
An input feature source (such as vector layers) parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
static QString typeName()
Returns the type name for the parameter class.
A vector layer or feature source field parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A generic file based destination parameter, for specifying the destination path for a file (non-map l...
static QString typeName()
Returns the type name for the parameter class.
An input file or folder parameter for processing algorithms.
QString extension() const
Returns any specified file extension for the parameter.
static QString typeName()
Returns the type name for the parameter class.
void setBehavior(Qgis::ProcessingFileParameterBehavior behavior)
Sets the parameter behavior (e.g.
Qgis::ProcessingFileParameterBehavior behavior() const
Returns the parameter behavior (e.g.
A folder destination parameter, for specifying the destination path for a folder created by the algor...
static QString typeName()
Returns the type name for the parameter class.
A geometry parameter for processing algorithms.
void setGeometryTypes(const QList< int > &geometryTypes)
Sets the allowed geometryTypes, as a list of Qgis::GeometryType values.
bool allowMultipart() const
Returns the parameter allow multipart geometries.
QList< int > geometryTypes() const
Returns the parameter allowed geometries, as a list of Qgis::GeometryType values.
void setAllowMultipart(bool allowMultipart)
Sets the allow multipart geometries.
static QString typeName()
Returns the type name for the parameter class.
A print layout item parameter, allowing users to select a particular item from a print layout.
static QString typeName()
Returns the type name for the parameter class.
A print layout parameter, allowing users to select a print layout.
static QString typeName()
Returns the type name for the parameter class.
Can be inherited by parameters which require limits to their acceptable data types.
QList< int > mDataTypes
List of acceptable data types for the parameter.
A map layer parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A map theme parameter for processing algorithms, allowing users to select an existing map theme from ...
static QString typeName()
Returns the type name for the parameter class.
A table (matrix) parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
static QString typeName()
Returns the type name for the parameter class.
static QString typeName()
Returns the type name for the parameter class.
A mesh layer parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A parameter for processing algorithms which accepts multiple map layers.
static QString typeName()
Returns the type name for the parameter class.
A numeric parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A point cloud layer attribute parameter for Processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A point cloud layer destination parameter, for specifying the destination path for a point cloud laye...
static QString typeName()
Returns the type name for the parameter class.
A point cloud layer parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A point parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A data provider connection parameter for processing algorithms, allowing users to select from availab...
static QString typeName()
Returns the type name for the parameter class.
void setProviderId(const QString &provider)
Sets the ID of the provider associated with the connections.
QString providerId() const
Returns the ID of the provider associated with the connections.
A numeric range parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A raster layer destination parameter, for specifying the destination path for a raster layer created ...
static QString typeName()
Returns the type name for the parameter class.
A raster layer parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A double numeric parameter for map scale values.
static QString typeName()
Returns the type name for the parameter class.
A string parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
static QString typeName()
Returns the type name for the parameter class.
A vector layer destination parameter, for specifying the destination path for a vector layer created ...
static QString typeName()
Returns the type name for the parameter class.
A vector layer (with or without geometry) parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
A vector tile layer destination parameter, for specifying the destination path for a vector tile laye...
static QString typeName()
Returns the type name for the parameter class.
static QString typeName()
Returns the type name for the parameter class.
A collection of utilities for working with parameters when running a processing algorithm.
Abstract base class for processing providers.
LayerHint
Layer type hints.
@ UnknownType
Unknown layer type.
Contains enumerations and other constants for use in processing algorithms and parameters.
Definition: qgsprocessing.h:41
QFlags< LayerOptionsFlag > LayerOptionsFlags
Definition: qgsprocessing.h:63
PythonOutputType
Available Python output types.
Definition: qgsprocessing.h:48
@ PythonQgsProcessingAlgorithmSubclass
Full Python QgsProcessingAlgorithm subclass.
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition: qgsproject.h:107
Definition for a property.
Definition: qgsproperty.h:45
A store for object properties.
Definition: qgsproperty.h:228
Represents a raster layer.
A rectangle specified with double values.
Definition: qgsrectangle.h:42
Defines the parameters used to remap features when creating a QgsRemappingProxyFeatureSink.
Represents a vector layer which manages a vector based data sets.
As part of the API refactoring and improvements which landed in the Processing API was substantially reworked from the x version This was done in order to allow much of the underlying Processing framework to be ported into allowing algorithms to be written in pure substantial changes are required in order to port existing x Processing algorithms for QGIS x The most significant changes are outlined not GeoAlgorithm For algorithms which operate on features one by consider subclassing the QgsProcessingFeatureBasedAlgorithm class This class allows much of the boilerplate code for looping over features from a vector layer to be bypassed and instead requires implementation of a processFeature method Ensure that your algorithm(or algorithm 's parent class) implements the new pure virtual createInstance(self) call
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
Definition: qgis_sip.h:191
#define SIP_DEPRECATED
Definition: qgis_sip.h:106
#define SIP_SKIP
Definition: qgis_sip.h:126
#define SIP_OUT
Definition: qgis_sip.h:58
#define SIP_FACTORY
Definition: qgis_sip.h:76
#define SIP_THROW(name,...)
Definition: qgis_sip.h:203
#define SIP_END
Definition: qgis_sip.h:208
Q_DECLARE_METATYPE(QgsDatabaseQueryLogEntry)
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
bool operator!=(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
QList< const QgsProcessingParameterDefinition * > QgsProcessingParameterDefinitions
List of processing parameters.
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsTextRendererUtils::CurvedTextFlags)
const QgsCoordinateReferenceSystem & crs
const QString & typeName