QGIS API Documentation
3.16.0-Hannover (43b64b13f3)
|
Base class for the definition of processing parameters. More...
#include <qgsprocessingparameters.h>
Public Types | |
enum | Flag { FlagAdvanced = 1 << 1, FlagHidden = 1 << 2, FlagOptional = 1 << 3, FlagIsModelOutput = 1 << 4 } |
Parameter flags. More... | |
Public Member Functions | |
QgsProcessingParameterDefinition (const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool optional=false, const QString &help=QString()) | |
Constructor for QgsProcessingParameterDefinition. More... | |
virtual | ~QgsProcessingParameterDefinition ()=default |
QStringList | additionalExpressionContextVariables () const |
Returns a list of additional expression context variables which are available for use when evaluating this parameter. More... | |
QgsProcessingAlgorithm * | algorithm () const |
Returns a pointer to the algorithm which owns this parameter. More... | |
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 script. More... | |
virtual QString | asScriptCode () const |
Returns the parameter definition encoded in a string which can be used within a Processing script. More... | |
virtual bool | checkValueIsAcceptable (const QVariant &input, QgsProcessingContext *context=nullptr) const |
Checks whether the specified input value is acceptable for the parameter. More... | |
virtual QgsProcessingParameterDefinition * | clone () const =0 |
Creates a clone of the parameter definition. More... | |
QVariant | defaultValue () const |
Returns the default value for the parameter. More... | |
virtual QStringList | dependsOnOtherParameters () const |
Returns a list of other parameter names on which this parameter is dependent (e.g. More... | |
QString | description () const |
Returns the description for the parameter. More... | |
QString | dynamicLayerParameterName () const |
Returns the name of the parameter for a layer linked to a dynamic parameter, or an empty string if this is not set. More... | |
QgsPropertyDefinition | dynamicPropertyDefinition () const |
Returns the property definition for dynamic properties. More... | |
Flags | flags () const |
Returns any flags associated with the parameter. More... | |
virtual bool | fromVariantMap (const QVariantMap &map) |
Restores this parameter to a QVariantMap. More... | |
QString | help () const |
Returns the help for the parameter. More... | |
virtual bool | isDestination () const |
Returns true if this parameter represents a file or layer destination, e.g. More... | |
bool | isDynamic () const |
Returns true if the parameter supports is dynamic, and can support data-defined values (i.e. More... | |
QVariantMap & | metadata () |
Returns the parameter's freeform metadata. More... | |
QVariantMap | metadata () const |
Returns the parameter's freeform metadata. More... | |
QString | name () const |
Returns the name of the parameter. More... | |
QgsProcessingProvider * | provider () const |
Returns a pointer to the provider for the algorithm which owns this parameter. More... | |
void | setAdditionalExpressionContextVariables (const QStringList &variables) |
Sets a list of additional expression context variables which are available for use when evaluating this parameter. More... | |
void | setDefaultValue (const QVariant &value) |
Sets the default value for the parameter. More... | |
void | setDescription (const QString &description) |
Sets the description for the parameter. More... | |
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 is not set. More... | |
void | setDynamicPropertyDefinition (const QgsPropertyDefinition &definition) |
Sets the property definition for dynamic properties. More... | |
void | setFlags (Flags flags) |
Sets the flags associated with the parameter. More... | |
void | setHelp (const QString &help) |
Sets the help for the parameter. More... | |
void | setIsDynamic (bool dynamic) |
Sets whether the parameter is dynamic, and can support data-defined values (i.e. More... | |
void | setMetadata (const QVariantMap &metadata) |
Sets the parameter's freeform metadata. More... | |
void | setName (const QString &name) |
Sets the name of the parameter. More... | |
virtual QString | toolTip () const |
Returns a formatted tooltip for use with the parameter, which gives helpful information like parameter description, ID, and extra content like default values (depending on parameter type). More... | |
virtual QVariantMap | toVariantMap () const |
Saves this parameter to a QVariantMap. More... | |
virtual QString | type () const =0 |
Unique parameter type name. More... | |
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 parameter value when running an algorithm directly from a Python command. More... | |
Protected Attributes | |
QStringList | mAdditionalExpressionVariables |
Additional expression context variables exposed for use by this parameter. More... | |
QgsProcessingAlgorithm * | mAlgorithm = nullptr |
Pointer to algorithm which owns this parameter. More... | |
QVariant | mDefault |
Default value for parameter. More... | |
QString | mDescription |
Parameter description. More... | |
QString | mDynamicLayerParameterName |
Linked vector layer parameter name for dynamic properties. More... | |
Flags | mFlags |
Parameter flags. More... | |
QString | mHelp |
Parameter help. More... | |
bool | mIsDynamic = false |
True for dynamic parameters, which can have data-defined (QgsProperty) based values. More... | |
QVariantMap | mMetadata |
Freeform metadata for parameter. Mostly used by widget wrappers to customize their appearance and behavior. More... | |
QString | mName |
Parameter name. More... | |
QgsPropertyDefinition | mPropertyDefinition |
Data defined property definition. More... | |
Friends | |
class | QgsProcessingAlgorithm |
Base class for the definition of processing parameters.
Parameter definitions encapsulate properties regarding the behavior of parameters, their acceptable ranges, defaults, etc.
Definition at line 330 of file qgsprocessingparameters.h.
Parameter flags.
Definition at line 421 of file qgsprocessingparameters.h.
QgsProcessingParameterDefinition::QgsProcessingParameterDefinition | ( | const QString & | name, |
const QString & | description = QString() , |
||
const QVariant & | defaultValue = QVariant() , |
||
bool | optional = false , |
||
const QString & | help = QString() |
||
) |
Constructor for QgsProcessingParameterDefinition.
Definition at line 2292 of file qgsprocessingparameters.cpp.
|
virtualdefault |
|
inline |
Returns a list of additional expression context variables which are available for use when evaluating this parameter.
The additional variables will be added to the variables exposed from the usual expression context available to the parameter. They can be used to expose variables which are ONLY available to this parameter.
The returned list should contain the variable names only, without the usual "@" prefix.
Definition at line 697 of file qgsprocessingparameters.h.
QgsProcessingAlgorithm * QgsProcessingParameterDefinition::algorithm | ( | ) | const |
Returns a pointer to the algorithm which owns this parameter.
May be nullptr
for non-owned parameters.
Definition at line 2381 of file qgsprocessingparameters.cpp.
|
virtual |
Returns the parameter definition as a Python command which can be used within a Python Processing script.
The outputType argument specifies the desired output format for the Python string, i.e. the intended end use of the generated Python code.
Reimplemented in QgsProcessingParameterVectorTileWriterLayers, QgsProcessingParameterTinInputLayers, QgsProcessingParameterDatabaseTable, QgsProcessingParameterDatabaseSchema, QgsProcessingParameterProviderConnection, QgsProcessingParameterDateTime, QgsProcessingParameterMapTheme, QgsProcessingParameterCoordinateOperation, QgsProcessingParameterColor, QgsProcessingParameterLayoutItem, QgsProcessingParameterLayout, QgsProcessingParameterBand, QgsProcessingParameterFileDestination, QgsProcessingParameterVectorDestination, QgsProcessingParameterFeatureSink, QgsProcessingDestinationParameter, QgsProcessingParameterFeatureSource, QgsProcessingParameterField, QgsProcessingParameterMapLayer, QgsProcessingParameterVectorLayer, QgsProcessingParameterExpression, QgsProcessingParameterString, QgsProcessingParameterEnum, QgsProcessingParameterRange, QgsProcessingParameterScale, QgsProcessingParameterDistance, QgsProcessingParameterNumber, QgsProcessingParameterMultipleLayers, QgsProcessingParameterMatrix, QgsProcessingParameterFile, QgsProcessingParameterGeometry, QgsProcessingParameterFieldMapping, and QgsProcessingParameterAggregate.
Definition at line 2333 of file qgsprocessingparameters.cpp.
|
virtual |
Returns the parameter definition encoded in a string which can be used within a Processing script.
Reimplemented in QgsProcessingParameterDatabaseTable, QgsProcessingParameterDatabaseSchema, QgsProcessingParameterProviderConnection, QgsProcessingParameterMapTheme, QgsProcessingParameterCoordinateOperation, QgsProcessingParameterColor, QgsProcessingParameterLayoutItem, QgsProcessingParameterLayout, QgsProcessingParameterBand, QgsProcessingParameterVectorDestination, QgsProcessingParameterFeatureSink, QgsProcessingParameterFeatureSource, QgsProcessingParameterField, QgsProcessingParameterMapLayer, QgsProcessingParameterAuthConfig, QgsProcessingParameterString, QgsProcessingParameterEnum, QgsProcessingParameterMultipleLayers, QgsProcessingParameterFile, QgsProcessingParameterGeometry, and QgsProcessingParameterBoolean.
Definition at line 2323 of file qgsprocessingparameters.cpp.
|
virtual |
Checks whether the specified input value is acceptable for the parameter.
Returns true
if the value can be accepted. The optional context parameter can be specified to allow a more stringent check to be performed, capable of checking for the presence of required layers and other factors within the context.
Reimplemented in QgsProcessingParameterVectorTileWriterLayers, QgsProcessingParameterTinInputLayers, QgsProcessingParameterDatabaseTable, QgsProcessingParameterDatabaseSchema, QgsProcessingParameterProviderConnection, QgsProcessingParameterDateTime, QgsProcessingParameterMapTheme, QgsProcessingParameterColor, QgsProcessingParameterBand, QgsProcessingParameterFolderDestination, QgsProcessingParameterFileDestination, QgsProcessingParameterRasterDestination, QgsProcessingParameterVectorDestination, QgsProcessingParameterFeatureSink, QgsProcessingParameterFeatureSource, QgsProcessingParameterField, QgsProcessingParameterMapLayer, QgsProcessingParameterMeshLayer, QgsProcessingParameterVectorLayer, QgsProcessingParameterEnum, QgsProcessingParameterRasterLayer, QgsProcessingParameterRange, QgsProcessingParameterNumber, QgsProcessingParameterMultipleLayers, QgsProcessingParameterMatrix, QgsProcessingParameterFile, QgsProcessingParameterGeometry, QgsProcessingParameterPoint, QgsProcessingParameterExtent, QgsProcessingParameterCrs, QgsProcessingParameterFieldMapping, and QgsProcessingParameterAggregate.
Definition at line 2300 of file qgsprocessingparameters.cpp.
|
pure virtual |
Creates a clone of the parameter definition.
Implemented in QgsProcessingParameterVectorTileWriterLayers, QgsProcessingParameterTinInputLayers, QgsProcessingParameterDatabaseTable, QgsProcessingParameterDatabaseSchema, QgsProcessingParameterProviderConnection, QgsProcessingParameterDateTime, QgsProcessingParameterMapTheme, QgsProcessingParameterCoordinateOperation, QgsProcessingParameterColor, QgsProcessingParameterLayoutItem, QgsProcessingParameterLayout, QgsProcessingParameterBand, QgsProcessingParameterFolderDestination, QgsProcessingParameterFileDestination, QgsProcessingParameterRasterDestination, QgsProcessingParameterVectorDestination, QgsProcessingParameterFeatureSink, QgsProcessingParameterFeatureSource, QgsProcessingParameterField, QgsProcessingParameterMapLayer, QgsProcessingParameterMeshLayer, QgsProcessingParameterVectorLayer, QgsProcessingParameterExpression, QgsProcessingParameterAuthConfig, QgsProcessingParameterString, QgsProcessingParameterEnum, QgsProcessingParameterRasterLayer, QgsProcessingParameterRange, QgsProcessingParameterScale, QgsProcessingParameterDistance, QgsProcessingParameterNumber, QgsProcessingParameterMultipleLayers, QgsProcessingParameterMatrix, QgsProcessingParameterFile, QgsProcessingParameterGeometry, QgsProcessingParameterPoint, QgsProcessingParameterExtent, QgsProcessingParameterCrs, QgsProcessingParameterBoolean, QgsProcessingParameterFieldMapping, and QgsProcessingParameterAggregate.
|
inline |
Returns the default value for the parameter.
Definition at line 509 of file qgsprocessingparameters.h.
|
inlinevirtual |
Returns a list of other parameter names on which this parameter is dependent (e.g.
field parameters which depend on a parent layer parameter).
Reimplemented in QgsProcessingParameterDatabaseTable, QgsProcessingParameterDatabaseSchema, QgsProcessingParameterCoordinateOperation, QgsProcessingParameterLayoutItem, QgsProcessingParameterBand, QgsProcessingParameterField, QgsProcessingParameterExpression, QgsProcessingParameterDistance, QgsProcessingParameterFieldMapping, and QgsProcessingParameterAggregate.
Definition at line 602 of file qgsprocessingparameters.h.
|
inline |
Returns the description for the parameter.
This is the user-visible string used to identify this parameter.
Definition at line 474 of file qgsprocessingparameters.h.
|
inline |
Returns the name of the parameter for a layer linked to a dynamic parameter, or an empty string if this is not set.
Dynamic parameters (see isDynamic()) can have an optional vector layer parameter linked to them, which indicates which layer the fields and values will be available from when evaluating the dynamic parameter.
Definition at line 669 of file qgsprocessingparameters.h.
|
inline |
Returns the property definition for dynamic properties.
Definition at line 648 of file qgsprocessingparameters.h.
|
inline |
Returns any flags associated with the parameter.
Definition at line 522 of file qgsprocessingparameters.h.
|
virtual |
Restores this parameter to a QVariantMap.
Subclasses should ensure that they call the base class method.
Reimplemented in QgsProcessingParameterDatabaseTable, QgsProcessingParameterDatabaseSchema, QgsProcessingParameterProviderConnection, QgsProcessingParameterDateTime, QgsProcessingParameterMapTheme, QgsProcessingParameterCoordinateOperation, QgsProcessingParameterColor, QgsProcessingParameterLayoutItem, QgsProcessingParameterBand, QgsProcessingParameterFileDestination, QgsProcessingParameterVectorDestination, QgsProcessingParameterFeatureSink, QgsProcessingDestinationParameter, QgsProcessingParameterFeatureSource, QgsProcessingParameterField, QgsProcessingParameterMapLayer, QgsProcessingParameterVectorLayer, QgsProcessingParameterExpression, QgsProcessingParameterString, QgsProcessingParameterEnum, QgsProcessingParameterRange, QgsProcessingParameterDistance, QgsProcessingParameterNumber, QgsProcessingParameterMultipleLayers, QgsProcessingParameterMatrix, QgsProcessingParameterFile, QgsProcessingParameterGeometry, QgsProcessingParameterFieldMapping, and QgsProcessingParameterAggregate.
Definition at line 2370 of file qgsprocessingparameters.cpp.
|
inline |
Returns the help for the parameter.
This is a descriptive (possibly lengthy), translated string explaining the parameter's behavior and use in depth.
Definition at line 492 of file qgsprocessingparameters.h.
|
inlinevirtual |
Returns true
if this parameter represents a file or layer destination, e.g.
parameters which are used for the destination for layers output by an algorithm will return true
.
Reimplemented in QgsProcessingDestinationParameter.
Definition at line 453 of file qgsprocessingparameters.h.
|
inline |
Returns true
if the parameter supports is dynamic, and can support data-defined values (i.e.
QgsProperty based values).
Definition at line 631 of file qgsprocessingparameters.h.
|
inline |
Returns the parameter's freeform metadata.
This is mostly used by parameter widget wrappers in order to customize their appearance and behavior.
Definition at line 589 of file qgsprocessingparameters.h.
|
inline |
Returns the parameter's freeform metadata.
This is mostly used by parameter widget wrappers in order to customize their appearance and behavior.
Definition at line 582 of file qgsprocessingparameters.h.
|
inline |
Returns the name of the parameter.
This is the internal identifier by which algorithms access this parameter.
Definition at line 460 of file qgsprocessingparameters.h.
QgsProcessingProvider * QgsProcessingParameterDefinition::provider | ( | ) | const |
Returns a pointer to the provider for the algorithm which owns this parameter.
May be nullptr
for non-owned parameters or algorithms.
Definition at line 2386 of file qgsprocessingparameters.cpp.
|
inline |
Sets a list of additional expression context variables which are available for use when evaluating this parameter.
The additional variables will be added to the variables exposed from the usual expression context available to the parameter. They can be used to expose variables which are ONLY available to this parameter.
The variables list should contain the variable names only, without the usual "@" prefix.
Definition at line 716 of file qgsprocessingparameters.h.
|
inline |
Sets the default value for the parameter.
Caller takes responsibility to ensure that value is a valid input for the parameter subclass.
Definition at line 516 of file qgsprocessingparameters.h.
|
inline |
Sets the description for the parameter.
This is the user-visible string used to identify this parameter.
Definition at line 481 of file qgsprocessingparameters.h.
|
inline |
Sets the name for the parameter for a layer linked to a dynamic parameter, or an empty string if this is not set.
Dynamic parameters (see isDynamic()) can have an optional vector layer parameter linked to them, which indicates which layer the fields and values will be available from when evaluating the dynamic parameter.
Definition at line 682 of file qgsprocessingparameters.h.
|
inline |
Sets the property definition for dynamic properties.
Definition at line 656 of file qgsprocessingparameters.h.
|
inline |
Sets the flags associated with the parameter.
Definition at line 528 of file qgsprocessingparameters.h.
|
inline |
Sets the help for the parameter.
The help string should be a descriptive, translated string explaining the parameter's behavior and use in depth.
Definition at line 503 of file qgsprocessingparameters.h.
|
inline |
Sets whether the parameter is dynamic, and can support data-defined values (i.e.
QgsProperty based values).
Definition at line 640 of file qgsprocessingparameters.h.
|
inline |
Sets the parameter's freeform metadata.
This is mostly used by parameter widget wrappers in order to customize their appearance and behavior.
Definition at line 596 of file qgsprocessingparameters.h.
|
inline |
Sets the name of the parameter.
This is the internal identifier by which algorithms access this parameter.
Definition at line 467 of file qgsprocessingparameters.h.
|
virtual |
Returns a formatted tooltip for use with the parameter, which gives helpful information like parameter description, ID, and extra content like default values (depending on parameter type).
Reimplemented in QgsProcessingParameterDateTime, and QgsProcessingParameterNumber.
Definition at line 2391 of file qgsprocessingparameters.cpp.
|
virtual |
Saves this parameter to a QVariantMap.
Subclasses should ensure that they call the base class method and then extend the result with additional properties.
Reimplemented in QgsProcessingParameterDatabaseTable, QgsProcessingParameterDatabaseSchema, QgsProcessingParameterProviderConnection, QgsProcessingParameterDateTime, QgsProcessingParameterMapTheme, QgsProcessingParameterCoordinateOperation, QgsProcessingParameterColor, QgsProcessingParameterLayoutItem, QgsProcessingParameterBand, QgsProcessingParameterFileDestination, QgsProcessingParameterVectorDestination, QgsProcessingParameterFeatureSink, QgsProcessingDestinationParameter, QgsProcessingParameterFeatureSource, QgsProcessingParameterField, QgsProcessingParameterMapLayer, QgsProcessingParameterVectorLayer, QgsProcessingParameterExpression, QgsProcessingParameterString, QgsProcessingParameterEnum, QgsProcessingParameterRange, QgsProcessingParameterDistance, QgsProcessingParameterNumber, QgsProcessingParameterMultipleLayers, QgsProcessingParameterMatrix, QgsProcessingParameterFile, QgsProcessingParameterGeometry, QgsProcessingParameterFieldMapping, and QgsProcessingParameterAggregate.
Definition at line 2357 of file qgsprocessingparameters.cpp.
|
pure virtual |
Unique parameter type name.
Implemented in QgsProcessingParameterVectorTileWriterLayers, QgsProcessingParameterTinInputLayers, QgsProcessingParameterDatabaseTable, QgsProcessingParameterDatabaseSchema, QgsProcessingParameterProviderConnection, QgsProcessingParameterDateTime, QgsProcessingParameterMapTheme, QgsProcessingParameterCoordinateOperation, QgsProcessingParameterColor, QgsProcessingParameterLayoutItem, QgsProcessingParameterLayout, QgsProcessingParameterBand, QgsProcessingParameterFolderDestination, QgsProcessingParameterFileDestination, QgsProcessingParameterRasterDestination, QgsProcessingParameterVectorDestination, QgsProcessingParameterFeatureSink, QgsProcessingParameterFeatureSource, QgsProcessingParameterField, QgsProcessingParameterMapLayer, QgsProcessingParameterMeshLayer, QgsProcessingParameterVectorLayer, QgsProcessingParameterExpression, QgsProcessingParameterAuthConfig, QgsProcessingParameterString, QgsProcessingParameterEnum, QgsProcessingParameterRasterLayer, QgsProcessingParameterRange, QgsProcessingParameterScale, QgsProcessingParameterDistance, QgsProcessingParameterNumber, QgsProcessingParameterMultipleLayers, QgsProcessingParameterMatrix, QgsProcessingParameterFile, QgsProcessingParameterGeometry, QgsProcessingParameterPoint, QgsProcessingParameterExtent, QgsProcessingParameterCrs, QgsProcessingParameterBoolean, QgsProcessingParameterFieldMapping, and QgsProcessingParameterAggregate.
|
virtual |
Returns a string version of the parameter input value, which is suitable for use as an input parameter value when running an algorithm directly from a Python command.
Reimplemented in QgsProcessingParameterVectorTileWriterLayers, QgsProcessingParameterTinInputLayers, QgsProcessingParameterDatabaseTable, QgsProcessingParameterDatabaseSchema, QgsProcessingParameterProviderConnection, QgsProcessingParameterDateTime, QgsProcessingParameterMapTheme, QgsProcessingParameterCoordinateOperation, QgsProcessingParameterColor, QgsProcessingParameterLayoutItem, QgsProcessingParameterLayout, QgsProcessingParameterBand, QgsProcessingParameterFileDestination, QgsProcessingParameterRasterDestination, QgsProcessingParameterVectorDestination, QgsProcessingParameterFeatureSink, QgsProcessingParameterFeatureSource, QgsProcessingParameterField, QgsProcessingParameterMapLayer, QgsProcessingParameterMeshLayer, QgsProcessingParameterVectorLayer, QgsProcessingParameterExpression, QgsProcessingParameterAuthConfig, QgsProcessingParameterString, QgsProcessingParameterEnum, QgsProcessingParameterRasterLayer, QgsProcessingParameterRange, QgsProcessingParameterNumber, QgsProcessingParameterMultipleLayers, QgsProcessingParameterMatrix, QgsProcessingParameterGeometry, QgsProcessingParameterPoint, QgsProcessingParameterExtent, QgsProcessingParameterCrs, QgsProcessingParameterBoolean, QgsProcessingParameterFieldMapping, and QgsProcessingParameterAggregate.
Definition at line 2312 of file qgsprocessingparameters.cpp.
|
friend |
Definition at line 754 of file qgsprocessingparameters.h.
|
protected |
Additional expression context variables exposed for use by this parameter.
Definition at line 751 of file qgsprocessingparameters.h.
|
protected |
Pointer to algorithm which owns this parameter.
Definition at line 739 of file qgsprocessingparameters.h.
|
protected |
Default value for parameter.
Definition at line 730 of file qgsprocessingparameters.h.
|
protected |
Parameter description.
Definition at line 724 of file qgsprocessingparameters.h.
|
protected |
Linked vector layer parameter name for dynamic properties.
Definition at line 748 of file qgsprocessingparameters.h.
|
protected |
Parameter flags.
Definition at line 733 of file qgsprocessingparameters.h.
|
protected |
Parameter help.
Definition at line 727 of file qgsprocessingparameters.h.
|
protected |
True for dynamic parameters, which can have data-defined (QgsProperty) based values.
Definition at line 742 of file qgsprocessingparameters.h.
|
protected |
Freeform metadata for parameter. Mostly used by widget wrappers to customize their appearance and behavior.
Definition at line 736 of file qgsprocessingparameters.h.
|
protected |
Parameter name.
Definition at line 721 of file qgsprocessingparameters.h.
|
protected |
Data defined property definition.
Definition at line 745 of file qgsprocessingparameters.h.