QGIS API Documentation  3.20.0-Odense (decaadbb31)
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 "qgsfeaturesource.h"
27 #include "qgsprocessingutils.h"
28 #include "qgsfilefiltergenerator.h"
30 #include <QMap>
31 #include <limits>
32 
35 class QgsRasterLayer;
36 class QgsMeshLayer;
37 class QgsVectorLayer;
38 class QgsFeatureSink;
43 class QgsPrintLayout;
44 class QgsLayoutItem;
45 
56 {
57  public:
58 
63  enum Flag
64  {
65  FlagOverrideDefaultGeometryCheck = 1 << 0,
66  FlagCreateIndividualOutputPerInputFeature = 1 << 1,
67  };
68  Q_DECLARE_FLAGS( Flags, Flag )
69 
70 
83  QgsProcessingFeatureSourceDefinition( const QString &source = QString(), bool selectedFeaturesOnly = false, long long featureLimit = -1,
84  QgsProcessingFeatureSourceDefinition::Flags flags = QgsProcessingFeatureSourceDefinition::Flags(), QgsFeatureRequest::InvalidGeometryCheck geometryCheck = QgsFeatureRequest::GeometryAbortOnInvalid )
85  : source( QgsProperty::fromValue( source ) )
86  , selectedFeaturesOnly( selectedFeaturesOnly )
87  , featureLimit( featureLimit )
88  , flags( flags )
89  , geometryCheck( geometryCheck )
90  {}
91 
105  QgsProcessingFeatureSourceDefinition( const QgsProperty &source, bool selectedFeaturesOnly = false, long long featureLimit = -1,
106  QgsProcessingFeatureSourceDefinition::Flags flags = QgsProcessingFeatureSourceDefinition::Flags(), QgsFeatureRequest::InvalidGeometryCheck geometryCheck = QgsFeatureRequest::GeometryAbortOnInvalid )
107  : source( source )
108  , selectedFeaturesOnly( selectedFeaturesOnly )
109  , featureLimit( featureLimit )
110  , flags( flags )
111  , geometryCheck( geometryCheck )
112  {}
113 
118 
123 
130  long long featureLimit = -1;
131 
137  Flags flags = Flags();
138 
148 
155  QVariant toVariant() const;
156 
163  bool loadVariant( const QVariantMap &map );
164 
166  {
167  return source == other.source
168  && selectedFeaturesOnly == other.selectedFeaturesOnly
169  && featureLimit == other.featureLimit
170  && flags == other.flags
171  && geometryCheck == other.geometryCheck;
172  }
173 
175  {
176  return !( *this == other );
177  }
178 
180  operator QVariant() const
181  {
182  return QVariant::fromValue( *this );
183  }
184 
185 };
186 
188 Q_DECLARE_OPERATORS_FOR_FLAGS( QgsProcessingFeatureSourceDefinition::Flags )
189 
190 
200 {
201  public:
202 
208  QgsProcessingOutputLayerDefinition( const QString &sink = QString(), QgsProject *destinationProject = nullptr )
209  : sink( QgsProperty::fromValue( sink ) )
210  , destinationProject( destinationProject )
211  {}
212 
218  QgsProcessingOutputLayerDefinition( const QgsProperty &sink, QgsProject *destinationProject = nullptr )
219  : sink( sink )
220  , destinationProject( destinationProject )
221  {}
222 
227 
233  QgsProject *destinationProject = nullptr;
234 
239 
246  QVariantMap createOptions;
247 
254  bool useRemapping() const { return mUseRemapping; }
255 
263  QgsRemappingSinkDefinition remappingDefinition() const { return mRemappingDefinition; }
264 
275  void setRemappingDefinition( const QgsRemappingSinkDefinition &definition );
276 
283  QVariant toVariant() const;
284 
291  bool loadVariant( const QVariantMap &map );
292 
294  operator QVariant() const
295  {
296  return QVariant::fromValue( *this );
297  }
298 
299  bool operator==( const QgsProcessingOutputLayerDefinition &other ) const;
300  bool operator!=( const QgsProcessingOutputLayerDefinition &other ) const;
301 
302  private:
303 
304  bool mUseRemapping = false;
305  QgsRemappingSinkDefinition mRemappingDefinition;
306 
307 };
308 
310 
311 
312 
313 
314 //
315 // Parameter definitions
316 //
317 
318 
331 {
332 
333 #ifdef SIP_RUN
334  % TypeHeaderCode
341  % End
343  if ( sipCpp->type() == QgsProcessingParameterBoolean::typeName() )
344  sipType = sipType_QgsProcessingParameterBoolean;
345  else if ( sipCpp->type() == QgsProcessingParameterCrs::typeName() )
346  sipType = sipType_QgsProcessingParameterCrs;
347  else if ( sipCpp->type() == QgsProcessingParameterMapLayer::typeName() )
348  sipType = sipType_QgsProcessingParameterMapLayer;
349  else if ( sipCpp->type() == QgsProcessingParameterExtent::typeName() )
350  sipType = sipType_QgsProcessingParameterExtent;
351  else if ( sipCpp->type() == QgsProcessingParameterPoint::typeName() )
352  sipType = sipType_QgsProcessingParameterPoint;
353  else if ( sipCpp->type() == QgsProcessingParameterGeometry::typeName() )
354  sipType = sipType_QgsProcessingParameterGeometry;
355  else if ( sipCpp->type() == QgsProcessingParameterFile::typeName() )
356  sipType = sipType_QgsProcessingParameterFile;
357  else if ( sipCpp->type() == QgsProcessingParameterMatrix::typeName() )
358  sipType = sipType_QgsProcessingParameterMatrix;
359  else if ( sipCpp->type() == QgsProcessingParameterMultipleLayers::typeName() )
360  sipType = sipType_QgsProcessingParameterMultipleLayers;
361  else if ( sipCpp->type() == QgsProcessingParameterNumber::typeName() )
362  sipType = sipType_QgsProcessingParameterNumber;
363  else if ( sipCpp->type() == QgsProcessingParameterDistance::typeName() )
364  sipType = sipType_QgsProcessingParameterDistance;
365  else if ( sipCpp->type() == QgsProcessingParameterScale::typeName() )
366  sipType = sipType_QgsProcessingParameterScale;
367  else if ( sipCpp->type() == QgsProcessingParameterRange::typeName() )
368  sipType = sipType_QgsProcessingParameterRange;
369  else if ( sipCpp->type() == QgsProcessingParameterRasterLayer::typeName() )
370  sipType = sipType_QgsProcessingParameterRasterLayer;
371  else if ( sipCpp->type() == QgsProcessingParameterMeshLayer::typeName() )
372  sipType = sipType_QgsProcessingParameterMeshLayer;
373  else if ( sipCpp->type() == QgsProcessingParameterEnum::typeName() )
374  sipType = sipType_QgsProcessingParameterEnum;
375  else if ( sipCpp->type() == QgsProcessingParameterString::typeName() )
376  sipType = sipType_QgsProcessingParameterString;
377  else if ( sipCpp->type() == QgsProcessingParameterExpression::typeName() )
378  sipType = sipType_QgsProcessingParameterExpression;
379  else if ( sipCpp->type() == QgsProcessingParameterAuthConfig::typeName() )
380  sipType = sipType_QgsProcessingParameterAuthConfig;
381  else if ( sipCpp->type() == QgsProcessingParameterVectorLayer::typeName() )
382  sipType = sipType_QgsProcessingParameterVectorLayer;
383  else if ( sipCpp->type() == QgsProcessingParameterField::typeName() )
384  sipType = sipType_QgsProcessingParameterField;
385  else if ( sipCpp->type() == QgsProcessingParameterFeatureSource::typeName() )
386  sipType = sipType_QgsProcessingParameterFeatureSource;
387  else if ( sipCpp->type() == QgsProcessingParameterFeatureSink::typeName() )
388  sipType = sipType_QgsProcessingParameterFeatureSink;
389  else if ( sipCpp->type() == QgsProcessingParameterVectorDestination::typeName() )
390  sipType = sipType_QgsProcessingParameterVectorDestination;
391  else if ( sipCpp->type() == QgsProcessingParameterRasterDestination::typeName() )
392  sipType = sipType_QgsProcessingParameterRasterDestination;
393  else if ( sipCpp->type() == QgsProcessingParameterFileDestination::typeName() )
394  sipType = sipType_QgsProcessingParameterFileDestination;
395  else if ( sipCpp->type() == QgsProcessingParameterFolderDestination::typeName() )
396  sipType = sipType_QgsProcessingParameterFolderDestination;
397  else if ( sipCpp->type() == QgsProcessingParameterBand::typeName() )
398  sipType = sipType_QgsProcessingParameterBand;
399  else if ( sipCpp->type() == QgsProcessingParameterLayout::typeName() )
400  sipType = sipType_QgsProcessingParameterLayout;
401  else if ( sipCpp->type() == QgsProcessingParameterLayoutItem::typeName() )
402  sipType = sipType_QgsProcessingParameterLayoutItem;
403  else if ( sipCpp->type() == QgsProcessingParameterColor::typeName() )
404  sipType = sipType_QgsProcessingParameterColor;
405  else if ( sipCpp->type() == QgsProcessingParameterCoordinateOperation::typeName() )
406  sipType = sipType_QgsProcessingParameterCoordinateOperation;
407  else if ( sipCpp->type() == QgsProcessingParameterMapTheme::typeName() )
408  sipType = sipType_QgsProcessingParameterMapTheme;
409  else if ( sipCpp->type() == QgsProcessingParameterDateTime::typeName() )
410  sipType = sipType_QgsProcessingParameterDateTime;
411  else if ( sipCpp->type() == QgsProcessingParameterProviderConnection::typeName() )
412  sipType = sipType_QgsProcessingParameterProviderConnection;
413  else if ( sipCpp->type() == QgsProcessingParameterDatabaseSchema::typeName() )
414  sipType = sipType_QgsProcessingParameterDatabaseSchema;
415  else if ( sipCpp->type() == QgsProcessingParameterDatabaseTable::typeName() )
416  sipType = sipType_QgsProcessingParameterDatabaseTable;
417  else if ( sipCpp->type() == QgsProcessingParameterFieldMapping::typeName() )
418  sipType = sipType_QgsProcessingParameterFieldMapping;
419  else if ( sipCpp->type() == QgsProcessingParameterTinInputLayers::typeName() )
420  sipType = sipType_QgsProcessingParameterTinInputLayers;
421  else if ( sipCpp->type() == QgsProcessingParameterVectorTileWriterLayers::typeName() )
422  sipType = sipType_QgsProcessingParameterVectorTileWriterLayers;
423  else if ( sipCpp->type() == QgsProcessingParameterDxfLayers::typeName() )
424  sipType = sipType_QgsProcessingParameterDxfLayers;
425  else if ( sipCpp->type() == QgsProcessingParameterMeshDatasetGroups::typeName() )
426  sipType = sipType_QgsProcessingParameterMeshDatasetGroups;
427  else if ( sipCpp->type() == QgsProcessingParameterMeshDatasetTime::typeName() )
428  sipType = sipType_QgsProcessingParameterMeshDatasetTime;
429  else
430  sipType = nullptr;
431  SIP_END
432 #endif
433 
434  public:
435 
437  enum Flag
438  {
439  FlagAdvanced = 1 << 1,
440  FlagHidden = 1 << 2,
441  FlagOptional = 1 << 3,
442  FlagIsModelOutput = 1 << 4,
443  };
444  Q_DECLARE_FLAGS( Flags, Flag )
445 
446 
449  QgsProcessingParameterDefinition( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
450  bool optional = false, const QString &help = QString() );
451 
453 
458 
462  virtual QString type() const = 0;
463 
469  virtual bool isDestination() const { return false; }
470 
476  QString name() const { return mName; }
477 
483  void setName( const QString &name ) { mName = name; }
484 
490  QString description() const { return mDescription; }
491 
497  void setDescription( const QString &description ) { mDescription = description; }
498 
508  QString help() const { return mHelp; }
509 
519  void setHelp( const QString &help ) { mHelp = help; }
520 
527  QVariant defaultValue() const { return mDefault; }
528 
535  void setDefaultValue( const QVariant &value ) { mDefault = value; }
536 
549  QVariant guiDefaultValueOverride() const { return mGuiDefault; }
550 
566  void setGuiDefaultValueOverride( const QVariant &value ) { mGuiDefault = value; }
567 
576  QVariant defaultValueForGui() const { return mGuiDefault.isValid() ? mGuiDefault : mDefault; }
577 
582  Flags flags() const { return mFlags; }
583 
588  void setFlags( Flags flags ) { mFlags = flags; }
589 
597  virtual bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const;
598 
603  virtual QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const;
604 
610  virtual QString valueAsPythonComment( const QVariant &value, QgsProcessingContext &context ) const;
611 
616  virtual QString asScriptCode() const;
617 
627  virtual QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const;
628 
634  virtual QVariantMap toVariantMap() const;
635 
641  virtual bool fromVariantMap( const QVariantMap &map );
642 
649  SIP_SKIP QVariantMap metadata() const { return mMetadata; }
650 
656  QVariantMap &metadata() { return mMetadata; }
657 
663  void setMetadata( const QVariantMap &metadata ) { mMetadata = metadata; }
664 
669  virtual QStringList dependsOnOtherParameters() const { return QStringList(); }
670 
677 
683  QgsProcessingProvider *provider() const;
684 
689  virtual QString toolTip() const;
690 
698  bool isDynamic() const { return mIsDynamic; }
699 
707  void setIsDynamic( bool dynamic ) { mIsDynamic = dynamic; }
708 
715  QgsPropertyDefinition dynamicPropertyDefinition() const { return mPropertyDefinition; }
716 
723  void setDynamicPropertyDefinition( const QgsPropertyDefinition &definition ) { mPropertyDefinition = definition; }
724 
736  QString dynamicLayerParameterName() const { return mDynamicLayerParameterName; }
737 
749  void setDynamicLayerParameterName( const QString &name ) { mDynamicLayerParameterName = name; }
750 
764  QStringList additionalExpressionContextVariables() const { return mAdditionalExpressionVariables; }
765 
783  void setAdditionalExpressionContextVariables( const QStringList &variables ) { mAdditionalExpressionVariables = variables; }
784 
785  protected:
786 
788  QString mName;
789 
791  QString mDescription;
792 
794  QString mHelp;
795 
797  QVariant mDefault;
798 
800  QVariant mGuiDefault;
801 
803  Flags mFlags;
804 
806  QVariantMap mMetadata;
807 
809  QgsProcessingAlgorithm *mAlgorithm = nullptr;
810 
812  bool mIsDynamic = false;
813 
816 
819 
822 
823  // To allow access to mAlgorithm. We don't want a public setter for this!
825 
826 };
827 
828 Q_DECLARE_OPERATORS_FOR_FLAGS( QgsProcessingParameterDefinition::Flags )
829 
830 typedef QList< const QgsProcessingParameterDefinition * > QgsProcessingParameterDefinitions;
832 
851 class CORE_EXPORT QgsProcessingParameters
852 {
853 
854  public:
855 
860  static bool isDynamic( const QVariantMap &parameters, const QString &name );
861 
865  static QString parameterAsString( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
866 
871  static QString parameterAsString( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
872 
876  static QString parameterAsExpression( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
877 
882  static QString parameterAsExpression( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
883 
887  static double parameterAsDouble( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
888 
893  static double parameterAsDouble( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
894 
898  static int parameterAsInt( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
899 
904  static int parameterAsInt( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
905 
910  static QList<int> parameterAsInts( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
911 
916  static QList<int> parameterAsInts( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
917 
926  static QDateTime parameterAsDateTime( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
927 
936  static QDateTime parameterAsDateTime( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
937 
946  static QDate parameterAsDate( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
947 
956  static QDate parameterAsDate( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
957 
966  static QTime parameterAsTime( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
967 
976  static QTime parameterAsTime( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
977 
981  static int parameterAsEnum( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
982 
987  static int parameterAsEnum( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
988 
992  static QList<int> parameterAsEnums( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
993 
998  static QList<int> parameterAsEnums( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
999 
1004  static QString parameterAsEnumString( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1005 
1010  static QString parameterAsEnumString( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1011 
1016  static QStringList parameterAsEnumStrings( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1017 
1022  static QStringList parameterAsEnumStrings( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1023 
1027  static bool parameterAsBool( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1028 
1034  static bool parameterAsBoolean( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1035 
1040  static bool parameterAsBool( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1041 
1046  static bool parameterAsBoolean( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1047 
1065  static QgsFeatureSink *parameterAsSink( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters,
1066  const QgsFields &fields, QgsWkbTypes::Type geometryType, const QgsCoordinateReferenceSystem &crs,
1067  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;
1068 
1088  static QgsFeatureSink *parameterAsSink( const QgsProcessingParameterDefinition *definition, const QVariant &value,
1089  const QgsFields &fields, QgsWkbTypes::Type geometryType, const QgsCoordinateReferenceSystem &crs,
1090  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;
1091 
1100  static QgsProcessingFeatureSource *parameterAsSource( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context ) SIP_FACTORY;
1101 
1112  static QgsProcessingFeatureSource *parameterAsSource( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context ) SIP_FACTORY;
1113 
1129  static QString parameterAsCompatibleSourceLayerPath( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters,
1130  QgsProcessingContext &context, const QStringList &compatibleFormats, const QString &preferredFormat = QString( "shp" ), QgsProcessingFeedback *feedback = nullptr );
1131 
1161  static QString parameterAsCompatibleSourceLayerPathAndLayerName( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters,
1162  QgsProcessingContext &context, const QStringList &compatibleFormats, const QString &preferredFormat = QString( "shp" ), QgsProcessingFeedback *feedback = nullptr, QString *layerName SIP_OUT = nullptr );
1163 
1171  static QgsMapLayer *parameterAsLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsProcessingUtils::LayerHint layerHint = QgsProcessingUtils::LayerHint::UnknownType );
1172 
1182  static QgsMapLayer *parameterAsLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, QgsProcessingUtils::LayerHint layerHint = QgsProcessingUtils::LayerHint::UnknownType );
1183 
1191  static QgsRasterLayer *parameterAsRasterLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1192 
1202  static QgsRasterLayer *parameterAsRasterLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1203 
1207  static QString parameterAsOutputLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1208 
1213  static QString parameterAsOutputLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1214 
1218  static QString parameterAsFileOutput( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1219 
1224  static QString parameterAsFileOutput( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1225 
1233  static QgsVectorLayer *parameterAsVectorLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1234 
1244  static QgsVectorLayer *parameterAsVectorLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1245 
1255  static QgsMeshLayer *parameterAsMeshLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1256 
1266  static QgsMeshLayer *parameterAsMeshLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1267 
1268 
1272  static QgsCoordinateReferenceSystem parameterAsCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1273 
1278  static QgsCoordinateReferenceSystem parameterAsCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1279 
1289  static QgsRectangle parameterAsExtent( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context,
1291 
1303  static QgsRectangle parameterAsExtent( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context,
1305 
1317  static QgsGeometry parameterAsExtentGeometry( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context,
1319 
1325  static QgsCoordinateReferenceSystem parameterAsExtentCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1326 
1332  static QgsCoordinateReferenceSystem parameterAsExtentCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1333 
1334 
1342  static QgsPointXY parameterAsPoint( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context,
1344 
1353  static QgsPointXY parameterAsPoint( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context,
1355 
1361  static QgsCoordinateReferenceSystem parameterAsPointCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1362 
1369  static QgsCoordinateReferenceSystem parameterAsPointCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1370 
1376  static QgsGeometry parameterAsGeometry( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem() );
1377 
1383  static QgsGeometry parameterAsGeometry( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem() );
1384 
1391  static QgsCoordinateReferenceSystem parameterAsGeometryCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1392 
1399  static QgsCoordinateReferenceSystem parameterAsGeometryCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1400 
1404  static QString parameterAsFile( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1405 
1410  static QString parameterAsFile( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1411 
1416  static QVariantList parameterAsMatrix( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1417 
1423  static QVariantList parameterAsMatrix( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1424 
1428  static QList< QgsMapLayer *> parameterAsLayerList( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1429 
1434  static QList< QgsMapLayer *> parameterAsLayerList( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1435 
1441  static QStringList parameterAsFileList( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1442 
1448  static QStringList parameterAsFileList( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1449 
1453  static QList<double> parameterAsRange( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1454 
1459  static QList<double> parameterAsRange( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1460 
1464  static QStringList parameterAsFields( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1465 
1470  static QStringList parameterAsFields( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1471 
1480  static QgsPrintLayout *parameterAsLayout( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1481 
1490  static QgsPrintLayout *parameterAsLayout( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1491 
1500  static QgsLayoutItem *parameterAsLayoutItem( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsPrintLayout *layout );
1501 
1510  static QgsLayoutItem *parameterAsLayoutItem( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, QgsPrintLayout *layout );
1511 
1517  static QColor parameterAsColor( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1518 
1524  static QColor parameterAsColor( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1525 
1531  static QString parameterAsConnectionName( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1532 
1538  static QString parameterAsConnectionName( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1539 
1545  static QString parameterAsSchema( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1546 
1552  static QString parameterAsSchema( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1553 
1559  static QString parameterAsDatabaseTableName( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1560 
1566  static QString parameterAsDatabaseTableName( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1567 
1573  static QgsProcessingParameterDefinition *parameterFromVariantMap( const QVariantMap &map ) SIP_FACTORY;
1574 
1578  static QString descriptionFromName( const QString &name );
1579 
1585  static QgsProcessingParameterDefinition *parameterFromScriptCode( const QString &code ) SIP_FACTORY;
1586 
1587  private:
1588 
1589  static bool parseScriptCodeParameterOptions( const QString &code, bool &isOptional, QString &name, QString &type, QString &definition );
1590 };
1591 
1592 
1593 
1601 {
1602  public:
1603 
1607  QgsProcessingParameterBoolean( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1608  bool optional = false );
1609 
1613  static QString typeName() { return QStringLiteral( "boolean" ); }
1614  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1615  QString type() const override { return typeName(); }
1616  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1617  QString asScriptCode() const override;
1618 
1622  static QgsProcessingParameterBoolean *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1623 };
1624 
1632 {
1633  public:
1634 
1638  QgsProcessingParameterCrs( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1639  bool optional = false );
1640 
1644  static QString typeName() { return QStringLiteral( "crs" ); }
1645  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1646  QString type() const override { return typeName(); }
1647  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1648  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1649 
1653  static QgsProcessingParameterCrs *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1654 
1655 };
1656 
1664 {
1665  public:
1666 
1670  QgsProcessingParameterExtent( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1671  bool optional = false );
1672 
1676  static QString typeName() { return QStringLiteral( "extent" ); }
1677  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1678  QString type() const override { return typeName(); }
1679  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1680  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1681 
1685  static QgsProcessingParameterExtent *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1686 
1687 };
1688 
1689 
1697 {
1698  public:
1699 
1703  QgsProcessingParameterPoint( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1704  bool optional = false );
1705 
1709  static QString typeName() { return QStringLiteral( "point" ); }
1710  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1711  QString type() const override { return typeName(); }
1712  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1713  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1714 
1718  static QgsProcessingParameterPoint *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1719 
1720 };
1721 
1729 {
1730  public:
1731 
1739  QgsProcessingParameterGeometry( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false, const QList< int > &geometryTypes = QList< int >(), bool allowMultipart = true );
1740 
1744  static QString typeName() { return QStringLiteral( "geometry" ); }
1745  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1746  QString type() const override { return typeName(); }
1747  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1748  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1749  QString asScriptCode() const override;
1750  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
1751  QVariantMap toVariantMap() const override;
1752  bool fromVariantMap( const QVariantMap &map ) override;
1753 
1758  QList<int> geometryTypes() const { return mGeomTypes; }
1759 
1764  void setGeometryTypes( const QList<int> &geometryTypes ) { mGeomTypes = geometryTypes; }
1765 
1770  bool allowMultipart() const { return mAllowMultipart; }
1771 
1776  void setAllowMultipart( bool allowMultipart ) { mAllowMultipart = allowMultipart; }
1777 
1778 
1779 
1783  static QgsProcessingParameterGeometry *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1784 
1785  private:
1786 
1787  QList<int> mGeomTypes;
1788  bool mAllowMultipart;
1789 
1790 };
1791 
1799 {
1800  public:
1801 
1804  {
1805  File = 0,
1807  };
1808 
1816  QgsProcessingParameterFile( const QString &name, const QString &description = QString(), Behavior behavior = File, const QString &extension = QString(), const QVariant &defaultValue = QVariant(),
1817  bool optional = false, const QString &fileFilter = QString() );
1818 
1822  static QString typeName() { return QStringLiteral( "file" ); }
1823  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1824  QString type() const override { return typeName(); }
1825  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1826  QString asScriptCode() const override;
1827  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
1828  QString createFileFilter() const override;
1829 
1834  Behavior behavior() const { return mBehavior; }
1835 
1840  void setBehavior( Behavior behavior ) { mBehavior = behavior; }
1841 
1849  QString extension() const { return mExtension; }
1850 
1860  void setExtension( const QString &extension );
1861 
1868  QString fileFilter() const;
1869 
1879  void setFileFilter( const QString &filter );
1880 
1881  QVariantMap toVariantMap() const override;
1882  bool fromVariantMap( const QVariantMap &map ) override;
1883 
1887  static QgsProcessingParameterFile *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition, Behavior behavior = File ) SIP_FACTORY;
1888 
1889  private:
1890 
1891  Behavior mBehavior = File;
1892  QString mExtension;
1893  QString mFileFilter;
1894 };
1895 
1903 {
1904  public:
1905 
1909  QgsProcessingParameterMatrix( const QString &name, const QString &description = QString(), int numberRows = 3,
1910  bool hasFixedNumberRows = false, const QStringList &headers = QStringList(),
1911  const QVariant &defaultValue = QVariant(),
1912  bool optional = false );
1913 
1917  static QString typeName() { return QStringLiteral( "matrix" ); }
1918  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
1919  QString type() const override { return typeName(); }
1920  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1921  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1922  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
1923 
1928  QStringList headers() const;
1929 
1934  void setHeaders( const QStringList &headers );
1935 
1942  int numberRows() const;
1943 
1950  void setNumberRows( int rows );
1951 
1957  bool hasFixedNumberRows() const;
1958 
1964  void setHasFixedNumberRows( bool hasFixedNumberRows );
1965 
1966  QVariantMap toVariantMap() const override;
1967  bool fromVariantMap( const QVariantMap &map ) override;
1968 
1972  static QgsProcessingParameterMatrix *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1973 
1974  private:
1975 
1976  QStringList mHeaders;
1977  int mNumberRows = 3;
1978  bool mFixedNumberRows = false;
1979 
1980 };
1981 
1989 {
1990  public:
1991 
1995  QgsProcessingParameterMultipleLayers( const QString &name, const QString &description = QString(), QgsProcessing::SourceType layerType = QgsProcessing::TypeVectorAnyGeometry,
1996  const QVariant &defaultValue = QVariant(),
1997  bool optional = false );
1998 
2002  static QString typeName() { return QStringLiteral( "multilayer" ); }
2003  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2004  QString type() const override { return typeName(); }
2005  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2006  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2007  QString asScriptCode() const override;
2008  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
2009  QString createFileFilter() const override;
2010 
2015  QgsProcessing::SourceType layerType() const;
2016 
2021  void setLayerType( QgsProcessing::SourceType type );
2022 
2028  int minimumNumberInputs() const;
2029 
2035  void setMinimumNumberInputs( int minimum );
2036 
2037  QVariantMap toVariantMap() const override;
2038  bool fromVariantMap( const QVariantMap &map ) override;
2039 
2043  static QgsProcessingParameterMultipleLayers *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2044 
2045  private:
2046 
2048  int mMinimumNumberInputs = 0;
2049 
2050 };
2051 
2071 {
2072  public:
2073 
2075  enum Type
2076  {
2079  };
2080 
2084  explicit QgsProcessingParameterNumber( const QString &name, const QString &description = QString(),
2085  Type type = Integer,
2086  const QVariant &defaultValue = QVariant(),
2087  bool optional = false,
2088  double minValue = std::numeric_limits<double>::lowest() + 1,
2089  double maxValue = std::numeric_limits<double>::max()
2090  );
2091 
2095  static QString typeName() { return QStringLiteral( "number" ); }
2096  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2097  QString type() const override { return typeName(); }
2098  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2099  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2100  QString toolTip() const override;
2101  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
2102 
2107  double minimum() const;
2108 
2113  void setMinimum( double minimum );
2114 
2119  double maximum() const;
2120 
2125  void setMaximum( double maximum );
2126 
2131  Type dataType() const;
2132 
2137  void setDataType( Type type );
2138 
2139  QVariantMap toVariantMap() const override;
2140  bool fromVariantMap( const QVariantMap &map ) override;
2141 
2145  static QgsProcessingParameterNumber *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2146 
2147  private:
2148 
2149  double mMin = std::numeric_limits<double>::lowest() + 1;
2150  double mMax = std::numeric_limits<double>::max();
2151  Type mDataType = Integer;
2152 };
2153 
2174 {
2175  public:
2176 
2180  explicit QgsProcessingParameterDistance( const QString &name, const QString &description = QString(),
2181  const QVariant &defaultValue = QVariant(),
2182  const QString &parentParameterName = QString(),
2183  bool optional = false,
2184  double minValue = std::numeric_limits<double>::lowest() + 1,
2185  double maxValue = std::numeric_limits<double>::max() );
2186 
2190  static QString typeName() { return QStringLiteral( "distance" ); }
2191 
2192  QgsProcessingParameterDistance *clone() const override SIP_FACTORY;
2193 
2194  QString type() const override;
2195  QStringList dependsOnOtherParameters() const override;
2196  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
2197 
2202  QString parentParameterName() const;
2203 
2208  void setParentParameterName( const QString &parentParameterName );
2209 
2216  QgsUnitTypes::DistanceUnit defaultUnit() const { return mDefaultUnit; }
2217 
2224  void setDefaultUnit( QgsUnitTypes::DistanceUnit unit ) { mDefaultUnit = unit; }
2225 
2226  QVariantMap toVariantMap() const override;
2227  bool fromVariantMap( const QVariantMap &map ) override;
2228 
2229  private:
2230 
2231  QString mParentParameterName;
2233 
2234 };
2235 
2247 {
2248  public:
2249 
2253  explicit QgsProcessingParameterScale( const QString &name, const QString &description = QString(),
2254  const QVariant &defaultValue = QVariant(),
2255  bool optional = false );
2256 
2260  static QString typeName() { return QStringLiteral( "scale" ); }
2261 
2262  QgsProcessingParameterScale *clone() const override SIP_FACTORY;
2263 
2264  QString type() const override;
2265  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
2266 
2270  static QgsProcessingParameterScale *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2271 
2272 };
2273 
2281 {
2282  public:
2283 
2287  QgsProcessingParameterRange( const QString &name, const QString &description = QString(),
2289  const QVariant &defaultValue = QVariant(),
2290  bool optional = false );
2291 
2295  static QString typeName() { return QStringLiteral( "range" ); }
2296  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2297  QString type() const override { return typeName(); }
2298  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2299  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2300  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
2301 
2306  QgsProcessingParameterNumber::Type dataType() const;
2307 
2312  void setDataType( QgsProcessingParameterNumber::Type dataType );
2313 
2314  QVariantMap toVariantMap() const override;
2315  bool fromVariantMap( const QVariantMap &map ) override;
2316 
2320  static QgsProcessingParameterRange *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2321 
2322  private:
2323 
2325 };
2326 
2334 {
2335  public:
2336 
2340  QgsProcessingParameterRasterLayer( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2341  bool optional = false );
2342 
2346  static QString typeName() { return QStringLiteral( "raster" ); }
2347  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2348  QString type() const override { return typeName(); }
2349  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2350  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2351  QString createFileFilter() const override;
2352 
2356  static QgsProcessingParameterRasterLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2357 
2358 };
2359 
2367 {
2368  public:
2369 
2373  QgsProcessingParameterEnum( const QString &name, const QString &description = QString(), const QStringList &options = QStringList(),
2374  bool allowMultiple = false,
2375  const QVariant &defaultValue = QVariant(),
2376  bool optional = false,
2377  bool usesStaticStrings = false );
2378 
2382  static QString typeName() { return QStringLiteral( "enum" ); }
2383  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2384  QString type() const override { return typeName(); }
2385  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2386  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2387  QString valueAsPythonComment( const QVariant &value, QgsProcessingContext &context ) const override;
2388  QString asScriptCode() const override;
2389  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
2390 
2395  QStringList options() const;
2396 
2401  void setOptions( const QStringList &options );
2402 
2407  bool allowMultiple() const;
2408 
2413  void setAllowMultiple( bool allowMultiple );
2414 
2421  bool usesStaticStrings() const;
2422 
2429  void setUsesStaticStrings( bool usesStaticStrings );
2430 
2431  QVariantMap toVariantMap() const override;
2432  bool fromVariantMap( const QVariantMap &map ) override;
2433 
2437  static QgsProcessingParameterEnum *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2438 
2439  private:
2440 
2441  QStringList mOptions;
2442  bool mAllowMultiple = false;
2443  bool mUsesStaticStrings = false;
2444 };
2445 
2453 {
2454  public:
2455 
2459  QgsProcessingParameterString( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2460  bool multiLine = false,
2461  bool optional = false );
2462 
2466  static QString typeName() { return QStringLiteral( "string" ); }
2467  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2468  QString type() const override { return typeName(); }
2469  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2470  QString asScriptCode() const override;
2471  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
2472 
2477  bool multiLine() const;
2478 
2483  void setMultiLine( bool multiLine );
2484 
2485  QVariantMap toVariantMap() const override;
2486  bool fromVariantMap( const QVariantMap &map ) override;
2487 
2491  static QgsProcessingParameterString *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2492 
2493  private:
2494 
2495  bool mMultiLine = false;
2496 
2497 };
2498 
2499 
2513 {
2514  public:
2515 
2519  QgsProcessingParameterAuthConfig( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2520  bool optional = false );
2521 
2525  static QString typeName() { return QStringLiteral( "authcfg" ); }
2526  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2527  QString type() const override { return typeName(); }
2528  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2529  QString asScriptCode() const override;
2530 
2534  static QgsProcessingParameterAuthConfig *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2535 
2536 };
2537 
2545 {
2546  public:
2547 
2551  QgsProcessingParameterExpression( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2552  const QString &parentLayerParameterName = QString(),
2553  bool optional = false );
2554 
2558  static QString typeName() { return QStringLiteral( "expression" ); }
2559  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2560  QString type() const override { return typeName(); }
2561  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2562  QStringList dependsOnOtherParameters() const override;
2563  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
2564 
2569  QString parentLayerParameterName() const;
2570 
2575  void setParentLayerParameterName( const QString &parentLayerParameterName );
2576 
2577  QVariantMap toVariantMap() const override;
2578  bool fromVariantMap( const QVariantMap &map ) override;
2579 
2583  static QgsProcessingParameterExpression *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2584 
2585  private:
2586 
2587  QString mParentLayerParameterName;
2588 
2589 };
2590 
2591 
2599 {
2600  public:
2601 
2605  QgsProcessingParameterLimitedDataTypes( const QList< int > &types = QList< int >() );
2606 
2611  QList< int > dataTypes() const;
2612 
2617  void setDataTypes( const QList< int > &types );
2618 
2619  protected:
2620 
2622  QList< int > mDataTypes;
2623 };
2624 
2633 {
2634  public:
2635 
2639  QgsProcessingParameterVectorLayer( const QString &name,
2640  const QString &description = QString(),
2641  const QList< int > &types = QList< int >(),
2642  const QVariant &defaultValue = QVariant(),
2643  bool optional = false );
2644 
2648  static QString typeName() { return QStringLiteral( "vector" ); }
2649  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2650  QString type() const override { return typeName(); }
2651  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2652  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2653  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
2654  QString createFileFilter() const override;
2655 
2656  QVariantMap toVariantMap() const override;
2657  bool fromVariantMap( const QVariantMap &map ) override;
2658 
2662  static QgsProcessingParameterVectorLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2663 
2664 };
2665 
2673 {
2674  public:
2675 
2679  QgsProcessingParameterMeshLayer( const QString &name,
2680  const QString &description = QString(),
2681  const QVariant &defaultValue = QVariant(),
2682  bool optional = false );
2683 
2687  static QString typeName() { return QStringLiteral( "mesh" ); }
2688  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2689  QString type() const override { return typeName(); }
2690  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2691  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2692  QString createFileFilter() const override;
2693 
2697  static QgsProcessingParameterMeshLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2698 };
2699 
2707 {
2708  public:
2709 
2713  QgsProcessingParameterMapLayer( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2714  bool optional = false,
2715  const QList< int > &types = QList< int >() );
2716 
2720  static QString typeName() { return QStringLiteral( "layer" ); }
2721  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2722  QString type() const override { return typeName(); }
2723  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2724  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2725  QString asScriptCode() const override;
2726  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
2727  QString createFileFilter() const override;
2728 
2729  QVariantMap toVariantMap() const override;
2730  bool fromVariantMap( const QVariantMap &map ) override;
2731 
2735  static QgsProcessingParameterMapLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2736 
2737 };
2738 
2746 {
2747  public:
2748 
2751  {
2752  Any = -1,
2753  Numeric = 0,
2754  String = 1,
2755  DateTime = 2
2756  };
2757 
2761  QgsProcessingParameterField( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2762  const QString &parentLayerParameterName = QString(),
2763  DataType type = Any,
2764  bool allowMultiple = false,
2765  bool optional = false,
2766  bool defaultToAllFields = false );
2767 
2771  static QString typeName() { return QStringLiteral( "field" ); }
2772  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2773  QString type() const override { return typeName(); }
2774  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2775  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2776  QString asScriptCode() const override;
2777  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
2778  QStringList dependsOnOtherParameters() const override;
2779 
2784  QString parentLayerParameterName() const;
2785 
2790  void setParentLayerParameterName( const QString &parentLayerParameterName );
2791 
2796  DataType dataType() const;
2797 
2802  void setDataType( DataType type );
2803 
2808  bool allowMultiple() const;
2809 
2814  void setAllowMultiple( bool allowMultiple );
2815 
2825  bool defaultToAllFields() const;
2826 
2836  void setDefaultToAllFields( bool enabled );
2837 
2838  QVariantMap toVariantMap() const override;
2839  bool fromVariantMap( const QVariantMap &map ) override;
2840 
2844  static QgsProcessingParameterField *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2845 
2846  private:
2847 
2848  QString mParentLayerParameterName;
2849  DataType mDataType = Any;
2850  bool mAllowMultiple = false;
2851  bool mDefaultToAllFields = false;
2852 
2853 };
2854 
2855 
2863 {
2864  public:
2865 
2869  QgsProcessingParameterFeatureSource( const QString &name, const QString &description = QString(),
2870  const QList< int > &types = QList< int >(),
2871  const QVariant &defaultValue = QVariant(), bool optional = false );
2872 
2876  static QString typeName() { return QStringLiteral( "source" ); }
2877  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
2878  QString type() const override { return typeName(); }
2879  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2880  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2881  QString asScriptCode() const override;
2882  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
2883  QString createFileFilter() const override;
2884 
2885  QVariantMap toVariantMap() const override;
2886  bool fromVariantMap( const QVariantMap &map ) override;
2887 
2891  static QgsProcessingParameterFeatureSource *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2892 
2893 };
2894 
2903 {
2904  public:
2905 
2912  QgsProcessingDestinationParameter( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2913  bool optional = false, bool createByDefault = true );
2914 
2915  bool isDestination() const override { return true; }
2916  QVariantMap toVariantMap() const override;
2917  bool fromVariantMap( const QVariantMap &map ) override;
2918  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
2919  QString createFileFilter() const override;
2920 
2926 
2932  bool supportsNonFileBasedOutput() const { return mSupportsNonFileBasedOutputs; }
2933 
2939  void setSupportsNonFileBasedOutput( bool supportsNonFileBasedOutput ) { mSupportsNonFileBasedOutputs = supportsNonFileBasedOutput; }
2940 
2945  virtual QString defaultFileExtension() const = 0;
2946 
2952  virtual QString generateTemporaryDestination() const;
2953 
2968  virtual bool isSupportedOutputValue( const QVariant &value, QgsProcessingContext &context, QString &error SIP_OUT ) const;
2969 
2975  bool createByDefault() const;
2976 
2982  void setCreateByDefault( bool createByDefault );
2983 
2984  protected:
2985 
2994  QgsProcessingProvider *originalProvider() const { return mOriginalProvider; }
2995 
2996  private:
2997 
3005  QgsProcessingProvider *mOriginalProvider = nullptr;
3006 
3007  bool mSupportsNonFileBasedOutputs = true;
3008  bool mCreateByDefault = true;
3009 
3010  friend class QgsProcessingModelAlgorithm;
3011  friend class TestQgsProcessing;
3012 };
3013 
3014 
3024 {
3025  public:
3026 
3033  QgsProcessingParameterFeatureSink( const QString &name, const QString &description = QString(), QgsProcessing::SourceType type = QgsProcessing::TypeVectorAnyGeometry, const QVariant &defaultValue = QVariant(),
3034  bool optional = false, bool createByDefault = true, bool supportsAppend = false );
3035 
3039  static QString typeName() { return QStringLiteral( "sink" ); }
3040  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3041  QString type() const override { return typeName(); }
3042  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3043  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3044  QString asScriptCode() const override;
3045  QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3046  QString defaultFileExtension() const override;
3047  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
3048  QString createFileFilter() const override;
3049 
3055  virtual QStringList supportedOutputVectorLayerExtensions() const;
3056 
3061  QgsProcessing::SourceType dataType() const;
3062 
3067  bool hasGeometry() const;
3068 
3073  void setDataType( QgsProcessing::SourceType type );
3074 
3083  bool supportsAppend() const;
3084 
3093  void setSupportsAppend( bool supportsAppend );
3094 
3095  QVariantMap toVariantMap() const override;
3096  bool fromVariantMap( const QVariantMap &map ) override;
3097  QString generateTemporaryDestination() const override;
3098 
3102  static QgsProcessingParameterFeatureSink *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3103 
3104  private:
3105 
3106  QgsProcessing::SourceType mDataType = QgsProcessing::TypeVectorAnyGeometry;
3107  bool mSupportsAppend = false;
3108 };
3109 
3110 
3122 {
3123  public:
3124 
3131  QgsProcessingParameterVectorDestination( const QString &name, const QString &description = QString(), QgsProcessing::SourceType type = QgsProcessing::TypeVectorAnyGeometry, const QVariant &defaultValue = QVariant(),
3132  bool optional = false, bool createByDefault = true );
3133 
3137  static QString typeName() { return QStringLiteral( "vectorDestination" ); }
3138  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3139  QString type() const override { return typeName(); }
3140  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3141  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3142  QString asScriptCode() const override;
3143  QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3144  QString defaultFileExtension() const override;
3145  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
3146  QString createFileFilter() const override;
3147 
3153  virtual QStringList supportedOutputVectorLayerExtensions() const;
3154 
3159  QgsProcessing::SourceType dataType() const;
3160 
3165  bool hasGeometry() const;
3166 
3171  void setDataType( QgsProcessing::SourceType type );
3172 
3173  QVariantMap toVariantMap() const override;
3174  bool fromVariantMap( const QVariantMap &map ) override;
3175 
3179  static QgsProcessingParameterVectorDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3180 
3181 
3182  private:
3183 
3184  QgsProcessing::SourceType mDataType = QgsProcessing::TypeVectorAnyGeometry;
3185 };
3186 
3195 {
3196  public:
3197 
3204  QgsProcessingParameterRasterDestination( const QString &name, const QString &description = QString(),
3205  const QVariant &defaultValue = QVariant(),
3206  bool optional = false,
3207  bool createByDefault = true );
3208 
3212  static QString typeName() { return QStringLiteral( "rasterDestination" ); }
3213  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3214  QString type() const override { return typeName(); }
3215  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3216  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3217  QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3218  QString defaultFileExtension() const override;
3219  QString createFileFilter() const override;
3220 
3226  virtual QStringList supportedOutputRasterLayerExtensions() const;
3227 
3231  static QgsProcessingParameterRasterDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3232 };
3233 
3256 {
3257  public:
3258 
3265  QgsProcessingParameterFileDestination( const QString &name, const QString &description = QString(),
3266  const QString &fileFilter = QString(),
3267  const QVariant &defaultValue = QVariant(),
3268  bool optional = false,
3269  bool createByDefault = true );
3270 
3274  static QString typeName() { return QStringLiteral( "fileDestination" ); }
3275  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3276  QString type() const override { return typeName(); }
3277  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3278  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3279  QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3280  QString defaultFileExtension() const override;
3281  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
3282  QString createFileFilter() const override;
3283 
3288  QString fileFilter() const;
3289 
3294  void setFileFilter( const QString &filter );
3295 
3296  QVariantMap toVariantMap() const override;
3297  bool fromVariantMap( const QVariantMap &map ) override;
3298 
3302  static QgsProcessingParameterFileDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3303 
3304 
3305  private:
3306 
3307  QString mFileFilter;
3308 };
3309 
3318 {
3319  public:
3320 
3324  QgsProcessingParameterFolderDestination( const QString &name, const QString &description = QString(),
3325  const QVariant &defaultValue = QVariant(),
3326  bool optional = false,
3327  bool createByDefault = true );
3328 
3332  static QString typeName() { return QStringLiteral( "folderDestination" ); }
3333  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3334  QString type() const override { return typeName(); }
3335  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3336  QgsProcessingOutputDefinition *toOutputDefinition() const override SIP_FACTORY;
3337  QString defaultFileExtension() const override;
3338 
3342  static QgsProcessingParameterFolderDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3343 
3344 };
3345 
3353 {
3354  public:
3355 
3359  QgsProcessingParameterBand( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3360  const QString &parentLayerParameterName = QString(),
3361  bool optional = false,
3362  bool allowMultiple = false );
3363 
3367  static QString typeName() { return QStringLiteral( "band" ); }
3368  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3369  QString type() const override { return typeName(); }
3370  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3371  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3372  QString asScriptCode() const override;
3373  QStringList dependsOnOtherParameters() const override;
3374  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
3375 
3380  QString parentLayerParameterName() const;
3381 
3386  void setParentLayerParameterName( const QString &parentLayerParameterName );
3387 
3388  QVariantMap toVariantMap() const override;
3389  bool fromVariantMap( const QVariantMap &map ) override;
3390 
3394  static QgsProcessingParameterBand *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3395 
3401  bool allowMultiple() const;
3402 
3408  void setAllowMultiple( bool allowMultiple );
3409 
3410  private:
3411 
3412  QString mParentLayerParameterName;
3413  bool mAllowMultiple = false;
3414 };
3415 
3428 {
3429  public:
3430 
3434  QgsProcessingParameterLayout( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3435  bool optional = false );
3436 
3440  static QString typeName() { return QStringLiteral( "layout" ); }
3441  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3442  QString type() const override { return typeName(); }
3443  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3444  QString asScriptCode() const override;
3445  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
3446 
3450  static QgsProcessingParameterLayout *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3451 
3452 };
3453 
3466 {
3467  public:
3468 
3472  QgsProcessingParameterLayoutItem( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3473  const QString &parentLayoutParameterName = QString(),
3474  int itemType = -1,
3475  bool optional = false );
3476 
3480  static QString typeName() { return QStringLiteral( "layoutitem" ); }
3481  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3482  QString type() const override { return typeName(); }
3483  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3484  QString asScriptCode() const override;
3485  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
3486  QVariantMap toVariantMap() const override;
3487  bool fromVariantMap( const QVariantMap &map ) override;
3488  QStringList dependsOnOtherParameters() const override;
3489 
3493  static QgsProcessingParameterLayoutItem *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3494 
3499  QString parentLayoutParameterName() const;
3500 
3505  void setParentLayoutParameterName( const QString &name );
3506 
3514  int itemType() const;
3515 
3523  void setItemType( int type );
3524 
3525  private:
3526  QString mParentLayoutParameterName;
3527  int mItemType = -1;
3528 };
3529 
3540 {
3541  public:
3542 
3548  QgsProcessingParameterColor( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3549  bool opacityEnabled = true,
3550  bool optional = false );
3551 
3555  static QString typeName() { return QStringLiteral( "color" ); }
3556  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3557  QString type() const override { return typeName(); }
3558  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3559  QString asScriptCode() const override;
3560  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
3561  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3562  QVariantMap toVariantMap() const override;
3563  bool fromVariantMap( const QVariantMap &map ) override;
3564 
3571  bool opacityEnabled() const;
3572 
3580  void setOpacityEnabled( bool enabled );
3581 
3585  static QgsProcessingParameterColor *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3586 
3587  private:
3588 
3589  bool mAllowOpacity = true;
3590 
3591 };
3592 
3593 
3604 {
3605  public:
3606 
3610  QgsProcessingParameterCoordinateOperation( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3611  const QString &sourceCrsParameterName = QString(), const QString &destinationCrsParameterName = QString(),
3612  const QVariant &staticSourceCrs = QVariant(), const QVariant &staticDestinationCrs = QVariant(),
3613  bool optional = false );
3614 
3618  static QString typeName() { return QStringLiteral( "coordinateoperation" ); }
3619  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3620  QString type() const override { return typeName(); }
3621  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3622  QString asScriptCode() const override;
3623  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
3624  QStringList dependsOnOtherParameters() const override;
3625 
3626  QVariantMap toVariantMap() const override;
3627  bool fromVariantMap( const QVariantMap &map ) override;
3628 
3632  static QgsProcessingParameterCoordinateOperation *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3633 
3639  QString sourceCrsParameterName() const { return mSourceParameterName; }
3640 
3646  void setSourceCrsParameterName( const QString &name ) { mSourceParameterName = name; }
3647 
3653  QString destinationCrsParameterName() const { return mDestParameterName; }
3654 
3660  void setDestinationCrsParameterName( const QString &name ) { mDestParameterName = name; }
3661 
3667  QVariant sourceCrs() const { return mSourceCrs; }
3668 
3674  void setSourceCrs( const QVariant &crs ) { mSourceCrs = crs; }
3675 
3681  QVariant destinationCrs() const { return mDestCrs; }
3682 
3688  void setDestinationCrs( const QVariant &crs ) { mDestCrs = crs; }
3689 
3690  private:
3691 
3692  QString mSourceParameterName;
3693  QString mDestParameterName;
3694  QVariant mSourceCrs;
3695  QVariant mDestCrs;
3696 
3697 };
3698 
3699 
3710 {
3711  public:
3712 
3716  QgsProcessingParameterMapTheme( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3717  bool optional = false );
3718 
3722  static QString typeName() { return QStringLiteral( "maptheme" ); }
3723  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3724  QString type() const override { return typeName(); }
3725  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3726  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3727  QString asScriptCode() const override;
3728  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
3729  QVariantMap toVariantMap() const override;
3730  bool fromVariantMap( const QVariantMap &map ) override;
3731 
3735  static QgsProcessingParameterMapTheme *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3736 
3737  private:
3738 
3739 };
3740 
3741 
3753 {
3754  public:
3755 
3757  enum Type
3758  {
3762  };
3763 
3767  explicit QgsProcessingParameterDateTime( const QString &name, const QString &description = QString(),
3768  Type type = DateTime,
3769  const QVariant &defaultValue = QVariant(),
3770  bool optional = false,
3771  const QDateTime &minValue = QDateTime(),
3772  const QDateTime &maxValue = QDateTime()
3773  );
3774 
3778  static QString typeName() { return QStringLiteral( "datetime" ); }
3779  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3780  QString type() const override { return typeName(); }
3781  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3782  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3783  QString toolTip() const override;
3784  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
3785 
3793  QDateTime minimum() const;
3794 
3806  void setMinimum( const QDateTime &minimum );
3807 
3815  QDateTime maximum() const;
3816 
3828  void setMaximum( const QDateTime &maximum );
3829 
3834  Type dataType() const;
3835 
3840  void setDataType( Type type );
3841 
3842  QVariantMap toVariantMap() const override;
3843  bool fromVariantMap( const QVariantMap &map ) override;
3844 
3848  static QgsProcessingParameterDateTime *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3849 
3850  private:
3851 
3852  QDateTime mMin;
3853  QDateTime mMax;
3854  Type mDataType = DateTime;
3855 };
3856 
3857 
3869 {
3870  public:
3871 
3878  QgsProcessingParameterProviderConnection( const QString &name, const QString &description, const QString &provider, const QVariant &defaultValue = QVariant(),
3879  bool optional = false );
3880 
3884  static QString typeName() { return QStringLiteral( "providerconnection" ); }
3885  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3886  QString type() const override { return typeName(); }
3887  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3888  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3889  QString asScriptCode() const override;
3890  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
3891  QVariantMap toVariantMap() const override;
3892  bool fromVariantMap( const QVariantMap &map ) override;
3893 
3898  QString providerId() const { return mProviderId; }
3899 
3904  void setProviderId( const QString &provider ) { mProviderId = provider; }
3905 
3909  static QgsProcessingParameterProviderConnection *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3910 
3911  private:
3912 
3913  QString mProviderId;
3914 };
3915 
3916 
3928 {
3929  public:
3930 
3939  QgsProcessingParameterDatabaseSchema( const QString &name, const QString &description, const QString &connectionParameterName = QString(), const QVariant &defaultValue = QVariant(),
3940  bool optional = false );
3941 
3945  static QString typeName() { return QStringLiteral( "databaseschema" ); }
3946  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
3947  QString type() const override { return typeName(); }
3948  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3949  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3950  QString asScriptCode() const override;
3951  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
3952  QVariantMap toVariantMap() const override;
3953  bool fromVariantMap( const QVariantMap &map ) override;
3954  QStringList dependsOnOtherParameters() const override;
3955 
3960  QString parentConnectionParameterName() const;
3961 
3966  void setParentConnectionParameterName( const QString &name );
3967 
3971  static QgsProcessingParameterDatabaseSchema *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3972 
3973  private:
3974 
3975  QString mParentConnectionParameterName;
3976 };
3977 
3978 
3990 {
3991  public:
3992 
4002  QgsProcessingParameterDatabaseTable( const QString &name, const QString &description,
4003  const QString &connectionParameterName = QString(),
4004  const QString &schemaParameterName = QString(),
4005  const QVariant &defaultValue = QVariant(),
4006  bool optional = false,
4007  bool allowNewTableNames = false );
4008 
4012  static QString typeName() { return QStringLiteral( "databasetable" ); }
4013  QgsProcessingParameterDefinition *clone() const override SIP_FACTORY;
4014  QString type() const override { return typeName(); }
4015  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
4016  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
4017  QString asScriptCode() const override;
4018  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
4019  QVariantMap toVariantMap() const override;
4020  bool fromVariantMap( const QVariantMap &map ) override;
4021  QStringList dependsOnOtherParameters() const override;
4022 
4027  QString parentConnectionParameterName() const;
4028 
4033  void setParentConnectionParameterName( const QString &name );
4034 
4039  QString parentSchemaParameterName() const;
4040 
4045  void setParentSchemaParameterName( const QString &name );
4046 
4050  static QgsProcessingParameterDatabaseTable *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
4051 
4058  bool allowNewTableNames() const;
4059 
4066  void setAllowNewTableNames( bool allowed );
4067 
4068  private:
4069 
4070  QString mParentConnectionParameterName;
4071  QString mParentSchemaParameterName;
4072  bool mAllowNewTableNames = false;
4073 };
4074 
4075 
4076 // clazy:excludeall=qstring-allocations
4077 
4078 #endif // QGSPROCESSINGPARAMETERS_H
4079 
4080 
This class represents a coordinate reference system (CRS).
This class wraps a request for features to a vector layer (or directly its vector data provider).
InvalidGeometryCheck
Handling of features with invalid geometries.
@ GeometryAbortOnInvalid
Close iterator on encountering any features with invalid geometry. This requires a slow geometry vali...
An interface for objects which accept features via addFeature(s) methods.
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:124
Base class for graphical items within a QgsLayout.
Base class for all map layer types.
Definition: qgsmaplayer.h:70
Represents a mesh layer supporting display of data on structured or unstructured meshes.
Definition: qgsmeshlayer.h:95
A class to represent a 2D point.
Definition: qgspointxy.h:59
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.
Flags flags
Flags which dictate source behavior.
bool operator!=(const QgsProcessingFeatureSourceDefinition &other) const
bool selectedFeaturesOnly
true if only selected features in the source should be used by algorithms.
QgsFeatureRequest::InvalidGeometryCheck geometryCheck
Geometry check method to apply to this source.
bool operator==(const QgsProcessingFeatureSourceDefinition &other) const
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...
Flag
Flags which control source behavior.
QgsProcessingFeatureSourceDefinition(const QgsProperty &source, bool selectedFeaturesOnly=false, long long featureLimit=-1, QgsProcessingFeatureSourceDefinition::Flags flags=QgsProcessingFeatureSourceDefinition::Flags(), QgsFeatureRequest::InvalidGeometryCheck geometryCheck=QgsFeatureRequest::GeometryAbortOnInvalid)
Constructor for QgsProcessingFeatureSourceDefinition, accepting a QgsProperty 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...
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.
QVariant guiDefaultValueOverride() const
Returns the default value to use in the GUI 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.
void setMetadata(const QVariantMap &metadata)
Sets the parameter's freeform metadata.
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.
QVariant defaultValueForGui() const
Returns the default value to use for the parameter in a GUI.
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.
Flags flags() const
Returns any flags associated with the parameter.
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.
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....
void setFlags(Flags flags)
Sets the flags associated with the parameter.
virtual ~QgsProcessingParameterDefinition()=default
QgsPropertyDefinition dynamicPropertyDefinition() const
Returns the property definition for dynamic properties.
A double numeric parameter for distance values.
void setDefaultUnit(QgsUnitTypes::DistanceUnit unit)
Sets the default distance 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(Behavior behavior)
Sets the parameter behavior (e.g.
Behavior 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 QgsWkbTypes::GeometryType values.
bool allowMultipart() const
Returns the parameter allow multipart geometries.
QList< int > geometryTypes() const
Returns the parameter allowed geometries, as a list of QgsWkbTypes::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 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.
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:40
PythonOutputType
Available Python output types.
Definition: qgsprocessing.h:60
@ PythonQgsProcessingAlgorithmSubclass
Full Python QgsProcessingAlgorithm subclass.
Definition: qgsprocessing.h:61
SourceType
Data source types enum.
Definition: qgsprocessing.h:46
@ TypeVectorAnyGeometry
Any vector layer with geometry.
Definition: qgsprocessing.h:48
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition: qgsproject.h:99
Definition for a property.
Definition: qgsproperty.h:48
A store for object properties.
Definition: qgsproperty.h:232
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.
Helper functions for various unit types.
Definition: qgsunittypes.h:39
DistanceUnit
Units of distance.
Definition: qgsunittypes.h:68
@ DistanceUnknownUnit
Unknown distance unit.
Definition: qgsunittypes.h:78
Represents a vector layer which manages a vector based data sets.
Type
The WKB type describes the number of dimensions a geometry has.
Definition: qgswkbtypes.h:70
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_THROW(name)
Definition: qgis_sip.h:189
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
Definition: qgis_sip.h:177
#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_END
Definition: qgis_sip.h:194
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
bool operator!=(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsField::ConfigurationFlags) CORE_EXPORT QDataStream &operator<<(QDataStream &out
Writes the field to stream out. QGIS version compatibility is not guaranteed.
Q_DECLARE_METATYPE(QgsMeshTimeSettings)
QList< const QgsProcessingParameterDefinition * > QgsProcessingParameterDefinitions
List of processing parameters.
const QgsCoordinateReferenceSystem & crs
const QString & typeName