18 #ifndef QGSPROCESSINGPARAMETERS_H 19 #define QGSPROCESSINGPARAMETERS_H 21 #include "qgis_core.h" 60 , selectedFeaturesOnly( selectedFeaturesOnly )
68 , selectedFeaturesOnly( selectedFeaturesOnly )
88 return !( *
this == other );
92 operator QVariant()
const 94 return QVariant::fromValue( *
this );
121 , destinationProject( destinationProject )
131 , destinationProject( destinationProject )
165 QVariant toVariant()
const;
173 bool loadVariant(
const QVariantMap &map );
176 operator QVariant()
const 178 return QVariant::fromValue( *
this );
210 sipType = sipType_QgsProcessingParameterBoolean;
212 sipType = sipType_QgsProcessingParameterCrs;
214 sipType = sipType_QgsProcessingParameterMapLayer;
216 sipType = sipType_QgsProcessingParameterExtent;
218 sipType = sipType_QgsProcessingParameterPoint;
220 sipType = sipType_QgsProcessingParameterFile;
222 sipType = sipType_QgsProcessingParameterMatrix;
224 sipType = sipType_QgsProcessingParameterMultipleLayers;
226 sipType = sipType_QgsProcessingParameterNumber;
228 sipType = sipType_QgsProcessingParameterDistance;
230 sipType = sipType_QgsProcessingParameterRange;
232 sipType = sipType_QgsProcessingParameterRasterLayer;
234 sipType = sipType_QgsProcessingParameterMeshLayer;
236 sipType = sipType_QgsProcessingParameterEnum;
238 sipType = sipType_QgsProcessingParameterString;
240 sipType = sipType_QgsProcessingParameterExpression;
242 sipType = sipType_QgsProcessingParameterAuthConfig;
244 sipType = sipType_QgsProcessingParameterVectorLayer;
246 sipType = sipType_QgsProcessingParameterField;
248 sipType = sipType_QgsProcessingParameterFeatureSource;
250 sipType = sipType_QgsProcessingParameterFeatureSink;
252 sipType = sipType_QgsProcessingParameterVectorDestination;
254 sipType = sipType_QgsProcessingParameterRasterDestination;
256 sipType = sipType_QgsProcessingParameterFileDestination;
258 sipType = sipType_QgsProcessingParameterFolderDestination;
260 sipType = sipType_QgsProcessingParameterBand;
271 FlagAdvanced = 1 << 1,
273 FlagOptional = 1 << 3,
274 FlagIsModelOutput = 1 << 4,
276 Q_DECLARE_FLAGS( Flags,
Flag )
281 QgsProcessingParameterDefinition(
const QString &name,
const QString &description = QString(),
const QVariant &defaultValue = QVariant(),
282 bool optional =
false );
284 virtual ~QgsProcessingParameterDefinition() =
default;
289 virtual QgsProcessingParameterDefinition *clone()
const = 0
SIP_FACTORY;
294 virtual QString type()
const = 0;
308 QString
name()
const {
return mName; }
315 void setName(
const QString &name ) { mName = name; }
329 void setDescription(
const QString &description ) { mDescription = description; }
348 Flags
flags()
const {
return mFlags; }
363 virtual bool checkValueIsAcceptable(
const QVariant &input,
QgsProcessingContext *context =
nullptr )
const;
369 virtual QString valueAsPythonString(
const QVariant &value,
QgsProcessingContext &context )
const;
375 virtual QString asScriptCode()
const;
393 virtual QVariantMap toVariantMap()
const;
400 virtual bool fromVariantMap(
const QVariantMap &map );
422 void setMetadata(
const QVariantMap &metadata ) { mMetadata = metadata; }
448 virtual QString toolTip()
const;
531 bool mIsDynamic =
false;
544 Q_DECLARE_OPERATORS_FOR_FLAGS( QgsProcessingParameterDefinition::Flags )
576 static bool isDynamic(
const QVariantMap ¶meters,
const QString &name );
581 static QString parameterAsString(
const QgsProcessingParameterDefinition *definition,
const QVariantMap ¶meters,
const QgsProcessingContext &context );
587 static QString parameterAsString(
const QgsProcessingParameterDefinition *definition,
const QVariant &value,
const QgsProcessingContext &context );
592 static QString parameterAsExpression(
const QgsProcessingParameterDefinition *definition,
const QVariantMap ¶meters,
const QgsProcessingContext &context );
598 static QString parameterAsExpression(
const QgsProcessingParameterDefinition *definition,
const QVariant &value,
const QgsProcessingContext &context );
603 static double parameterAsDouble(
const QgsProcessingParameterDefinition *definition,
const QVariantMap ¶meters,
const QgsProcessingContext &context );
609 static double parameterAsDouble(
const QgsProcessingParameterDefinition *definition,
const QVariant &value,
const QgsProcessingContext &context );
614 static int parameterAsInt(
const QgsProcessingParameterDefinition *definition,
const QVariantMap ¶meters,
const QgsProcessingContext &context );
620 static int parameterAsInt(
const QgsProcessingParameterDefinition *definition,
const QVariant &value,
const QgsProcessingContext &context );
626 static QList<int> parameterAsInts(
const QgsProcessingParameterDefinition *definition,
const QVariantMap ¶meters,
const QgsProcessingContext &context );
632 static QList<int> parameterAsInts(
const QgsProcessingParameterDefinition *definition,
const QVariant &value,
const QgsProcessingContext &context );
637 static int parameterAsEnum(
const QgsProcessingParameterDefinition *definition,
const QVariantMap ¶meters,
const QgsProcessingContext &context );
643 static int parameterAsEnum(
const QgsProcessingParameterDefinition *definition,
const QVariant &value,
const QgsProcessingContext &context );
648 static QList<int> parameterAsEnums(
const QgsProcessingParameterDefinition *definition,
const QVariantMap ¶meters,
const QgsProcessingContext &context );
654 static QList<int> parameterAsEnums(
const QgsProcessingParameterDefinition *definition,
const QVariant &value,
const QgsProcessingContext &context );
659 static bool parameterAsBool(
const QgsProcessingParameterDefinition *definition,
const QVariantMap ¶meters,
const QgsProcessingContext &context );
665 static bool parameterAsBool(
const QgsProcessingParameterDefinition *definition,
const QVariant &value,
const QgsProcessingContext &context );
680 static QgsFeatureSink *parameterAsSink(
const QgsProcessingParameterDefinition *definition,
const QVariantMap ¶meters,
699 static QgsFeatureSink *parameterAsSink(
const QgsProcessingParameterDefinition *definition,
const QVariant &value,
737 static QString parameterAsCompatibleSourceLayerPath(
const QgsProcessingParameterDefinition *definition,
const QVariantMap ¶meters,
747 static QgsMapLayer *parameterAsLayer(
const QgsProcessingParameterDefinition *definition,
const QVariantMap ¶meters,
QgsProcessingContext &context );
783 static QString parameterAsOutputLayer(
const QgsProcessingParameterDefinition *definition,
const QVariantMap ¶meters,
QgsProcessingContext &context );
789 static QString parameterAsOutputLayer(
const QgsProcessingParameterDefinition *definition,
const QVariant &value,
QgsProcessingContext &context );
794 static QString parameterAsFileOutput(
const QgsProcessingParameterDefinition *definition,
const QVariantMap ¶meters,
QgsProcessingContext &context );
800 static QString parameterAsFileOutput(
const QgsProcessingParameterDefinition *definition,
const QVariant &value,
QgsProcessingContext &context );
831 static QgsMeshLayer *parameterAsMeshLayer(
const QgsProcessingParameterDefinition *definition,
const QVariantMap ¶meters,
QgsProcessingContext &context );
893 static QgsGeometry parameterAsExtentGeometry(
const QgsProcessingParameterDefinition *definition,
const QVariantMap ¶meters,
QgsProcessingContext &context,
910 static QgsPointXY parameterAsPoint(
const QgsProcessingParameterDefinition *definition,
const QVariantMap ¶meters,
QgsProcessingContext &context,
934 static QString parameterAsFile(
const QgsProcessingParameterDefinition *definition,
const QVariantMap ¶meters,
QgsProcessingContext &context );
940 static QString parameterAsFile(
const QgsProcessingParameterDefinition *definition,
const QVariant &value,
QgsProcessingContext &context );
946 static QVariantList parameterAsMatrix(
const QgsProcessingParameterDefinition *definition,
const QVariantMap ¶meters,
QgsProcessingContext &context );
953 static QVariantList parameterAsMatrix(
const QgsProcessingParameterDefinition *definition,
const QVariant &value,
QgsProcessingContext &context );
958 static QList< QgsMapLayer *> parameterAsLayerList(
const QgsProcessingParameterDefinition *definition,
const QVariantMap ¶meters,
QgsProcessingContext &context );
964 static QList< QgsMapLayer *> parameterAsLayerList(
const QgsProcessingParameterDefinition *definition,
const QVariant &value,
QgsProcessingContext &context );
969 static QList<double> parameterAsRange(
const QgsProcessingParameterDefinition *definition,
const QVariantMap ¶meters,
QgsProcessingContext &context );
975 static QList<double> parameterAsRange(
const QgsProcessingParameterDefinition *definition,
const QVariant &value,
QgsProcessingContext &context );
980 static QStringList parameterAsFields(
const QgsProcessingParameterDefinition *definition,
const QVariantMap ¶meters,
QgsProcessingContext &context );
986 static QStringList parameterAsFields(
const QgsProcessingParameterDefinition *definition,
const QVariant &value,
QgsProcessingContext &context );
993 static QgsProcessingParameterDefinition *parameterFromVariantMap(
const QVariantMap &map )
SIP_FACTORY;
998 static QString descriptionFromName(
const QString &name );
1005 static QgsProcessingParameterDefinition *parameterFromScriptCode(
const QString &code )
SIP_FACTORY;
1009 static bool parseScriptCodeParameterOptions(
const QString &code,
bool &isOptional, QString &name, QString &type, QString &definition );
1028 bool optional =
false );
1033 static QString
typeName() {
return QStringLiteral(
"boolean" ); }
1058 QgsProcessingParameterCrs(
const QString &name,
const QString &description = QString(),
const QVariant &defaultValue = QVariant(),
1059 bool optional =
false );
1064 static QString
typeName() {
return QStringLiteral(
"crs" ); }
1091 bool optional =
false );
1096 static QString
typeName() {
return QStringLiteral(
"layer" ); }
1123 bool optional =
false );
1128 static QString
typeName() {
return QStringLiteral(
"extent" ); }
1155 QgsProcessingParameterPoint(
const QString &name,
const QString &description = QString(),
const QVariant &defaultValue = QVariant(),
1156 bool optional =
false );
1161 static QString
typeName() {
return QStringLiteral(
"point" ); }
1194 QgsProcessingParameterFile(
const QString &name,
const QString &description = QString(),
Behavior behavior = File,
const QString &extension = QString(),
const QVariant &defaultValue = QVariant(),
1195 bool optional =
false );
1200 static QString
typeName() {
return QStringLiteral(
"file" ); }
1259 bool hasFixedNumberRows =
false,
const QStringList &headers = QStringList(),
1260 const QVariant &defaultValue = QVariant(),
1261 bool optional =
false );
1266 static QString
typeName() {
return QStringLiteral(
"matrix" ); }
1277 QStringList headers()
const;
1283 void setHeaders(
const QStringList &headers );
1291 int numberRows()
const;
1299 void setNumberRows(
int rows );
1306 bool hasFixedNumberRows()
const;
1313 void setHasFixedNumberRows(
bool hasFixedNumberRows );
1325 QStringList mHeaders;
1326 int mNumberRows = 3;
1327 bool mFixedNumberRows =
false;
1345 const QVariant &defaultValue = QVariant(),
1346 bool optional =
false );
1351 static QString
typeName() {
return QStringLiteral(
"multilayer" ); }
1376 int minimumNumberInputs()
const;
1383 void setMinimumNumberInputs(
int minimum );
1396 int mMinimumNumberInputs = 0;
1433 Type type = Integer,
1434 const QVariant &defaultValue = QVariant(),
1435 bool optional =
false,
1436 double minValue = std::numeric_limits<double>::lowest() + 1,
1437 double maxValue = std::numeric_limits<double>::max()
1443 static QString
typeName() {
return QStringLiteral(
"number" ); }
1448 QString
toolTip()
const override;
1455 double minimum()
const;
1461 void setMinimum(
double minimum );
1467 double maximum()
const;
1473 void setMaximum(
double maximum );
1479 Type dataType()
const;
1485 void setDataType(
Type type );
1497 double mMin = std::numeric_limits<double>::lowest() + 1;
1498 double mMax = std::numeric_limits<double>::max();
1499 Type mDataType = Integer;
1529 const QVariant &defaultValue = QVariant(),
1530 const QString &parentParameterName = QString(),
1531 bool optional =
false,
1532 double minValue = std::numeric_limits<double>::lowest() + 1,
1533 double maxValue = std::numeric_limits<double>::max() );
1538 static QString
typeName() {
return QStringLiteral(
"distance" ); }
1542 QString
type()
const override;
1550 QString parentParameterName()
const;
1556 void setParentParameterName(
const QString &parentParameterName );
1579 QString mParentParameterName;
1599 const QVariant &defaultValue = QVariant(),
1600 bool optional =
false );
1605 static QString
typeName() {
return QStringLiteral(
"range" ); }
1651 bool optional =
false );
1656 static QString
typeName() {
return QStringLiteral(
"raster" ); }
1682 QgsProcessingParameterEnum(
const QString &name,
const QString &description = QString(),
const QStringList &options = QStringList(),
1683 bool allowMultiple =
false,
1684 const QVariant &defaultValue = QVariant(),
1685 bool optional =
false );
1690 static QString
typeName() {
return QStringLiteral(
"enum" ); }
1702 QStringList options()
const;
1708 void setOptions(
const QStringList &options );
1714 bool allowMultiple()
const;
1720 void setAllowMultiple(
bool allowMultiple );
1732 QStringList mOptions;
1733 bool mAllowMultiple =
false;
1751 bool multiLine =
false,
1752 bool optional =
false );
1757 static QString
typeName() {
return QStringLiteral(
"string" ); }
1768 bool multiLine()
const;
1774 void setMultiLine(
bool multiLine );
1786 bool mMultiLine =
false;
1811 bool optional =
false );
1816 static QString
typeName() {
return QStringLiteral(
"authcfg" ); }
1843 const QString &parentLayerParameterName = QString(),
1844 bool optional =
false );
1849 static QString
typeName() {
return QStringLiteral(
"expression" ); }
1860 QString parentLayerParameterName()
const;
1866 void setParentLayerParameterName(
const QString &parentLayerParameterName );
1878 QString mParentLayerParameterName;
1902 QList< int > dataTypes()
const;
1908 void setDataTypes(
const QList< int > &types );
1931 const QString &description = QString(),
1932 const QList< int > &types = QList< int >(),
1933 const QVariant &defaultValue = QVariant(),
1934 bool optional =
false );
1939 static QString
typeName() {
return QStringLiteral(
"vector" ); }
1970 const QString &description = QString(),
1971 const QVariant &defaultValue = QVariant(),
1972 bool optional =
false );
1977 static QString
typeName() {
return QStringLiteral(
"mesh" ); }
2011 QgsProcessingParameterField(
const QString &name,
const QString &description = QString(),
const QVariant &defaultValue = QVariant(),
2012 const QString &parentLayerParameterName = QString(),
2014 bool allowMultiple =
false,
2015 bool optional =
false );
2020 static QString
typeName() {
return QStringLiteral(
"field" ); }
2033 QString parentLayerParameterName()
const;
2039 void setParentLayerParameterName(
const QString &parentLayerParameterName );
2057 bool allowMultiple()
const;
2063 void setAllowMultiple(
bool allowMultiple );
2075 QString mParentLayerParameterName;
2077 bool mAllowMultiple =
false;
2096 const QList< int > &types = QList< int >(),
2097 const QVariant &defaultValue = QVariant(),
bool optional =
false );
2102 static QString
typeName() {
return QStringLiteral(
"source" ); }
2138 bool optional =
false,
bool createByDefault =
true );
2169 virtual QString defaultFileExtension()
const = 0;
2176 virtual QString generateTemporaryDestination()
const;
2183 bool createByDefault()
const;
2190 void setCreateByDefault(
bool createByDefault );
2215 bool mSupportsNonFileBasedOutputs =
true;
2216 bool mCreateByDefault =
true;
2218 friend class QgsProcessingModelAlgorithm;
2219 friend class TestQgsProcessing;
2242 bool optional =
false,
bool createByDefault =
true );
2247 static QString
typeName() {
return QStringLiteral(
"sink" ); }
2262 virtual QStringList supportedOutputVectorLayerExtensions()
const;
2274 bool hasGeometry()
const;
2318 bool optional =
false,
bool createByDefault =
true );
2323 static QString
typeName() {
return QStringLiteral(
"vectorDestination" ); }
2338 virtual QStringList supportedOutputVectorLayerExtensions()
const;
2350 bool hasGeometry()
const;
2390 const QVariant &defaultValue = QVariant(),
2391 bool optional =
false,
2392 bool createByDefault =
true );
2397 static QString
typeName() {
return QStringLiteral(
"rasterDestination" ); }
2410 virtual QStringList supportedOutputRasterLayerExtensions()
const;
2436 const QString &fileFilter = QString(),
2437 const QVariant &defaultValue = QVariant(),
2438 bool optional =
false,
2439 bool createByDefault =
true );
2444 static QString
typeName() {
return QStringLiteral(
"fileDestination" ); }
2457 QString fileFilter()
const;
2463 void setFileFilter(
const QString &filter );
2476 QString mFileFilter;
2495 const QVariant &defaultValue = QVariant(),
2496 bool optional =
false );
2501 static QString
typeName() {
return QStringLiteral(
"folderDestination" ); }
2528 QgsProcessingParameterBand(
const QString &name,
const QString &description = QString(),
const QVariant &defaultValue = QVariant(),
2529 const QString &parentLayerParameterName = QString(),
2530 bool optional =
false,
2531 bool allowMultiple =
false );
2536 static QString
typeName() {
return QStringLiteral(
"band" ); }
2549 QString parentLayerParameterName()
const;
2555 void setParentLayerParameterName(
const QString &parentLayerParameterName );
2570 bool allowMultiple()
const;
2577 void setAllowMultiple(
bool allowMultiple );
2581 QString mParentLayerParameterName;
2582 bool mAllowMultiple =
false;
2587 #endif // QGSPROCESSINGPARAMETERS_H QString type() const override
Unique parameter type name.
QgsProperty sink
Sink/layer definition.
A boolean parameter for processing algorithms.
QList< const QgsProcessingParameterDefinition *> QgsProcessingParameterDefinitions
List of processing parameters.
static QString typeName()
Returns the type name for the parameter class.
QgsPropertyDefinition dynamicPropertyDefinition() const
Returns the property definition for dynamic properties.
An input file or folder parameter for processing algorithms.
A parameter for processing algorithms which accepts multiple map layers.
virtual QString asScriptCode() const
Returns the parameter definition encoded in a string which can be used within a Processing script...
A rectangle specified with double values.
Base class for all map layer types.
QString type() const override
Unique parameter type name.
static QString typeName()
Returns the type name for the parameter class.
QVariantMap & metadata()
Returns the parameter's freeform metadata.
Base class for providing feedback from a processing algorithm.
virtual bool fromVariantMap(const QVariantMap &map)
Restores this parameter to a QVariantMap.
Encapsulates settings relating to a feature sink or output raster layer for a processing algorithm...
QgsProcessingFeatureSourceDefinition(const QString &source=QString(), bool selectedFeaturesOnly=false)
Constructor for QgsProcessingFeatureSourceDefinition, accepting a static string source.
QString type() const override
Unique parameter type name.
QString type() const override
Unique parameter type name.
void setIsDynamic(bool dynamic)
Sets whether the parameter is dynamic, and can support data-defined values (i.e.
QString type() const override
Unique parameter type name.
A vector layer or feature source field parameter for processing algorithms.
void setDynamicLayerParameterName(const QString &name)
Sets the name for the parameter for a layer linked to a dynamic parameter, or an empty string if this...
QString 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...
QString type() const override
Unique parameter type name.
QString mDynamicLayerParameterName
Linked vector layer parameter name for dynamic properties.
static QString typeName()
Returns the type name for the parameter class.
QVariantMap metadata() const
Returns the parameter's freeform metadata.
static QString typeName()
Returns the type name for the parameter class.
This class provides qgis with the ability to render raster datasets onto the mapcanvas.
static QString typeName()
Returns the type name for the parameter class.
QString type() const override
Unique parameter type name.
QString type() const override
Unique parameter type name.
A map layer parameter for processing algorithms.
A class to represent a 2D point.
An expression parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
QString type() const override
Unique parameter type name.
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...
bool isDestination() const override
Returns true if this parameter represents a file or layer destination, e.g.
An interface for objects which accept features via addFeature(s) methods.
PythonOutputType
Available Python output types.
QgsProcessingProvider * originalProvider() const
Original (source) provider which this parameter has been derived from.
QString type() const override
Unique parameter type name.
static QString typeName()
Returns the type name for the parameter class.
static QString typeName()
Returns the type name for the parameter class.
QVariantMap mMetadata
Freeform metadata for parameter. Mostly used by widget wrappers to customize their appearance and beh...
QgsFeatureSource subclass which proxies methods to an underlying QgsFeatureSource, modifying results according to the settings in a QgsProcessingContext.
Container of fields for a vector layer.
A geometry is the spatial representation of a feature.
Abstract base class for processing providers.
virtual QVariantMap toVariantMap() const
Saves this parameter to a QVariantMap.
void setFlags(Flags flags)
Sets the flags associated with the parameter.
A raster band parameter for Processing algorithms.
QString type() const override
Unique parameter type name.
QVariantMap toVariantMap() const override
Saves this parameter to a QVariantMap.
QgsUnitTypes::DistanceUnit defaultUnit() const
Returns the default distance unit for the parameter.
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...
static QString typeName()
Returns the type name for the parameter class.
QString type() const override
Unique parameter type name.
static QString typeName()
Returns the type name for the parameter class.
void setDefaultUnit(QgsUnitTypes::DistanceUnit unit)
Sets the default distance unit for the parameter.
const QgsCoordinateReferenceSystem & crs
QString type() const override
Unique parameter type name.
static QString typeName()
Returns the type name for the parameter class.
Base class for all parameter definitions which represent file or layer destinations, e.g.
Abstract base class for processing algorithms.
Q_DECLARE_METATYPE(QModelIndex)
A feature sink output for processing algorithms.
bool operator==(const QgsProcessingFeatureSourceDefinition &other)
bool selectedFeaturesOnly
True if only selected features in the source should be used by algorithms.
A raster layer destination parameter, for specifying the destination path for a raster layer created ...
static QString typeName()
Returns the type name for the parameter class.
static QString typeName()
Returns the type name for the parameter class.
A numeric range parameter for processing algorithms.
bool operator!=(const QgsProcessingFeatureSourceDefinition &other)
void setDynamicPropertyDefinition(const QgsPropertyDefinition &definition)
Sets the property definition for dynamic properties.
static QString typeName()
Returns the type name for the parameter class.
static QString typeName()
Returns the type name for the parameter class.
static QString typeName()
Returns the type name for the parameter class.
static QString typeName()
Returns the type name for the parameter class.
Can be inherited by parameters which require limits to their acceptable data types.
A raster layer parameter for processing algorithms.
Type
The WKB type describes the number of dimensions a geometry has.
void setDescription(const QString &description)
Sets the description for the parameter.
virtual QString toolTip() const
Returns a formatted tooltip for use with the parameter, which gives helpful information like paramete...
static QString typeName()
Returns the type name for the parameter class.
static QString typeName()
Returns the type name for the parameter class.
QgsProperty source
Source definition.
QString type() const override
Unique parameter type name.
An enum based parameter for processing algorithms, allowing for selection from predefined values...
Flags flags() const
Returns any flags associated with the parameter.
static QString typeName()
Returns the type name for the parameter class.
QVariant defaultValue() const
Returns the default value for the parameter.
QgsProcessingOutputLayerDefinition(const QgsProperty &sink, QgsProject *destinationProject=nullptr)
Constructor for QgsProcessingOutputLayerDefinition, accepting a QgsProperty sink/layer.
A collection of utilities for working with parameters when running a processing algorithm.
A double numeric parameter for distance values.
QString type() const override
Unique parameter type name.
Reads and writes project states.
void setDefaultValue(const QVariant &value)
Sets the default value for the parameter.
QString type() const override
Unique parameter type name.
A vector layer (with or without geometry) parameter for processing algorithms.
virtual QString defaultFileExtension() const =0
Returns the default file extension for destination file paths associated with this parameter...
A mesh layer parameter for processing algorithms.
A coordinate reference system parameter for processing algorithms.
A store for object properties.
virtual QStringList dependsOnOtherParameters() const
Returns a list of other parameter names on which this parameter is dependent (e.g.
A rectangular map extent parameter for processing algorithms.
QString type() const override
Unique parameter type name.
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
A numeric parameter for processing algorithms.
A generic file based destination parameter, for specifying the destination path for a file (non-map l...
void setExtension(const QString &extension)
Sets a file extension for the parameter.
QString dynamicLayerParameterName() const
Returns the name of the parameter for a layer linked to a dynamic parameter, or an empty string if th...
Definition for a property.
bool fromVariantMap(const QVariantMap &map) override
Restores this parameter to a QVariantMap.
QString name() const
Returns the name of the parameter.
QList< int > mDataTypes
List of acceptable data types for the parameter.
Encapsulates settings relating to a feature source input to a processing algorithm.
bool supportsNonFileBasedOutput() const
Returns true if the destination parameter supports non filed-based outputs, such as memory layers or ...
Behavior behavior() const
Returns the parameter behavior (e.g.
QString type() const override
Unique parameter type name.
virtual bool isDestination() const
Returns true if this parameter represents a file or layer destination, e.g.
DistanceUnit
Units of distance.
QString extension() const
Returns any specified file extension for the parameter.
QString type() const override
Unique parameter type name.
Base class for the definition of processing outputs.
void setName(const QString &name)
Sets the name of the parameter.
A vector layer destination parameter, for specifying the destination path for a vector layer created ...
QString type() const override
Unique parameter type name.
bool isDynamic() const
Returns true if the parameter supports is dynamic, and can support data-defined values (i...
A point parameter for processing algorithms.
static QString typeName()
Returns the type name for the parameter class.
An input feature source (such as vector layers) parameter for processing algorithms.
void setMetadata(const QVariantMap &metadata)
Sets the parameter's freeform metadata.
A folder destination parameter, for specifying the destination path for a folder created by the algor...
QString destinationName
Name to use for sink if it's to be loaded into a destination project.
Flags mFlags
Parameter flags.
static QString typeName()
Returns the type name for the parameter class.
This class represents a coordinate reference system (CRS).
QgsProcessingOutputLayerDefinition(const QString &sink=QString(), QgsProject *destinationProject=nullptr)
Constructor for QgsProcessingOutputLayerDefinition, accepting a static sink/layer string...
Base class for the definition of processing parameters.
virtual bool checkValueIsAcceptable(const QVariant &input, QgsProcessingContext *context=nullptr) const
Checks whether the specified input value is acceptable for the parameter.
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
QVariantMap toVariantMap() const override
Saves this parameter to a QVariantMap.
QVariant mDefault
Default value for parameter.
SourceType
Data source types enum.
QgsPropertyDefinition mPropertyDefinition
Data defined property definition.
QgsProcessingParameterDefinition * clone() const override
Creates a clone of the parameter definition.
static QString typeName()
Returns the type name for the parameter class.
QString mName
Parameter name.
QgsProcessingFeatureSourceDefinition(const QgsProperty &source, bool selectedFeaturesOnly=false)
Constructor for QgsProcessingFeatureSourceDefinition, accepting a QgsProperty source.
Represents a mesh layer supporting display of data on structured or unstructured meshes.
static QString typeName()
Returns the type name for the parameter class.
Behavior
Parameter behavior.
virtual QString generateTemporaryDestination() const
Generates a temporary destination value for this parameter.
void setSupportsNonFileBasedOutput(bool supportsNonFileBasedOutput)
Sets whether the destination parameter supports non filed-based outputs, such as memory layers or dir...
static QString typeName()
Returns the type name for the parameter class.
DataType
Field data types.
A table (matrix) parameter for processing algorithms.
Full Python QgsProcessingAlgorithm subclass.
QString type() const override
Unique parameter type name.
A string parameter for authentication configuration configuration ID values.
QString mDescription
Parameter description.
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...
bool fromVariantMap(const QVariantMap &map) override
Restores this parameter to a QVariantMap.
void setBehavior(Behavior behavior)
Sets the parameter behavior (e.g.
Represents a vector layer which manages a vector based data sets.
Contains information about the context in which a processing algorithm is executed.
A string parameter for processing algorithms.
QString type() const override
Unique parameter type name.
QString description() const
Returns the description for the parameter.
virtual QgsProcessingParameterDefinition * clone() const =0
Creates a clone of the parameter definition.
virtual QgsProcessingOutputDefinition * toOutputDefinition() const =0
Returns a new QgsProcessingOutputDefinition corresponding to the definition of the destination parame...
Any vector layer with geometry.
QString type() const override
Unique parameter type name.
QVariantMap createOptions
Map of optional sink/layer creation options, which are passed to the underlying provider when creatin...
QString type() const override
Unique parameter type name.
QString type() const override
Unique parameter type name.
static QString typeName()
Returns the type name for the parameter class.