QGIS API Documentation  3.16.0-Hannover (43b64b13f3)
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
335  if ( sipCpp->type() == QgsProcessingParameterBoolean::typeName() )
336  sipType = sipType_QgsProcessingParameterBoolean;
337  else if ( sipCpp->type() == QgsProcessingParameterCrs::typeName() )
338  sipType = sipType_QgsProcessingParameterCrs;
339  else if ( sipCpp->type() == QgsProcessingParameterMapLayer::typeName() )
340  sipType = sipType_QgsProcessingParameterMapLayer;
341  else if ( sipCpp->type() == QgsProcessingParameterExtent::typeName() )
342  sipType = sipType_QgsProcessingParameterExtent;
343  else if ( sipCpp->type() == QgsProcessingParameterPoint::typeName() )
344  sipType = sipType_QgsProcessingParameterPoint;
345  else if ( sipCpp->type() == QgsProcessingParameterGeometry::typeName() )
346  sipType = sipType_QgsProcessingParameterGeometry;
347  else if ( sipCpp->type() == QgsProcessingParameterFile::typeName() )
348  sipType = sipType_QgsProcessingParameterFile;
349  else if ( sipCpp->type() == QgsProcessingParameterMatrix::typeName() )
350  sipType = sipType_QgsProcessingParameterMatrix;
351  else if ( sipCpp->type() == QgsProcessingParameterMultipleLayers::typeName() )
352  sipType = sipType_QgsProcessingParameterMultipleLayers;
353  else if ( sipCpp->type() == QgsProcessingParameterNumber::typeName() )
354  sipType = sipType_QgsProcessingParameterNumber;
355  else if ( sipCpp->type() == QgsProcessingParameterDistance::typeName() )
356  sipType = sipType_QgsProcessingParameterDistance;
357  else if ( sipCpp->type() == QgsProcessingParameterScale::typeName() )
358  sipType = sipType_QgsProcessingParameterScale;
359  else if ( sipCpp->type() == QgsProcessingParameterRange::typeName() )
360  sipType = sipType_QgsProcessingParameterRange;
361  else if ( sipCpp->type() == QgsProcessingParameterRasterLayer::typeName() )
362  sipType = sipType_QgsProcessingParameterRasterLayer;
363  else if ( sipCpp->type() == QgsProcessingParameterMeshLayer::typeName() )
364  sipType = sipType_QgsProcessingParameterMeshLayer;
365  else if ( sipCpp->type() == QgsProcessingParameterEnum::typeName() )
366  sipType = sipType_QgsProcessingParameterEnum;
367  else if ( sipCpp->type() == QgsProcessingParameterString::typeName() )
368  sipType = sipType_QgsProcessingParameterString;
369  else if ( sipCpp->type() == QgsProcessingParameterExpression::typeName() )
370  sipType = sipType_QgsProcessingParameterExpression;
371  else if ( sipCpp->type() == QgsProcessingParameterAuthConfig::typeName() )
372  sipType = sipType_QgsProcessingParameterAuthConfig;
373  else if ( sipCpp->type() == QgsProcessingParameterVectorLayer::typeName() )
374  sipType = sipType_QgsProcessingParameterVectorLayer;
375  else if ( sipCpp->type() == QgsProcessingParameterField::typeName() )
376  sipType = sipType_QgsProcessingParameterField;
377  else if ( sipCpp->type() == QgsProcessingParameterFeatureSource::typeName() )
378  sipType = sipType_QgsProcessingParameterFeatureSource;
379  else if ( sipCpp->type() == QgsProcessingParameterFeatureSink::typeName() )
380  sipType = sipType_QgsProcessingParameterFeatureSink;
381  else if ( sipCpp->type() == QgsProcessingParameterVectorDestination::typeName() )
382  sipType = sipType_QgsProcessingParameterVectorDestination;
383  else if ( sipCpp->type() == QgsProcessingParameterRasterDestination::typeName() )
384  sipType = sipType_QgsProcessingParameterRasterDestination;
385  else if ( sipCpp->type() == QgsProcessingParameterFileDestination::typeName() )
386  sipType = sipType_QgsProcessingParameterFileDestination;
387  else if ( sipCpp->type() == QgsProcessingParameterFolderDestination::typeName() )
388  sipType = sipType_QgsProcessingParameterFolderDestination;
389  else if ( sipCpp->type() == QgsProcessingParameterBand::typeName() )
390  sipType = sipType_QgsProcessingParameterBand;
391  else if ( sipCpp->type() == QgsProcessingParameterLayout::typeName() )
392  sipType = sipType_QgsProcessingParameterLayout;
393  else if ( sipCpp->type() == QgsProcessingParameterLayoutItem::typeName() )
394  sipType = sipType_QgsProcessingParameterLayoutItem;
395  else if ( sipCpp->type() == QgsProcessingParameterColor::typeName() )
396  sipType = sipType_QgsProcessingParameterColor;
397  else if ( sipCpp->type() == QgsProcessingParameterCoordinateOperation::typeName() )
398  sipType = sipType_QgsProcessingParameterCoordinateOperation;
399  else if ( sipCpp->type() == QgsProcessingParameterMapTheme::typeName() )
400  sipType = sipType_QgsProcessingParameterMapTheme;
401  else if ( sipCpp->type() == QgsProcessingParameterDateTime::typeName() )
402  sipType = sipType_QgsProcessingParameterDateTime;
403  else if ( sipCpp->type() == QgsProcessingParameterProviderConnection::typeName() )
404  sipType = sipType_QgsProcessingParameterProviderConnection;
405  else if ( sipCpp->type() == QgsProcessingParameterDatabaseSchema::typeName() )
406  sipType = sipType_QgsProcessingParameterDatabaseSchema;
407  else if ( sipCpp->type() == QgsProcessingParameterDatabaseTable::typeName() )
408  sipType = sipType_QgsProcessingParameterDatabaseTable;
409  else if ( sipCpp->type() == QgsProcessingParameterFieldMapping::typeName() )
410  sipType = sipType_QgsProcessingParameterFieldMapping;
411  else if ( sipCpp->type() == QgsProcessingParameterTinInputLayers::typeName() )
412  sipType = sipType_QgsProcessingParameterTinInputLayers;
413  else
414  sipType = nullptr;
415  SIP_END
416 #endif
417 
418  public:
419 
421  enum Flag
422  {
423  FlagAdvanced = 1 << 1,
424  FlagHidden = 1 << 2,
425  FlagOptional = 1 << 3,
426  FlagIsModelOutput = 1 << 4,
427  };
428  Q_DECLARE_FLAGS( Flags, Flag )
429 
430 
433  QgsProcessingParameterDefinition( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
434  bool optional = false, const QString &help = QString() );
435 
437 
442 
446  virtual QString type() const = 0;
447 
453  virtual bool isDestination() const { return false; }
454 
460  QString name() const { return mName; }
461 
467  void setName( const QString &name ) { mName = name; }
468 
474  QString description() const { return mDescription; }
475 
481  void setDescription( const QString &description ) { mDescription = description; }
482 
492  QString help() const { return mHelp; }
493 
503  void setHelp( const QString &help ) { mHelp = help; }
504 
509  QVariant defaultValue() const { return mDefault; }
510 
516  void setDefaultValue( const QVariant &value ) { mDefault = value; }
517 
522  Flags flags() const { return mFlags; }
523 
528  void setFlags( Flags flags ) { mFlags = flags; }
529 
537  virtual bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const;
538 
543  virtual QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const;
544 
549  virtual QString asScriptCode() const;
550 
560  virtual QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const;
561 
567  virtual QVariantMap toVariantMap() const;
568 
574  virtual bool fromVariantMap( const QVariantMap &map );
575 
582  SIP_SKIP QVariantMap metadata() const { return mMetadata; }
583 
589  QVariantMap &metadata() { return mMetadata; }
590 
596  void setMetadata( const QVariantMap &metadata ) { mMetadata = metadata; }
597 
602  virtual QStringList dependsOnOtherParameters() const { return QStringList(); }
603 
610 
616  QgsProcessingProvider *provider() const;
617 
622  virtual QString toolTip() const;
623 
631  bool isDynamic() const { return mIsDynamic; }
632 
640  void setIsDynamic( bool dynamic ) { mIsDynamic = dynamic; }
641 
648  QgsPropertyDefinition dynamicPropertyDefinition() const { return mPropertyDefinition; }
649 
656  void setDynamicPropertyDefinition( const QgsPropertyDefinition &definition ) { mPropertyDefinition = definition; }
657 
669  QString dynamicLayerParameterName() const { return mDynamicLayerParameterName; }
670 
682  void setDynamicLayerParameterName( const QString &name ) { mDynamicLayerParameterName = name; }
683 
697  QStringList additionalExpressionContextVariables() const { return mAdditionalExpressionVariables; }
698 
716  void setAdditionalExpressionContextVariables( const QStringList &variables ) { mAdditionalExpressionVariables = variables; }
717 
718  protected:
719 
721  QString mName;
722 
724  QString mDescription;
725 
727  QString mHelp;
728 
730  QVariant mDefault;
731 
733  Flags mFlags;
734 
736  QVariantMap mMetadata;
737 
739  QgsProcessingAlgorithm *mAlgorithm = nullptr;
740 
742  bool mIsDynamic = false;
743 
746 
749 
752 
753  // To allow access to mAlgorithm. We don't want a public setter for this!
755 
756 };
757 
758 Q_DECLARE_OPERATORS_FOR_FLAGS( QgsProcessingParameterDefinition::Flags )
759 
760 typedef QList< const QgsProcessingParameterDefinition * > QgsProcessingParameterDefinitions;
762 
781 class CORE_EXPORT QgsProcessingParameters
782 {
783 
784  public:
785 
790  static bool isDynamic( const QVariantMap &parameters, const QString &name );
791 
795  static QString parameterAsString( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
796 
801  static QString parameterAsString( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
802 
806  static QString parameterAsExpression( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
807 
812  static QString parameterAsExpression( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
813 
817  static double parameterAsDouble( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
818 
823  static double parameterAsDouble( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
824 
828  static int parameterAsInt( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
829 
834  static int parameterAsInt( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
835 
840  static QList<int> parameterAsInts( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
841 
846  static QList<int> parameterAsInts( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
847 
856  static QDateTime parameterAsDateTime( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
857 
866  static QDateTime parameterAsDateTime( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
867 
876  static QDate parameterAsDate( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
877 
886  static QDate parameterAsDate( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
887 
896  static QTime parameterAsTime( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
897 
906  static QTime parameterAsTime( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
907 
911  static int parameterAsEnum( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
912 
917  static int parameterAsEnum( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
918 
922  static QList<int> parameterAsEnums( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
923 
928  static QList<int> parameterAsEnums( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
929 
933  static bool parameterAsBool( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
934 
940  static bool parameterAsBoolean( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
941 
946  static bool parameterAsBool( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
947 
952  static bool parameterAsBoolean( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
953 
971  static QgsFeatureSink *parameterAsSink( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters,
972  const QgsFields &fields, QgsWkbTypes::Type geometryType, const QgsCoordinateReferenceSystem &crs,
973  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;
974 
994  static QgsFeatureSink *parameterAsSink( const QgsProcessingParameterDefinition *definition, const QVariant &value,
995  const QgsFields &fields, QgsWkbTypes::Type geometryType, const QgsCoordinateReferenceSystem &crs,
996  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;
997 
1006  static QgsProcessingFeatureSource *parameterAsSource( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context ) SIP_FACTORY;
1007 
1018  static QgsProcessingFeatureSource *parameterAsSource( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context ) SIP_FACTORY;
1019 
1035  static QString parameterAsCompatibleSourceLayerPath( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters,
1036  QgsProcessingContext &context, const QStringList &compatibleFormats, const QString &preferredFormat = QString( "shp" ), QgsProcessingFeedback *feedback = nullptr );
1037 
1067  static QString parameterAsCompatibleSourceLayerPathAndLayerName( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters,
1068  QgsProcessingContext &context, const QStringList &compatibleFormats, const QString &preferredFormat = QString( "shp" ), QgsProcessingFeedback *feedback = nullptr, QString *layerName SIP_OUT = nullptr );
1069 
1077  static QgsMapLayer *parameterAsLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsProcessingUtils::LayerHint layerHint = QgsProcessingUtils::LayerHint::UnknownType );
1078 
1088  static QgsMapLayer *parameterAsLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, QgsProcessingUtils::LayerHint layerHint = QgsProcessingUtils::LayerHint::UnknownType );
1089 
1097  static QgsRasterLayer *parameterAsRasterLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1098 
1108  static QgsRasterLayer *parameterAsRasterLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1109 
1113  static QString parameterAsOutputLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1114 
1119  static QString parameterAsOutputLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1120 
1124  static QString parameterAsFileOutput( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1125 
1130  static QString parameterAsFileOutput( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1131 
1139  static QgsVectorLayer *parameterAsVectorLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1140 
1150  static QgsVectorLayer *parameterAsVectorLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1151 
1161  static QgsMeshLayer *parameterAsMeshLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1162 
1172  static QgsMeshLayer *parameterAsMeshLayer( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1173 
1174 
1178  static QgsCoordinateReferenceSystem parameterAsCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1179 
1184  static QgsCoordinateReferenceSystem parameterAsCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1185 
1195  static QgsRectangle parameterAsExtent( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context,
1197 
1209  static QgsRectangle parameterAsExtent( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context,
1211 
1223  static QgsGeometry parameterAsExtentGeometry( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context,
1225 
1231  static QgsCoordinateReferenceSystem parameterAsExtentCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1232 
1238  static QgsCoordinateReferenceSystem parameterAsExtentCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1239 
1240 
1248  static QgsPointXY parameterAsPoint( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context,
1250 
1259  static QgsPointXY parameterAsPoint( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context,
1261 
1267  static QgsCoordinateReferenceSystem parameterAsPointCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1268 
1275  static QgsCoordinateReferenceSystem parameterAsPointCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1276 
1282  static QgsGeometry parameterAsGeometry( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem() );
1283 
1289  static QgsGeometry parameterAsGeometry( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, const QgsCoordinateReferenceSystem &crs = QgsCoordinateReferenceSystem() );
1290 
1297  static QgsCoordinateReferenceSystem parameterAsGeometryCrs( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1298 
1305  static QgsCoordinateReferenceSystem parameterAsGeometryCrs( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1306 
1310  static QString parameterAsFile( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1311 
1316  static QString parameterAsFile( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1317 
1322  static QVariantList parameterAsMatrix( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1323 
1329  static QVariantList parameterAsMatrix( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1330 
1334  static QList< QgsMapLayer *> parameterAsLayerList( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1335 
1340  static QList< QgsMapLayer *> parameterAsLayerList( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1341 
1347  static QStringList parameterAsFileList( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1348 
1354  static QStringList parameterAsFileList( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1355 
1359  static QList<double> parameterAsRange( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1360 
1365  static QList<double> parameterAsRange( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1366 
1370  static QStringList parameterAsFields( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1371 
1376  static QStringList parameterAsFields( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1377 
1386  static QgsPrintLayout *parameterAsLayout( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1387 
1396  static QgsPrintLayout *parameterAsLayout( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1397 
1406  static QgsLayoutItem *parameterAsLayoutItem( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context, QgsPrintLayout *layout );
1407 
1416  static QgsLayoutItem *parameterAsLayoutItem( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context, QgsPrintLayout *layout );
1417 
1423  static QColor parameterAsColor( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, QgsProcessingContext &context );
1424 
1430  static QColor parameterAsColor( const QgsProcessingParameterDefinition *definition, const QVariant &value, QgsProcessingContext &context );
1431 
1437  static QString parameterAsConnectionName( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1438 
1444  static QString parameterAsConnectionName( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1445 
1451  static QString parameterAsSchema( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1452 
1458  static QString parameterAsSchema( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1459 
1465  static QString parameterAsDatabaseTableName( const QgsProcessingParameterDefinition *definition, const QVariantMap &parameters, const QgsProcessingContext &context );
1466 
1472  static QString parameterAsDatabaseTableName( const QgsProcessingParameterDefinition *definition, const QVariant &value, const QgsProcessingContext &context );
1473 
1479  static QgsProcessingParameterDefinition *parameterFromVariantMap( const QVariantMap &map ) SIP_FACTORY;
1480 
1484  static QString descriptionFromName( const QString &name );
1485 
1491  static QgsProcessingParameterDefinition *parameterFromScriptCode( const QString &code ) SIP_FACTORY;
1492 
1493  private:
1494 
1495  static bool parseScriptCodeParameterOptions( const QString &code, bool &isOptional, QString &name, QString &type, QString &definition );
1496 };
1497 
1498 
1499 
1507 {
1508  public:
1509 
1513  QgsProcessingParameterBoolean( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1514  bool optional = false );
1515 
1519  static QString typeName() { return QStringLiteral( "boolean" ); }
1521  QString type() const override { return typeName(); }
1522  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1523  QString asScriptCode() const override;
1524 
1528  static QgsProcessingParameterBoolean *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1529 };
1530 
1538 {
1539  public:
1540 
1544  QgsProcessingParameterCrs( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1545  bool optional = false );
1546 
1550  static QString typeName() { return QStringLiteral( "crs" ); }
1552  QString type() const override { return typeName(); }
1553  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1554  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1555 
1559  static QgsProcessingParameterCrs *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1560 
1561 };
1562 
1570 {
1571  public:
1572 
1576  QgsProcessingParameterExtent( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1577  bool optional = false );
1578 
1582  static QString typeName() { return QStringLiteral( "extent" ); }
1584  QString type() const override { return typeName(); }
1585  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1586  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1587 
1591  static QgsProcessingParameterExtent *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1592 
1593 };
1594 
1595 
1603 {
1604  public:
1605 
1609  QgsProcessingParameterPoint( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
1610  bool optional = false );
1611 
1615  static QString typeName() { return QStringLiteral( "point" ); }
1617  QString type() const override { return typeName(); }
1618  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1619  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1620 
1624  static QgsProcessingParameterPoint *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1625 
1626 };
1627 
1635 {
1636  public:
1637 
1644  QgsProcessingParameterGeometry( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false, const QList< int > &geometryTypes = QList< int >() );
1645 
1649  static QString typeName() { return QStringLiteral( "geometry" ); }
1651  QString type() const override { return typeName(); }
1652  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1653  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1654  QString asScriptCode() const override;
1656  QVariantMap toVariantMap() const override;
1657  bool fromVariantMap( const QVariantMap &map ) override;
1658 
1663  QList<int> geometryTypes() const { return mGeomTypes; }
1664 
1669  void setGeometryTypes( const QList<int> &geometryTypes ) { mGeomTypes = geometryTypes; }
1670 
1674  static QgsProcessingParameterGeometry *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1675 
1676  private:
1677 
1678  QList<int> mGeomTypes;
1679 
1680 };
1681 
1689 {
1690  public:
1691 
1694  {
1695  File = 0,
1697  };
1698 
1706  QgsProcessingParameterFile( const QString &name, const QString &description = QString(), Behavior behavior = File, const QString &extension = QString(), const QVariant &defaultValue = QVariant(),
1707  bool optional = false, const QString &fileFilter = QString() );
1708 
1712  static QString typeName() { return QStringLiteral( "file" ); }
1714  QString type() const override { return typeName(); }
1715  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1716  QString asScriptCode() const override;
1718 
1723  Behavior behavior() const { return mBehavior; }
1724 
1729  void setBehavior( Behavior behavior ) { mBehavior = behavior; }
1730 
1738  QString extension() const { return mExtension; }
1739 
1749  void setExtension( const QString &extension );
1750 
1757  QString fileFilter() const;
1758 
1768  void setFileFilter( const QString &filter );
1769 
1770  QVariantMap toVariantMap() const override;
1771  bool fromVariantMap( const QVariantMap &map ) override;
1772 
1776  static QgsProcessingParameterFile *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition, Behavior behavior = File ) SIP_FACTORY;
1777 
1778  private:
1779 
1780  Behavior mBehavior = File;
1781  QString mExtension;
1782  QString mFileFilter;
1783 };
1784 
1792 {
1793  public:
1794 
1798  QgsProcessingParameterMatrix( const QString &name, const QString &description = QString(), int numberRows = 3,
1799  bool hasFixedNumberRows = false, const QStringList &headers = QStringList(),
1800  const QVariant &defaultValue = QVariant(),
1801  bool optional = false );
1802 
1806  static QString typeName() { return QStringLiteral( "matrix" ); }
1808  QString type() const override { return typeName(); }
1809  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1810  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1812 
1817  QStringList headers() const;
1818 
1823  void setHeaders( const QStringList &headers );
1824 
1831  int numberRows() const;
1832 
1839  void setNumberRows( int rows );
1840 
1846  bool hasFixedNumberRows() const;
1847 
1853  void setHasFixedNumberRows( bool hasFixedNumberRows );
1854 
1855  QVariantMap toVariantMap() const override;
1856  bool fromVariantMap( const QVariantMap &map ) override;
1857 
1861  static QgsProcessingParameterMatrix *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1862 
1863  private:
1864 
1865  QStringList mHeaders;
1866  int mNumberRows = 3;
1867  bool mFixedNumberRows = false;
1868 
1869 };
1870 
1878 {
1879  public:
1880 
1884  QgsProcessingParameterMultipleLayers( const QString &name, const QString &description = QString(), QgsProcessing::SourceType layerType = QgsProcessing::TypeVectorAnyGeometry,
1885  const QVariant &defaultValue = QVariant(),
1886  bool optional = false );
1887 
1891  static QString typeName() { return QStringLiteral( "multilayer" ); }
1893  QString type() const override { return typeName(); }
1894  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1895  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1896  QString asScriptCode() const override;
1898  QString createFileFilter() const override;
1899 
1904  QgsProcessing::SourceType layerType() const;
1905 
1910  void setLayerType( QgsProcessing::SourceType type );
1911 
1917  int minimumNumberInputs() const;
1918 
1924  void setMinimumNumberInputs( int minimum );
1925 
1926  QVariantMap toVariantMap() const override;
1927  bool fromVariantMap( const QVariantMap &map ) override;
1928 
1932  static QgsProcessingParameterMultipleLayers *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
1933 
1934  private:
1935 
1937  int mMinimumNumberInputs = 0;
1938 
1939 };
1940 
1960 {
1961  public:
1962 
1964  enum Type
1965  {
1968  };
1969 
1973  explicit QgsProcessingParameterNumber( const QString &name, const QString &description = QString(),
1974  Type type = Integer,
1975  const QVariant &defaultValue = QVariant(),
1976  bool optional = false,
1977  double minValue = std::numeric_limits<double>::lowest() + 1,
1978  double maxValue = std::numeric_limits<double>::max()
1979  );
1980 
1984  static QString typeName() { return QStringLiteral( "number" ); }
1986  QString type() const override { return typeName(); }
1987  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
1988  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
1989  QString toolTip() const override;
1991 
1996  double minimum() const;
1997 
2002  void setMinimum( double minimum );
2003 
2008  double maximum() const;
2009 
2014  void setMaximum( double maximum );
2015 
2020  Type dataType() const;
2021 
2026  void setDataType( Type type );
2027 
2028  QVariantMap toVariantMap() const override;
2029  bool fromVariantMap( const QVariantMap &map ) override;
2030 
2034  static QgsProcessingParameterNumber *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2035 
2036  private:
2037 
2038  double mMin = std::numeric_limits<double>::lowest() + 1;
2039  double mMax = std::numeric_limits<double>::max();
2040  Type mDataType = Integer;
2041 };
2042 
2063 {
2064  public:
2065 
2069  explicit QgsProcessingParameterDistance( const QString &name, const QString &description = QString(),
2070  const QVariant &defaultValue = QVariant(),
2071  const QString &parentParameterName = QString(),
2072  bool optional = false,
2073  double minValue = std::numeric_limits<double>::lowest() + 1,
2074  double maxValue = std::numeric_limits<double>::max() );
2075 
2079  static QString typeName() { return QStringLiteral( "distance" ); }
2080 
2082 
2083  QString type() const override;
2084  QStringList dependsOnOtherParameters() const override;
2085  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
2086 
2091  QString parentParameterName() const;
2092 
2097  void setParentParameterName( const QString &parentParameterName );
2098 
2105  QgsUnitTypes::DistanceUnit defaultUnit() const { return mDefaultUnit; }
2106 
2113  void setDefaultUnit( QgsUnitTypes::DistanceUnit unit ) { mDefaultUnit = unit; }
2114 
2115  QVariantMap toVariantMap() const override;
2116  bool fromVariantMap( const QVariantMap &map ) override;
2117 
2118  private:
2119 
2120  QString mParentParameterName;
2122 
2123 };
2124 
2136 {
2137  public:
2138 
2142  explicit QgsProcessingParameterScale( const QString &name, const QString &description = QString(),
2143  const QVariant &defaultValue = QVariant(),
2144  bool optional = false );
2145 
2149  static QString typeName() { return QStringLiteral( "scale" ); }
2150 
2151  QgsProcessingParameterScale *clone() const override SIP_FACTORY;
2152 
2153  QString type() const override;
2154  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
2155 
2159  static QgsProcessingParameterScale *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2160 
2161 };
2162 
2170 {
2171  public:
2172 
2176  QgsProcessingParameterRange( const QString &name, const QString &description = QString(),
2178  const QVariant &defaultValue = QVariant(),
2179  bool optional = false );
2180 
2184  static QString typeName() { return QStringLiteral( "range" ); }
2186  QString type() const override { return typeName(); }
2187  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2188  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2190 
2196 
2202 
2203  QVariantMap toVariantMap() const override;
2204  bool fromVariantMap( const QVariantMap &map ) override;
2205 
2209  static QgsProcessingParameterRange *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2210 
2211  private:
2212 
2214 };
2215 
2223 {
2224  public:
2225 
2229  QgsProcessingParameterRasterLayer( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2230  bool optional = false );
2231 
2235  static QString typeName() { return QStringLiteral( "raster" ); }
2237  QString type() const override { return typeName(); }
2238  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2239  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2240  QString createFileFilter() const override;
2241 
2245  static QgsProcessingParameterRasterLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2246 
2247 };
2248 
2256 {
2257  public:
2258 
2262  QgsProcessingParameterEnum( const QString &name, const QString &description = QString(), const QStringList &options = QStringList(),
2263  bool allowMultiple = false,
2264  const QVariant &defaultValue = QVariant(),
2265  bool optional = false );
2266 
2270  static QString typeName() { return QStringLiteral( "enum" ); }
2272  QString type() const override { return typeName(); }
2273  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2274  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2275  QString asScriptCode() const override;
2277 
2282  QStringList options() const;
2283 
2288  void setOptions( const QStringList &options );
2289 
2294  bool allowMultiple() const;
2295 
2300  void setAllowMultiple( bool allowMultiple );
2301 
2302  QVariantMap toVariantMap() const override;
2303  bool fromVariantMap( const QVariantMap &map ) override;
2304 
2308  static QgsProcessingParameterEnum *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2309 
2310  private:
2311 
2312  QStringList mOptions;
2313  bool mAllowMultiple = false;
2314 
2315 };
2316 
2324 {
2325  public:
2326 
2330  QgsProcessingParameterString( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2331  bool multiLine = false,
2332  bool optional = false );
2333 
2337  static QString typeName() { return QStringLiteral( "string" ); }
2339  QString type() const override { return typeName(); }
2340  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2341  QString asScriptCode() const override;
2343 
2348  bool multiLine() const;
2349 
2354  void setMultiLine( bool multiLine );
2355 
2356  QVariantMap toVariantMap() const override;
2357  bool fromVariantMap( const QVariantMap &map ) override;
2358 
2362  static QgsProcessingParameterString *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2363 
2364  private:
2365 
2366  bool mMultiLine = false;
2367 
2368 };
2369 
2370 
2384 {
2385  public:
2386 
2390  QgsProcessingParameterAuthConfig( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2391  bool optional = false );
2392 
2396  static QString typeName() { return QStringLiteral( "authcfg" ); }
2398  QString type() const override { return typeName(); }
2399  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2400  QString asScriptCode() const override;
2401 
2405  static QgsProcessingParameterAuthConfig *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2406 
2407 };
2408 
2416 {
2417  public:
2418 
2422  QgsProcessingParameterExpression( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2423  const QString &parentLayerParameterName = QString(),
2424  bool optional = false );
2425 
2429  static QString typeName() { return QStringLiteral( "expression" ); }
2431  QString type() const override { return typeName(); }
2432  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2433  QStringList dependsOnOtherParameters() const override;
2435 
2440  QString parentLayerParameterName() const;
2441 
2446  void setParentLayerParameterName( const QString &parentLayerParameterName );
2447 
2448  QVariantMap toVariantMap() const override;
2449  bool fromVariantMap( const QVariantMap &map ) override;
2450 
2454  static QgsProcessingParameterExpression *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2455 
2456  private:
2457 
2458  QString mParentLayerParameterName;
2459 
2460 };
2461 
2462 
2470 {
2471  public:
2472 
2476  QgsProcessingParameterLimitedDataTypes( const QList< int > &types = QList< int >() );
2477 
2482  QList< int > dataTypes() const;
2483 
2488  void setDataTypes( const QList< int > &types );
2489 
2490  protected:
2491 
2493  QList< int > mDataTypes;
2494 };
2495 
2504 {
2505  public:
2506 
2510  QgsProcessingParameterVectorLayer( const QString &name,
2511  const QString &description = QString(),
2512  const QList< int > &types = QList< int >(),
2513  const QVariant &defaultValue = QVariant(),
2514  bool optional = false );
2515 
2519  static QString typeName() { return QStringLiteral( "vector" ); }
2521  QString type() const override { return typeName(); }
2522  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2523  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2525  QString createFileFilter() const override;
2526 
2527  QVariantMap toVariantMap() const override;
2528  bool fromVariantMap( const QVariantMap &map ) override;
2529 
2533  static QgsProcessingParameterVectorLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2534 
2535 };
2536 
2544 {
2545  public:
2546 
2550  QgsProcessingParameterMeshLayer( const QString &name,
2551  const QString &description = QString(),
2552  const QVariant &defaultValue = QVariant(),
2553  bool optional = false );
2554 
2558  static QString typeName() { return QStringLiteral( "mesh" ); }
2560  QString type() const override { return typeName(); }
2561  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2562  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2563  QString createFileFilter() const override;
2564 
2568  static QgsProcessingParameterMeshLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2569 };
2570 
2578 {
2579  public:
2580 
2584  QgsProcessingParameterMapLayer( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2585  bool optional = false,
2586  const QList< int > &types = QList< int >() );
2587 
2591  static QString typeName() { return QStringLiteral( "layer" ); }
2593  QString type() const override { return typeName(); }
2594  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2595  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2596  QString asScriptCode() const override;
2598  QString createFileFilter() const override;
2599 
2600  QVariantMap toVariantMap() const override;
2601  bool fromVariantMap( const QVariantMap &map ) override;
2602 
2606  static QgsProcessingParameterMapLayer *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2607 
2608 };
2609 
2617 {
2618  public:
2619 
2622  {
2623  Any = -1,
2624  Numeric = 0,
2625  String = 1,
2626  DateTime = 2
2627  };
2628 
2632  QgsProcessingParameterField( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2633  const QString &parentLayerParameterName = QString(),
2634  DataType type = Any,
2635  bool allowMultiple = false,
2636  bool optional = false,
2637  bool defaultToAllFields = false );
2638 
2642  static QString typeName() { return QStringLiteral( "field" ); }
2644  QString type() const override { return typeName(); }
2645  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2646  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2647  QString asScriptCode() const override;
2649  QStringList dependsOnOtherParameters() const override;
2650 
2655  QString parentLayerParameterName() const;
2656 
2661  void setParentLayerParameterName( const QString &parentLayerParameterName );
2662 
2667  DataType dataType() const;
2668 
2673  void setDataType( DataType type );
2674 
2679  bool allowMultiple() const;
2680 
2685  void setAllowMultiple( bool allowMultiple );
2686 
2696  bool defaultToAllFields() const;
2697 
2707  void setDefaultToAllFields( bool enabled );
2708 
2709  QVariantMap toVariantMap() const override;
2710  bool fromVariantMap( const QVariantMap &map ) override;
2711 
2715  static QgsProcessingParameterField *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2716 
2717  private:
2718 
2719  QString mParentLayerParameterName;
2720  DataType mDataType = Any;
2721  bool mAllowMultiple = false;
2722  bool mDefaultToAllFields = false;
2723 
2724 };
2725 
2726 
2734 {
2735  public:
2736 
2740  QgsProcessingParameterFeatureSource( const QString &name, const QString &description = QString(),
2741  const QList< int > &types = QList< int >(),
2742  const QVariant &defaultValue = QVariant(), bool optional = false );
2743 
2747  static QString typeName() { return QStringLiteral( "source" ); }
2749  QString type() const override { return typeName(); }
2750  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2751  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2752  QString asScriptCode() const override;
2754  QString createFileFilter() const override;
2755 
2756  QVariantMap toVariantMap() const override;
2757  bool fromVariantMap( const QVariantMap &map ) override;
2758 
2762  static QgsProcessingParameterFeatureSource *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2763 
2764 };
2765 
2774 {
2775  public:
2776 
2783  QgsProcessingDestinationParameter( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
2784  bool optional = false, bool createByDefault = true );
2785 
2786  bool isDestination() const override { return true; }
2787  QVariantMap toVariantMap() const override;
2788  bool fromVariantMap( const QVariantMap &map ) override;
2790  QString createFileFilter() const override;
2791 
2797 
2803  bool supportsNonFileBasedOutput() const { return mSupportsNonFileBasedOutputs; }
2804 
2810  void setSupportsNonFileBasedOutput( bool supportsNonFileBasedOutput ) { mSupportsNonFileBasedOutputs = supportsNonFileBasedOutput; }
2811 
2816  virtual QString defaultFileExtension() const = 0;
2817 
2823  virtual QString generateTemporaryDestination() const;
2824 
2839  virtual bool isSupportedOutputValue( const QVariant &value, QgsProcessingContext &context, QString &error SIP_OUT ) const;
2840 
2846  bool createByDefault() const;
2847 
2853  void setCreateByDefault( bool createByDefault );
2854 
2855  protected:
2856 
2865  QgsProcessingProvider *originalProvider() const { return mOriginalProvider; }
2866 
2867  private:
2868 
2876  QgsProcessingProvider *mOriginalProvider = nullptr;
2877 
2878  bool mSupportsNonFileBasedOutputs = true;
2879  bool mCreateByDefault = true;
2880 
2881  friend class QgsProcessingModelAlgorithm;
2882  friend class TestQgsProcessing;
2883 };
2884 
2885 
2895 {
2896  public:
2897 
2904  QgsProcessingParameterFeatureSink( const QString &name, const QString &description = QString(), QgsProcessing::SourceType type = QgsProcessing::TypeVectorAnyGeometry, const QVariant &defaultValue = QVariant(),
2905  bool optional = false, bool createByDefault = true, bool supportsAppend = false );
2906 
2910  static QString typeName() { return QStringLiteral( "sink" ); }
2912  QString type() const override { return typeName(); }
2913  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
2914  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
2915  QString asScriptCode() const override;
2917  QString defaultFileExtension() const override;
2918  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
2919  QString createFileFilter() const override;
2920 
2926  virtual QStringList supportedOutputVectorLayerExtensions() const;
2927 
2932  QgsProcessing::SourceType dataType() const;
2933 
2938  bool hasGeometry() const;
2939 
2944  void setDataType( QgsProcessing::SourceType type );
2945 
2954  bool supportsAppend() const;
2955 
2964  void setSupportsAppend( bool supportsAppend );
2965 
2966  QVariantMap toVariantMap() const override;
2967  bool fromVariantMap( const QVariantMap &map ) override;
2968  QString generateTemporaryDestination() const override;
2969 
2973  static QgsProcessingParameterFeatureSink *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
2974 
2975  private:
2976 
2977  QgsProcessing::SourceType mDataType = QgsProcessing::TypeVectorAnyGeometry;
2978  bool mSupportsAppend = false;
2979 };
2980 
2981 
2993 {
2994  public:
2995 
3002  QgsProcessingParameterVectorDestination( const QString &name, const QString &description = QString(), QgsProcessing::SourceType type = QgsProcessing::TypeVectorAnyGeometry, const QVariant &defaultValue = QVariant(),
3003  bool optional = false, bool createByDefault = true );
3004 
3008  static QString typeName() { return QStringLiteral( "vectorDestination" ); }
3010  QString type() const override { return typeName(); }
3011  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3012  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3013  QString asScriptCode() const override;
3015  QString defaultFileExtension() const override;
3016  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
3017  QString createFileFilter() const override;
3018 
3024  virtual QStringList supportedOutputVectorLayerExtensions() const;
3025 
3030  QgsProcessing::SourceType dataType() const;
3031 
3036  bool hasGeometry() const;
3037 
3042  void setDataType( QgsProcessing::SourceType type );
3043 
3044  QVariantMap toVariantMap() const override;
3045  bool fromVariantMap( const QVariantMap &map ) override;
3046 
3050  static QgsProcessingParameterVectorDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3051 
3052 
3053  private:
3054 
3055  QgsProcessing::SourceType mDataType = QgsProcessing::TypeVectorAnyGeometry;
3056 };
3057 
3066 {
3067  public:
3068 
3075  QgsProcessingParameterRasterDestination( const QString &name, const QString &description = QString(),
3076  const QVariant &defaultValue = QVariant(),
3077  bool optional = false,
3078  bool createByDefault = true );
3079 
3083  static QString typeName() { return QStringLiteral( "rasterDestination" ); }
3085  QString type() const override { return typeName(); }
3086  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3087  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3089  QString defaultFileExtension() const override;
3090  QString createFileFilter() const override;
3091 
3097  virtual QStringList supportedOutputRasterLayerExtensions() const;
3098 
3102  static QgsProcessingParameterRasterDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3103 };
3104 
3127 {
3128  public:
3129 
3136  QgsProcessingParameterFileDestination( const QString &name, const QString &description = QString(),
3137  const QString &fileFilter = QString(),
3138  const QVariant &defaultValue = QVariant(),
3139  bool optional = false,
3140  bool createByDefault = true );
3141 
3145  static QString typeName() { return QStringLiteral( "fileDestination" ); }
3147  QString type() const override { return typeName(); }
3148  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3149  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3151  QString defaultFileExtension() const override;
3152  QString asPythonString( QgsProcessing::PythonOutputType outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass ) const override;
3153  QString createFileFilter() const override;
3154 
3159  QString fileFilter() const;
3160 
3165  void setFileFilter( const QString &filter );
3166 
3167  QVariantMap toVariantMap() const override;
3168  bool fromVariantMap( const QVariantMap &map ) override;
3169 
3173  static QgsProcessingParameterFileDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3174 
3175 
3176  private:
3177 
3178  QString mFileFilter;
3179 };
3180 
3190 {
3191  public:
3192 
3196  QgsProcessingParameterFolderDestination( const QString &name, const QString &description = QString(),
3197  const QVariant &defaultValue = QVariant(),
3198  bool optional = false,
3199  bool createByDefault = true );
3200 
3204  static QString typeName() { return QStringLiteral( "folderDestination" ); }
3206  QString type() const override { return typeName(); }
3207  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3209  QString defaultFileExtension() const override;
3210 
3214  static QgsProcessingParameterFolderDestination *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3215 
3216 };
3217 
3225 {
3226  public:
3227 
3231  QgsProcessingParameterBand( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3232  const QString &parentLayerParameterName = QString(),
3233  bool optional = false,
3234  bool allowMultiple = false );
3235 
3239  static QString typeName() { return QStringLiteral( "band" ); }
3241  QString type() const override { return typeName(); }
3242  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3243  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3244  QString asScriptCode() const override;
3245  QStringList dependsOnOtherParameters() const override;
3247 
3252  QString parentLayerParameterName() const;
3253 
3258  void setParentLayerParameterName( const QString &parentLayerParameterName );
3259 
3260  QVariantMap toVariantMap() const override;
3261  bool fromVariantMap( const QVariantMap &map ) override;
3262 
3266  static QgsProcessingParameterBand *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3267 
3273  bool allowMultiple() const;
3274 
3280  void setAllowMultiple( bool allowMultiple );
3281 
3282  private:
3283 
3284  QString mParentLayerParameterName;
3285  bool mAllowMultiple = false;
3286 };
3287 
3300 {
3301  public:
3302 
3306  QgsProcessingParameterLayout( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3307  bool optional = false );
3308 
3312  static QString typeName() { return QStringLiteral( "layout" ); }
3314  QString type() const override { return typeName(); }
3315  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3316  QString asScriptCode() const override;
3318 
3322  static QgsProcessingParameterLayout *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3323 
3324 };
3325 
3338 {
3339  public:
3340 
3344  QgsProcessingParameterLayoutItem( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3345  const QString &parentLayoutParameterName = QString(),
3346  int itemType = -1,
3347  bool optional = false );
3348 
3352  static QString typeName() { return QStringLiteral( "layoutitem" ); }
3354  QString type() const override { return typeName(); }
3355  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3356  QString asScriptCode() const override;
3358  QVariantMap toVariantMap() const override;
3359  bool fromVariantMap( const QVariantMap &map ) override;
3360  QStringList dependsOnOtherParameters() const override;
3361 
3365  static QgsProcessingParameterLayoutItem *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3366 
3371  QString parentLayoutParameterName() const;
3372 
3377  void setParentLayoutParameterName( const QString &name );
3378 
3386  int itemType() const;
3387 
3395  void setItemType( int type );
3396 
3397  private:
3398  QString mParentLayoutParameterName;
3399  int mItemType = -1;
3400 };
3401 
3412 {
3413  public:
3414 
3420  QgsProcessingParameterColor( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3421  bool opacityEnabled = true,
3422  bool optional = false );
3423 
3427  static QString typeName() { return QStringLiteral( "color" ); }
3429  QString type() const override { return typeName(); }
3430  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3431  QString asScriptCode() const override;
3433  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3434  QVariantMap toVariantMap() const override;
3435  bool fromVariantMap( const QVariantMap &map ) override;
3436 
3443  bool opacityEnabled() const;
3444 
3452  void setOpacityEnabled( bool enabled );
3453 
3457  static QgsProcessingParameterColor *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3458 
3459  private:
3460 
3461  bool mAllowOpacity = true;
3462 
3463 };
3464 
3465 
3476 {
3477  public:
3478 
3482  QgsProcessingParameterCoordinateOperation( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3483  const QString &sourceCrsParameterName = QString(), const QString &destinationCrsParameterName = QString(),
3484  const QVariant &staticSourceCrs = QVariant(), const QVariant &staticDestinationCrs = QVariant(),
3485  bool optional = false );
3486 
3490  static QString typeName() { return QStringLiteral( "coordinateoperation" ); }
3492  QString type() const override { return typeName(); }
3493  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3494  QString asScriptCode() const override;
3496  QStringList dependsOnOtherParameters() const override;
3497 
3498  QVariantMap toVariantMap() const override;
3499  bool fromVariantMap( const QVariantMap &map ) override;
3500 
3504  static QgsProcessingParameterCoordinateOperation *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3505 
3511  QString sourceCrsParameterName() const { return mSourceParameterName; }
3512 
3518  void setSourceCrsParameterName( const QString &name ) { mSourceParameterName = name; }
3519 
3525  QString destinationCrsParameterName() const { return mDestParameterName; }
3526 
3532  void setDestinationCrsParameterName( const QString &name ) { mDestParameterName = name; }
3533 
3539  QVariant sourceCrs() const { return mSourceCrs; }
3540 
3546  void setSourceCrs( const QVariant &crs ) { mSourceCrs = crs; }
3547 
3553  QVariant destinationCrs() const { return mDestCrs; }
3554 
3560  void setDestinationCrs( const QVariant &crs ) { mDestCrs = crs; }
3561 
3562  private:
3563 
3564  QString mSourceParameterName;
3565  QString mDestParameterName;
3566  QVariant mSourceCrs;
3567  QVariant mDestCrs;
3568 
3569 };
3570 
3571 
3582 {
3583  public:
3584 
3588  QgsProcessingParameterMapTheme( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(),
3589  bool optional = false );
3590 
3594  static QString typeName() { return QStringLiteral( "maptheme" ); }
3596  QString type() const override { return typeName(); }
3597  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3598  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3599  QString asScriptCode() const override;
3601  QVariantMap toVariantMap() const override;
3602  bool fromVariantMap( const QVariantMap &map ) override;
3603 
3607  static QgsProcessingParameterMapTheme *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3608 
3609  private:
3610 
3611 };
3612 
3613 
3625 {
3626  public:
3627 
3629  enum Type
3630  {
3634  };
3635 
3639  explicit QgsProcessingParameterDateTime( const QString &name, const QString &description = QString(),
3640  Type type = DateTime,
3641  const QVariant &defaultValue = QVariant(),
3642  bool optional = false,
3643  const QDateTime &minValue = QDateTime(),
3644  const QDateTime &maxValue = QDateTime()
3645  );
3646 
3650  static QString typeName() { return QStringLiteral( "datetime" ); }
3652  QString type() const override { return typeName(); }
3653  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3654  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3655  QString toolTip() const override;
3657 
3665  QDateTime minimum() const;
3666 
3678  void setMinimum( const QDateTime &minimum );
3679 
3687  QDateTime maximum() const;
3688 
3700  void setMaximum( const QDateTime &maximum );
3701 
3706  Type dataType() const;
3707 
3712  void setDataType( Type type );
3713 
3714  QVariantMap toVariantMap() const override;
3715  bool fromVariantMap( const QVariantMap &map ) override;
3716 
3720  static QgsProcessingParameterDateTime *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3721 
3722  private:
3723 
3724  QDateTime mMin;
3725  QDateTime mMax;
3726  Type mDataType = DateTime;
3727 };
3728 
3729 
3741 {
3742  public:
3743 
3750  QgsProcessingParameterProviderConnection( const QString &name, const QString &description, const QString &provider, const QVariant &defaultValue = QVariant(),
3751  bool optional = false );
3752 
3756  static QString typeName() { return QStringLiteral( "providerconnection" ); }
3758  QString type() const override { return typeName(); }
3759  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3760  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3761  QString asScriptCode() const override;
3763  QVariantMap toVariantMap() const override;
3764  bool fromVariantMap( const QVariantMap &map ) override;
3765 
3770  QString providerId() const { return mProviderId; }
3771 
3776  void setProviderId( const QString &provider ) { mProviderId = provider; }
3777 
3781  static QgsProcessingParameterProviderConnection *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3782 
3783  private:
3784 
3785  QString mProviderId;
3786 };
3787 
3788 
3800 {
3801  public:
3802 
3811  QgsProcessingParameterDatabaseSchema( const QString &name, const QString &description, const QString &connectionParameterName = QString(), const QVariant &defaultValue = QVariant(),
3812  bool optional = false );
3813 
3817  static QString typeName() { return QStringLiteral( "databaseschema" ); }
3819  QString type() const override { return typeName(); }
3820  bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
3821  QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
3822  QString asScriptCode() const override;
3824  QVariantMap toVariantMap() const override;
3825  bool fromVariantMap( const QVariantMap &map ) override;
3826  QStringList dependsOnOtherParameters() const override;
3827 
3832  QString parentConnectionParameterName() const;
3833 
3838  void setParentConnectionParameterName( const QString &name );
3839 
3843  static QgsProcessingParameterDatabaseSchema *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3844 
3845  private:
3846 
3847  QString mParentConnectionParameterName;
3848 };
3849 
3850 
3862 {
3863  public:
3864 
3874  QgsProcessingParameterDatabaseTable( const QString &name, const QString &description,
3875  const QString &connectionParameterName = QString(),
3876  const QString &schemaParameterName = QString(),
3877  const QVariant &defaultValue = QVariant(),
3878  bool optional = false,
3879  bool allowNewTableNames = false );
3880 
3884  static QString typeName() { return QStringLiteral( "databasetable" ); }
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;
3891  QVariantMap toVariantMap() const override;
3892  bool fromVariantMap( const QVariantMap &map ) override;
3893  QStringList dependsOnOtherParameters() const override;
3894 
3899  QString parentConnectionParameterName() const;
3900 
3905  void setParentConnectionParameterName( const QString &name );
3906 
3911  QString parentSchemaParameterName() const;
3912 
3917  void setParentSchemaParameterName( const QString &name );
3918 
3922  static QgsProcessingParameterDatabaseTable *fromScriptCode( const QString &name, const QString &description, bool isOptional, const QString &definition ) SIP_FACTORY;
3923 
3930  bool allowNewTableNames() const;
3931 
3938  void setAllowNewTableNames( bool allowed );
3939 
3940  private:
3941 
3942  QString mParentConnectionParameterName;
3943  QString mParentSchemaParameterName;
3944  bool mAllowNewTableNames = false;
3945 };
3946 
3947 
3948 // clazy:excludeall=qstring-allocations
3949 
3950 #endif // QGSPROCESSINGPARAMETERS_H
3951 
3952 
QgsProcessingFeatureSourceDefinition::selectedFeaturesOnly
bool selectedFeaturesOnly
true if only selected features in the source should be used by algorithms.
Definition: qgsprocessingparameters.h:122
QgsProcessingParameterMatrix
A table (matrix) parameter for processing algorithms.
Definition: qgsprocessingparameters.h:1792
QgsProcessingParameterDefinition::mHelp
QString mHelp
Parameter help.
Definition: qgsprocessingparameters.h:727
QgsProcessingDestinationParameter::toOutputDefinition
virtual QgsProcessingOutputDefinition * toOutputDefinition() const =0
Returns a new QgsProcessingOutputDefinition corresponding to the definition of the destination parame...
QgsProcessingParameterCoordinateOperation::sourceCrsParameterName
QString sourceCrsParameterName() const
Returns the name of the source CRS parameter, or an empty string if this is not set.
Definition: qgsprocessingparameters.h:3511
QgsProcessingParameterNumber::Double
@ Double
Double/float values.
Definition: qgsprocessingparameters.h:1967
QgsProcessingParameterField::DataType
DataType
Field data types.
Definition: qgsprocessingparameters.h:2622
QgsProcessingParameterProviderConnection::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:3756
QgsProcessingParameterDefinition::toVariantMap
virtual QVariantMap toVariantMap() const
Saves this parameter to a QVariantMap.
Definition: qgsprocessingparameters.cpp:2357
QgsProcessingParameterRasterDestination::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:3083
QgsProcessingDestinationParameter::isDestination
bool isDestination() const override
Returns true if this parameter represents a file or layer destination, e.g.
Definition: qgsprocessingparameters.h:2786
QgsProperty
A store for object properties.
Definition: qgsproperty.h:232
QgsProcessingParameterNumber::setDataType
void setDataType(Type type)
Sets the acceptable data type for the parameter.
Definition: qgsprocessingparameters.cpp:3906
qgsfilefiltergenerator.h
QgsFeatureRequest::GeometryAbortOnInvalid
@ GeometryAbortOnInvalid
Close iterator on encountering any features with invalid geometry. This requires a slow geometry vali...
Definition: qgsfeaturerequest.h:103
QgsProcessingParameterNumber::fromVariantMap
bool fromVariantMap(const QVariantMap &map) override
Restores this parameter to a QVariantMap.
Definition: qgsprocessingparameters.cpp:3920
QgsProcessingParameterDefinition::setDynamicPropertyDefinition
void setDynamicPropertyDefinition(const QgsPropertyDefinition &definition)
Sets the property definition for dynamic properties.
Definition: qgsprocessingparameters.h:656
QgsRemappingSinkDefinition
Defines the parameters used to remap features when creating a QgsRemappingProxyFeatureSink.
Definition: qgsremappingproxyfeaturesink.h:38
QgsProcessingParameterNumber
A numeric parameter for processing algorithms.
Definition: qgsprocessingparameters.h:1960
operator==
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
Definition: qgsfeatureiterator.h:400
QgsProcessingParameterDefinition::valueAsPythonString
virtual QString valueAsPythonString(const QVariant &value, QgsProcessingContext &context) const
Returns a string version of the parameter input value, which is suitable for use as an input paramete...
Definition: qgsprocessingparameters.cpp:2312
QgsUnitTypes::DistanceUnknownUnit
@ DistanceUnknownUnit
Unknown distance unit.
Definition: qgsunittypes.h:78
QgsProcessingFeedback
Base class for providing feedback from a processing algorithm.
Definition: qgsprocessingfeedback.h:38
QgsProcessingParameterDefinition::description
QString description() const
Returns the description for the parameter.
Definition: qgsprocessingparameters.h:474
QgsProcessingDestinationParameter::originalProvider
QgsProcessingProvider * originalProvider() const
Original (source) provider which this parameter has been derived from.
Definition: qgsprocessingparameters.h:2865
QgsProcessingParameterDefinition::setIsDynamic
void setIsDynamic(bool dynamic)
Sets whether the parameter is dynamic, and can support data-defined values (i.e.
Definition: qgsprocessingparameters.h:640
algorithm
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
SIP_OUT
#define SIP_OUT
Definition: qgis_sip.h:58
crs
const QgsCoordinateReferenceSystem & crs
Definition: qgswfsgetfeature.cpp:51
QgsProcessingParameterDefinition::flags
Flags flags() const
Returns any flags associated with the parameter.
Definition: qgsprocessingparameters.h:522
QgsProcessingParameterDefinition::mMetadata
QVariantMap mMetadata
Freeform metadata for parameter. Mostly used by widget wrappers to customize their appearance and beh...
Definition: qgsprocessingparameters.h:736
QgsProcessingParameterRasterDestination
A raster layer destination parameter, for specifying the destination path for a raster layer created ...
Definition: qgsprocessingparameters.h:3066
QgsProcessingParameterDefinition::metadata
QVariantMap metadata() const
Returns the parameter's freeform metadata.
Definition: qgsprocessingparameters.h:582
QgsProcessingParameterFile::Folder
@ Folder
Parameter is a folder.
Definition: qgsprocessingparameters.h:1696
QgsProcessingParameterMapTheme
A map theme parameter for processing algorithms, allowing users to select an existing map theme from ...
Definition: qgsprocessingparameters.h:3582
QgsProcessingParameterFile::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:1712
QgsFields
Container of fields for a vector layer.
Definition: qgsfields.h:45
QgsProcessingProvider
Abstract base class for processing providers.
Definition: qgsprocessingprovider.h:35
QgsProcessingParameterLayoutItem::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:3352
QgsProcessingParameterDefinition::additionalExpressionContextVariables
QStringList additionalExpressionContextVariables() const
Returns a list of additional expression context variables which are available for use when evaluating...
Definition: qgsprocessingparameters.h:697
QgsProcessingParameterGeometry::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:1649
qgis.h
QgsProcessingParameterVectorDestination::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:3008
QgsProcessingParameterLimitedDataTypes
Can be inherited by parameters which require limits to their acceptable data types.
Definition: qgsprocessingparameters.h:2470
QgsProcessingFeatureSourceDefinition::flags
Flags flags
Flags which dictate source behavior.
Definition: qgsprocessingparameters.h:137
QgsProcessingParameterMultipleLayers::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:1891
QgsProcessingParameterDefinition
Base class for the definition of processing parameters.
Definition: qgsprocessingparameters.h:331
QgsProcessingParameterFeatureSource
An input feature source (such as vector layers) parameter for processing algorithms.
Definition: qgsprocessingparameters.h:2734
QgsProcessingOutputLayerDefinition
Encapsulates settings relating to a feature sink or output raster layer for a processing algorithm.
Definition: qgsprocessingparameters.h:200
QgsWkbTypes::Type
Type
The WKB type describes the number of dimensions a geometry has.
Definition: qgswkbtypes.h:70
QgsProcessingParameterMapLayer
A map layer parameter for processing algorithms.
Definition: qgsprocessingparameters.h:2578
QgsProcessingParameterDefinition::isDynamic
bool isDynamic() const
Returns true if the parameter supports is dynamic, and can support data-defined values (i....
Definition: qgsprocessingparameters.h:631
QgsProcessingFeatureSourceDefinition::operator==
bool operator==(const QgsProcessingFeatureSourceDefinition &other) const
Definition: qgsprocessingparameters.h:165
QgsProcessingFeatureSourceDefinition::geometryCheck
QgsFeatureRequest::InvalidGeometryCheck geometryCheck
Geometry check method to apply to this source.
Definition: qgsprocessingparameters.h:147
QgsProcessingParameterNumber::clone
QgsProcessingParameterDefinition * clone() const override
Creates a clone of the parameter definition.
Definition: qgsprocessingparameters.cpp:3801
QgsProcessingParameterDefinition::setDefaultValue
void setDefaultValue(const QVariant &value)
Sets the default value for the parameter.
Definition: qgsprocessingparameters.h:516
QgsProcessingUtils::LayerHint
LayerHint
Layer type hints.
Definition: qgsprocessingutils.h:137
QgsFeatureRequest::InvalidGeometryCheck
InvalidGeometryCheck
Handling of features with invalid geometries.
Definition: qgsfeaturerequest.h:100
QgsUnitTypes::DistanceUnit
DistanceUnit
Units of distance.
Definition: qgsunittypes.h:68
QgsProcessingParameterLayout::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:3312
QgsProcessingParameterMultipleLayers
A parameter for processing algorithms which accepts multiple map layers.
Definition: qgsprocessingparameters.h:1878
QgsProcessingDestinationParameter::toVariantMap
QVariantMap toVariantMap() const override
Saves this parameter to a QVariantMap.
Definition: qgsprocessingparameters.cpp:5964
QgsProcessingFeatureSourceDefinition::source
QgsProperty source
Source definition.
Definition: qgsprocessingparameters.h:117
operator!=
bool operator!=(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
Definition: qgsfeatureiterator.h:405
QgsRectangle
A rectangle specified with double values.
Definition: qgsrectangle.h:42
QgsProcessingParameterMeshLayer::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:2558
QgsProcessingParameterDefinitions
QList< const QgsProcessingParameterDefinition * > QgsProcessingParameterDefinitions
List of processing parameters.
Definition: qgsprocessingparameters.h:761
QgsProcessingParameterCoordinateOperation::destinationCrs
QVariant destinationCrs() const
Returns the static destination CRS, or an invalid value if this is not set.
Definition: qgsprocessingparameters.h:3553
QgsProcessingParameterDatabaseTable::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:3884
QgsProject
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition: qgsproject.h:95
QgsProcessingParameterNumber::dataType
Type dataType() const
Returns the acceptable data type for the parameter.
Definition: qgsprocessingparameters.cpp:3901
QgsProcessingParameterBand::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:3239
SIP_FACTORY
#define SIP_FACTORY
Definition: qgis_sip.h:76
QgsProcessingParameterAuthConfig
A string parameter for authentication configuration ID values.
Definition: qgsprocessingparameters.h:2384
QgsProcessingParameterColor
A color parameter for processing algorithms.
Definition: qgsprocessingparameters.h:3412
QgsProcessingParameterFeatureSink::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:2910
QgsProcessingParameterDatabaseTable
A database table name parameter for processing algorithms, allowing users to select from existing dat...
Definition: qgsprocessingparameters.h:3862
QgsProcessingDestinationParameter::setSupportsNonFileBasedOutput
void setSupportsNonFileBasedOutput(bool supportsNonFileBasedOutput)
Sets whether the destination parameter supports non filed-based outputs, such as memory layers or dir...
Definition: qgsprocessingparameters.h:2810
Q_DECLARE_METATYPE
Q_DECLARE_METATYPE(QgsMeshTimeSettings)
QgsProcessingParameterFeatureSink
A feature sink output for processing algorithms.
Definition: qgsprocessingparameters.h:2895
QgsProcessingDestinationParameter
Base class for all parameter definitions which represent file or layer destinations,...
Definition: qgsprocessingparameters.h:2774
QgsProcessingOutputDefinition
Base class for the definition of processing outputs.
Definition: qgsprocessingoutputs.h:42
SIP_CONVERT_TO_SUBCLASS_CODE
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
Definition: qgis_sip.h:177
QgsProcessingFeatureSourceDefinition
Encapsulates settings relating to a feature source input to a processing algorithm.
Definition: qgsprocessingparameters.h:56
QgsFeatureRequest
This class wraps a request for features to a vector layer (or directly its vector data provider).
Definition: qgsfeaturerequest.h:76
QgsProcessingDestinationParameter::fromVariantMap
bool fromVariantMap(const QVariantMap &map) override
Restores this parameter to a QVariantMap.
Definition: qgsprocessingparameters.cpp:5972
QgsProcessingParameterColor::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:3427
QgsProcessingParameterScale
A double numeric parameter for map scale values.
Definition: qgsprocessingparameters.h:2136
QgsProcessingParameterRange
A numeric range parameter for processing algorithms.
Definition: qgsprocessingparameters.h:2170
SIP_SKIP
#define SIP_SKIP
Definition: qgis_sip.h:126
QgsProcessingParameterRange::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:2184
QgsPrintLayout
Print layout, a QgsLayout subclass for static or atlas-based layouts.
Definition: qgsprintlayout.h:31
QgsProcessingParameterCoordinateOperation::destinationCrsParameterName
QString destinationCrsParameterName() const
Returns the name of the destination CRS parameter, or an empty string if this is not set.
Definition: qgsprocessingparameters.h:3525
SIP_THROW
#define SIP_THROW(name)
Definition: qgis_sip.h:189
QgsProcessing::PythonQgsProcessingAlgorithmSubclass
@ PythonQgsProcessingAlgorithmSubclass
Full Python QgsProcessingAlgorithm subclass.
Definition: qgsprocessing.h:60
QgsProcessingParameterDefinition::fromVariantMap
virtual bool fromVariantMap(const QVariantMap &map)
Restores this parameter to a QVariantMap.
Definition: qgsprocessingparameters.cpp:2370
QgsProcessingParameterDistance::setDefaultUnit
void setDefaultUnit(QgsUnitTypes::DistanceUnit unit)
Sets the default distance unit for the parameter.
Definition: qgsprocessingparameters.h:2113
QgsProcessingParameterAuthConfig::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:2396
QgsProcessingParameterMeshLayer
A mesh layer parameter for processing algorithms.
Definition: qgsprocessingparameters.h:2544
QgsProcessingFeatureSourceDefinition::QgsProcessingFeatureSourceDefinition
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.
Definition: qgsprocessingparameters.h:105
QgsProcessingParameterDateTime::DateTime
@ DateTime
Datetime values.
Definition: qgsprocessingparameters.h:3631
QgsProcessingParameterCrs
A coordinate reference system parameter for processing algorithms.
Definition: qgsprocessingparameters.h:1538
QgsProcessingParameterRasterLayer::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:2235
QgsProcessingParameterPoint::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:1615
QgsProcessingParameterDefinition::mFlags
Flags mFlags
Parameter flags.
Definition: qgsprocessingparameters.h:733
QgsProcessingParameterFile::setBehavior
void setBehavior(Behavior behavior)
Sets the parameter behavior (e.g.
Definition: qgsprocessingparameters.h:1729
QgsProcessingParameterExtent::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:1582
QgsProcessingParameterDefinition::setName
void setName(const QString &name)
Sets the name of the parameter.
Definition: qgsprocessingparameters.h:467
QgsFileFilterGenerator
Abstract interface for classes which generate a file filter string.
Definition: qgsfilefiltergenerator.h:34
QgsProcessingContext
Contains information about the context in which a processing algorithm is executed.
Definition: qgsprocessingcontext.h:44
QgsProcessingParameterGeometry
A geometry parameter for processing algorithms.
Definition: qgsprocessingparameters.h:1635
QgsProcessingParameterDefinition::toolTip
virtual QString toolTip() const
Returns a formatted tooltip for use with the parameter, which gives helpful information like paramete...
Definition: qgsprocessingparameters.cpp:2391
QgsProcessingParameterDefinition::mDescription
QString mDescription
Parameter description.
Definition: qgsprocessingparameters.h:724
QgsProcessingParameterFileDestination
A generic file based destination parameter, for specifying the destination path for a file (non-map l...
Definition: qgsprocessingparameters.h:3127
QgsProcessingParameterFile::extension
QString extension() const
Returns any specified file extension for the parameter.
Definition: qgsprocessingparameters.h:1738
QgsMeshLayer
Represents a mesh layer supporting display of data on structured or unstructured meshes.
Definition: qgsmeshlayer.h:95
QgsProcessingParameterDefinition::name
QString name() const
Returns the name of the parameter.
Definition: qgsprocessingparameters.h:460
QgsProcessingParameterField::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:2642
QgsProcessingParameterDefinition::setMetadata
void setMetadata(const QVariantMap &metadata)
Sets the parameter's freeform metadata.
Definition: qgsprocessingparameters.h:596
QgsProcessingParameterLayoutItem
A print layout item parameter, allowing users to select a particular item from a print layout.
Definition: qgsprocessingparameters.h:3338
QgsProcessingOutputLayerDefinition::remappingDefinition
QgsRemappingSinkDefinition remappingDefinition() const
Returns the output remapping definition, if useRemapping() is true.
Definition: qgsprocessingparameters.h:263
QgsProcessing::TypeVectorAnyGeometry
@ TypeVectorAnyGeometry
Any vector layer with geometry.
Definition: qgsprocessing.h:47
QgsProcessingParameterString
A string parameter for processing algorithms.
Definition: qgsprocessingparameters.h:2324
QgsProcessingParameterDefinition::help
QString help() const
Returns the help for the parameter.
Definition: qgsprocessingparameters.h:492
QgsProcessingParameterDefinition::setDescription
void setDescription(const QString &description)
Sets the description for the parameter.
Definition: qgsprocessingparameters.h:481
QgsProcessingParameterExtent
A rectangular map extent parameter for processing algorithms.
Definition: qgsprocessingparameters.h:1570
QgsProcessingParameterCoordinateOperation::setDestinationCrsParameterName
void setDestinationCrsParameterName(const QString &name)
Sets the name of the destination CRS parameter.
Definition: qgsprocessingparameters.h:3532
QgsProcessingParameterDefinition::metadata
QVariantMap & metadata()
Returns the parameter's freeform metadata.
Definition: qgsprocessingparameters.h:589
QgsProcessingParameterString::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:2337
qgsfeaturesource.h
Q_DECLARE_OPERATORS_FOR_FLAGS
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.
QgsProcessingParameterEnum::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:2270
QgsProcessingParameterDefinition::mDynamicLayerParameterName
QString mDynamicLayerParameterName
Linked vector layer parameter name for dynamic properties.
Definition: qgsprocessingparameters.h:748
QgsProcessingParameterDefinition::dynamicLayerParameterName
QString dynamicLayerParameterName() const
Returns the name of the parameter for a layer linked to a dynamic parameter, or an empty string if th...
Definition: qgsprocessingparameters.h:669
QgsUnitTypes
Helper functions for various unit types.
Definition: qgsunittypes.h:39
QgsProcessingParameterProviderConnection::providerId
QString providerId() const
Returns the ID of the provider associated with the connections.
Definition: qgsprocessingparameters.h:3770
QgsProcessingOutputLayerDefinition::QgsProcessingOutputLayerDefinition
QgsProcessingOutputLayerDefinition(const QgsProperty &sink, QgsProject *destinationProject=nullptr)
Constructor for QgsProcessingOutputLayerDefinition, accepting a QgsProperty sink/layer.
Definition: qgsprocessingparameters.h:218
QgsProcessingParameterRasterLayer
A raster layer parameter for processing algorithms.
Definition: qgsprocessingparameters.h:2223
QgsPropertyDefinition
Definition for a property.
Definition: qgsproperty.h:48
QgsProcessingParameterDefinition::setHelp
void setHelp(const QString &help)
Sets the help for the parameter.
Definition: qgsprocessingparameters.h:503
QgsProcessing
Contains enumerations and other constants for use in processing algorithms and parameters.
Definition: qgsprocessing.h:39
QgsProcessingParameterProviderConnection
A data provider connection parameter for processing algorithms, allowing users to select from availab...
Definition: qgsprocessingparameters.h:3741
QgsProcessingFeatureSourceDefinition::operator!=
bool operator!=(const QgsProcessingFeatureSourceDefinition &other) const
Definition: qgsprocessingparameters.h:174
QgsProcessingParameterFile
An input file or folder parameter for processing algorithms.
Definition: qgsprocessingparameters.h:1689
typeName
const QString & typeName
Definition: qgswfsgetfeature.cpp:55
QgsProcessingParameterNumber::asPythonString
QString asPythonString(QgsProcessing::PythonOutputType outputType=QgsProcessing::PythonQgsProcessingAlgorithmSubclass) const override
Returns the parameter definition as a Python command which can be used within a Python Processing scr...
Definition: qgsprocessingparameters.cpp:3857
QgsProcessingParameterVectorLayer
A vector layer (with or without geometry) parameter for processing algorithms.
Definition: qgsprocessingparameters.h:2504
QgsLayoutItem
Base class for graphical items within a QgsLayout.
Definition: qgslayoutitem.h:113
QgsProcessingParameterDefinition::~QgsProcessingParameterDefinition
virtual ~QgsProcessingParameterDefinition()=default
QgsProcessingParameterFeatureSource::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:2747
QgsRasterLayer
Represents a raster layer.
Definition: qgsrasterlayer.h:71
QgsProcessingDestinationParameter::defaultFileExtension
virtual QString defaultFileExtension() const =0
Returns the default file extension for destination file paths associated with this parameter.
QgsProcessingParameterFolderDestination::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:3204
QgsProcessingParameterNumber::Integer
@ Integer
Integer values.
Definition: qgsprocessingparameters.h:1966
QgsProcessingParameterDateTime::Time
@ Time
Time values.
Definition: qgsprocessingparameters.h:3633
QgsCoordinateReferenceSystem
This class represents a coordinate reference system (CRS).
Definition: qgscoordinatereferencesystem.h:206
QgsProcessingParameterLayout
A print layout parameter, allowing users to select a print layout.
Definition: qgsprocessingparameters.h:3300
QgsProcessingParameterVectorDestination
A vector layer destination parameter, for specifying the destination path for a vector layer created ...
Definition: qgsprocessingparameters.h:2993
QgsProcessingParameterDatabaseSchema
A database schema parameter for processing algorithms, allowing users to select from existing schemas...
Definition: qgsprocessingparameters.h:3800
QgsProcessingParameterDistance
A double numeric parameter for distance values.
Definition: qgsprocessingparameters.h:2063
QgsProcessingParameterPoint
A point parameter for processing algorithms.
Definition: qgsprocessingparameters.h:1603
QgsFileFilterGenerator::createFileFilter
virtual QString createFileFilter() const =0
This method needs to be reimplemented in all classes which implement this interface and return a file...
QgsPointXY
A class to represent a 2D point.
Definition: qgspointxy.h:44
QgsProcessingParameterCoordinateOperation::setSourceCrs
void setSourceCrs(const QVariant &crs)
Sets the static source crs.
Definition: qgsprocessingparameters.h:3546
QgsProcessingParameterFileDestination::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:3145
qgsprocessingutils.h
QgsProcessingParameterDefinition::mName
QString mName
Parameter name.
Definition: qgsprocessingparameters.h:721
QgsProcessingFeatureSourceDefinition::featureLimit
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...
Definition: qgsprocessingparameters.h:130
QgsProcessingParameterBoolean
A boolean parameter for processing algorithms.
Definition: qgsprocessingparameters.h:1507
QgsProcessingOutputLayerDefinition::createOptions
QVariantMap createOptions
Map of optional sink/layer creation options, which are passed to the underlying provider when creatin...
Definition: qgsprocessingparameters.h:246
QgsProcessingParameterDefinition::mAdditionalExpressionVariables
QStringList mAdditionalExpressionVariables
Additional expression context variables exposed for use by this parameter.
Definition: qgsprocessingparameters.h:751
QgsProcessingDestinationParameter::supportsNonFileBasedOutput
bool supportsNonFileBasedOutput() const
Returns true if the destination parameter supports non filed-based outputs, such as memory layers or ...
Definition: qgsprocessingparameters.h:2803
QgsProcessingParameterGeometry::setGeometryTypes
void setGeometryTypes(const QList< int > &geometryTypes)
Sets the allowed geometryTypes, as a list of QgsWkbTypes::GeometryType values.
Definition: qgsprocessingparameters.h:1669
QgsProcessingParameterDefinition::dynamicPropertyDefinition
QgsPropertyDefinition dynamicPropertyDefinition() const
Returns the property definition for dynamic properties.
Definition: qgsprocessingparameters.h:648
QgsProcessingParameterDateTime
A datetime (or pure date or time) parameter for processing algorithms.
Definition: qgsprocessingparameters.h:3625
QgsProcessingAlgorithm
Abstract base class for processing algorithms.
Definition: qgsprocessingalgorithm.h:52
QgsProcessingParameterFieldMapping::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameterfieldmap.h:47
qgsprocessing.h
QgsGeometry
A geometry is the spatial representation of a feature.
Definition: qgsgeometry.h:124
QgsVectorLayer
Represents a vector layer which manages a vector based data sets.
Definition: qgsvectorlayer.h:387
QgsProcessingParameterExpression
An expression parameter for processing algorithms.
Definition: qgsprocessingparameters.h:2416
QgsProcessingParameterExpression::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:2429
QgsMapLayer
Base class for all map layer types.
Definition: qgsmaplayer.h:83
QgsProcessingParameterMapTheme::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:3594
QgsProcessingParameterDistance::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:2079
QgsProcessingParameterCoordinateOperation::setSourceCrsParameterName
void setSourceCrsParameterName(const QString &name)
Sets the name of the source CRS parameter.
Definition: qgsprocessingparameters.h:3518
QgsProcessingParameterDefinition::asScriptCode
virtual QString asScriptCode() const
Returns the parameter definition encoded in a string which can be used within a Processing script.
Definition: qgsprocessingparameters.cpp:2323
QgsProcessingFeatureSource
QgsFeatureSource subclass which proxies methods to an underlying QgsFeatureSource,...
Definition: qgsprocessingutils.h:471
QgsProcessingParameterMatrix::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:1806
QgsProcessingParameters
A collection of utilities for working with parameters when running a processing algorithm.
Definition: qgsprocessingparameters.h:782
QgsProcessingParameterDateTime::Type
Type
Datetime data type.
Definition: qgsprocessingparameters.h:3630
QgsProcessingParameterDefinition::asPythonString
virtual QString asPythonString(QgsProcessing::PythonOutputType outputType=QgsProcessing::PythonQgsProcessingAlgorithmSubclass) const
Returns the parameter definition as a Python command which can be used within a Python Processing scr...
Definition: qgsprocessingparameters.cpp:2333
QgsProcessingParameterBoolean::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:1519
qgsproperty.h
QgsProcessingParameterBand
A raster band parameter for Processing algorithms.
Definition: qgsprocessingparameters.h:3225
QgsProcessingParameterLimitedDataTypes::mDataTypes
QList< int > mDataTypes
List of acceptable data types for the parameter.
Definition: qgsprocessingparameters.h:2493
QgsProcessingDestinationParameter::asPythonString
QString asPythonString(QgsProcessing::PythonOutputType outputType=QgsProcessing::PythonQgsProcessingAlgorithmSubclass) const override
Returns the parameter definition as a Python command which can be used within a Python Processing scr...
Definition: qgsprocessingparameters.cpp:5980
QgsProcessingParameterGeometry::geometryTypes
QList< int > geometryTypes() const
Returns the parameter allowed geometries, as a list of QgsWkbTypes::GeometryType values.
Definition: qgsprocessingparameters.h:1663
QgsProcessingParameterNumber::toVariantMap
QVariantMap toVariantMap() const override
Saves this parameter to a QVariantMap.
Definition: qgsprocessingparameters.cpp:3911
QgsProcessingParameterDefinition::mDefault
QVariant mDefault
Default value for parameter.
Definition: qgsprocessingparameters.h:730
QgsProcessingParameterDefinition::setAdditionalExpressionContextVariables
void setAdditionalExpressionContextVariables(const QStringList &variables)
Sets a list of additional expression context variables which are available for use when evaluating th...
Definition: qgsprocessingparameters.h:716
QgsProcessingParameterDefinition::mPropertyDefinition
QgsPropertyDefinition mPropertyDefinition
Data defined property definition.
Definition: qgsprocessingparameters.h:745
QgsProcessingParameterDefinition::isDestination
virtual bool isDestination() const
Returns true if this parameter represents a file or layer destination, e.g.
Definition: qgsprocessingparameters.h:453
QgsProcessingParameterDefinition::clone
virtual QgsProcessingParameterDefinition * clone() const =0
Creates a clone of the parameter definition.
QgsProcessingFeatureSourceDefinition::Flag
Flag
Flags which control source behavior.
Definition: qgsprocessingparameters.h:64
QgsProcessingParameterDefinition::setDynamicLayerParameterName
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...
Definition: qgsprocessingparameters.h:682
qgsremappingproxyfeaturesink.h
QgsProcessingParameterVectorLayer::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:2519
QgsProcessingParameterScale::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:2149
QgsProcessingParameterCoordinateOperation::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:3490
QgsProcessingParameterNumber::checkValueIsAcceptable
bool checkValueIsAcceptable(const QVariant &input, QgsProcessingContext *context=nullptr) const override
Checks whether the specified input value is acceptable for the parameter.
Definition: qgsprocessingparameters.cpp:3806
QgsProcessingParameterDefinition::provider
QgsProcessingProvider * provider() const
Returns a pointer to the provider for the algorithm which owns this parameter.
Definition: qgsprocessingparameters.cpp:2386
QgsProcessingParameterDefinition::type
virtual QString type() const =0
Unique parameter type name.
QgsProcessingParameterEnum
An enum based parameter for processing algorithms, allowing for selection from predefined values.
Definition: qgsprocessingparameters.h:2256
QgsProcessingOutputLayerDefinition::sink
QgsProperty sink
Sink/layer definition.
Definition: qgsprocessingparameters.h:226
QgsProcessingOutputLayerDefinition::destinationName
QString destinationName
Name to use for sink if it's to be loaded into a destination project.
Definition: qgsprocessingparameters.h:238
QgsProcessingParameterCoordinateOperation
A coordinate operation parameter for processing algorithms, for selection between available coordinat...
Definition: qgsprocessingparameters.h:3476
QgsProcessingParameterDefinition::defaultValue
QVariant defaultValue() const
Returns the default value for the parameter.
Definition: qgsprocessingparameters.h:509
QgsProcessingOutputLayerDefinition::QgsProcessingOutputLayerDefinition
QgsProcessingOutputLayerDefinition(const QString &sink=QString(), QgsProject *destinationProject=nullptr)
Constructor for QgsProcessingOutputLayerDefinition, accepting a static sink/layer string.
Definition: qgsprocessingparameters.h:208
QgsProcessingParameterNumber::Type
Type
Numeric data type.
Definition: qgsprocessingparameters.h:1965
QgsProcessing::PythonOutputType
PythonOutputType
Available Python output types.
Definition: qgsprocessing.h:59
QgsProcessingParameterDefinition::Flag
Flag
Parameter flags.
Definition: qgsprocessingparameters.h:422
QgsProcessingParameterFile::behavior
Behavior behavior() const
Returns the parameter behavior (e.g.
Definition: qgsprocessingparameters.h:1723
QgsProcessingParameterCoordinateOperation::setDestinationCrs
void setDestinationCrs(const QVariant &crs)
Sets the static destination crs.
Definition: qgsprocessingparameters.h:3560
QgsProcessingParameterDefinition::dependsOnOtherParameters
virtual QStringList dependsOnOtherParameters() const
Returns a list of other parameter names on which this parameter is dependent (e.g.
Definition: qgsprocessingparameters.h:602
SIP_END
#define SIP_END
Definition: qgis_sip.h:194
QgsProcessingParameterDefinition::checkValueIsAcceptable
virtual bool checkValueIsAcceptable(const QVariant &input, QgsProcessingContext *context=nullptr) const
Checks whether the specified input value is acceptable for the parameter.
Definition: qgsprocessingparameters.cpp:2300
qgscoordinatereferencesystem.h
QgsProcessingParameterNumber::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:1984
QgsProcessing::SourceType
SourceType
Data source types enum.
Definition: qgsprocessing.h:45
QgsProcessingParameterCoordinateOperation::sourceCrs
QVariant sourceCrs() const
Returns the static source CRS, or an invalid value if this is not set.
Definition: qgsprocessingparameters.h:3539
QgsProcessingParameterDateTime::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:3650
QgsProcessingException
Custom exception class for processing related exceptions.
Definition: qgsexception.h:83
QgsProcessingParameterField
A vector layer or feature source field parameter for processing algorithms.
Definition: qgsprocessingparameters.h:2617
QgsProcessingParameterCrs::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:1550
QgsProcessingOutputLayerDefinition::useRemapping
bool useRemapping() const
Returns true if the output uses a remapping definition.
Definition: qgsprocessingparameters.h:254
QgsFeatureSink
An interface for objects which accept features via addFeature(s) methods.
Definition: qgsfeaturesink.h:34
QgsProcessingParameterDateTime::Date
@ Date
Date values.
Definition: qgsprocessingparameters.h:3632
QgsProcessingParameterNumber::fromScriptCode
static QgsProcessingParameterNumber * fromScriptCode(const QString &name, const QString &description, bool isOptional, const QString &definition)
Creates a new parameter using the definition from a script code.
Definition: qgsprocessingparameters.cpp:3929
QgsProcessingParameterProviderConnection::setProviderId
void setProviderId(const QString &provider)
Sets the ID of the provider associated with the connections.
Definition: qgsprocessingparameters.h:3776
QgsProcessingParameterMapLayer::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:2591
QgsProcessingParameterFile::Behavior
Behavior
Parameter behavior.
Definition: qgsprocessingparameters.h:1694
QgsProcessingParameterDatabaseSchema::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameters.h:3817
QgsProcessingParameterTinInputLayers::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparametertininputlayers.h:65
QgsProcessingUtils::LayerHint::UnknownType
@ UnknownType
Unknown layer type.
QgsProcessingParameterFolderDestination
A folder destination parameter, for specifying the destination path for a folder created by the algor...
Definition: qgsprocessingparameters.h:3190
QgsProcessingParameterDefinition::setFlags
void setFlags(Flags flags)
Sets the flags associated with the parameter.
Definition: qgsprocessingparameters.h:528
QgsProcessingParameterNumber::valueAsPythonString
QString valueAsPythonString(const QVariant &value, QgsProcessingContext &context) const override
Returns a string version of the parameter input value, which is suitable for use as an input paramete...
Definition: qgsprocessingparameters.cpp:3830