QGIS API Documentation  3.6.0-Noosa (5873452)
Public Types | Public Member Functions | Protected Attributes | Friends | List of all members
QgsProcessingParameterDefinition Class Referenceabstract

Base class for the definition of processing parameters. More...

#include <qgsprocessingparameters.h>

Inheritance diagram for QgsProcessingParameterDefinition:
Inheritance graph
[legend]

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)
 Constructor for QgsProcessingParameterDefinition. More...
 
virtual ~QgsProcessingParameterDefinition ()=default
 
QgsProcessingAlgorithmalgorithm () 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 QgsProcessingParameterDefinitionclone () 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...
 
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 () const
 Returns the parameter's freeform metadata. More...
 
QVariantMap & metadata ()
 Returns the parameter's freeform metadata. More...
 
QString name () const
 Returns the name of the parameter. More...
 
QgsProcessingProviderprovider () const
 Returns a pointer to the provider for the algorithm which owns 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 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

QgsProcessingAlgorithmmAlgorithm = 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...
 
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
 

Detailed Description

Base class for the definition of processing parameters.

Parameter definitions encapsulate properties regarding the behavior of parameters, their acceptable ranges, defaults, etc.

Since
QGIS 3.0

Definition at line 204 of file qgsprocessingparameters.h.

Member Enumeration Documentation

◆ Flag

Parameter flags.

Enumerator
FlagAdvanced 

Parameter is an advanced parameter which should be hidden from users by default.

FlagHidden 

Parameter is hidden and should not be shown to users.

FlagOptional 

Parameter is optional.

FlagIsModelOutput 

Destination parameter is final output. The parameter name will be used.

Definition at line 269 of file qgsprocessingparameters.h.

Constructor & Destructor Documentation

◆ QgsProcessingParameterDefinition()

QgsProcessingParameterDefinition::QgsProcessingParameterDefinition ( const QString &  name,
const QString &  description = QString(),
const QVariant &  defaultValue = QVariant(),
bool  optional = false 
)

Constructor for QgsProcessingParameterDefinition.

Definition at line 1650 of file qgsprocessingparameters.cpp.

◆ ~QgsProcessingParameterDefinition()

virtual QgsProcessingParameterDefinition::~QgsProcessingParameterDefinition ( )
virtualdefault

Member Function Documentation

◆ algorithm()

QgsProcessingAlgorithm * QgsProcessingParameterDefinition::algorithm ( ) const

Returns a pointer to the algorithm which owns this parameter.

May be nullptr for non-owned parameters.

See also
provider()

Definition at line 1736 of file qgsprocessingparameters.cpp.

◆ asPythonString()

QString QgsProcessingParameterDefinition::asPythonString ( QgsProcessing::PythonOutputType  outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass) const
virtual

◆ asScriptCode()

QString QgsProcessingParameterDefinition::asScriptCode ( ) const
virtual

◆ checkValueIsAcceptable()

bool QgsProcessingParameterDefinition::checkValueIsAcceptable ( const QVariant &  input,
QgsProcessingContext context = nullptr 
) const
virtual

◆ clone()

virtual QgsProcessingParameterDefinition* QgsProcessingParameterDefinition::clone ( ) const
pure virtual

◆ defaultValue()

QVariant QgsProcessingParameterDefinition::defaultValue ( ) const
inline

Returns the default value for the parameter.

See also
setDefaultValue()

Definition at line 335 of file qgsprocessingparameters.h.

◆ dependsOnOtherParameters()

virtual QStringList QgsProcessingParameterDefinition::dependsOnOtherParameters ( ) const
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 QgsProcessingParameterBand, QgsProcessingParameterField, QgsProcessingParameterExpression, and QgsProcessingParameterDistance.

Definition at line 428 of file qgsprocessingparameters.h.

◆ description()

QString QgsProcessingParameterDefinition::description ( ) const
inline

Returns the description for the parameter.

This is the user-visible string used to identify this parameter.

See also
setDescription()

Definition at line 322 of file qgsprocessingparameters.h.

◆ dynamicLayerParameterName()

QString QgsProcessingParameterDefinition::dynamicLayerParameterName ( ) const
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.

See also
setDynamicLayerParameterName()
isDynamic()
dynamicPropertyDefinition()

Definition at line 495 of file qgsprocessingparameters.h.

◆ dynamicPropertyDefinition()

QgsPropertyDefinition QgsProcessingParameterDefinition::dynamicPropertyDefinition ( ) const
inline

Returns the property definition for dynamic properties.

See also
isDynamic()
setDynamicPropertyDefinition()
dynamicLayerParameterName()

Definition at line 474 of file qgsprocessingparameters.h.

◆ flags()

Flags QgsProcessingParameterDefinition::flags ( ) const
inline

Returns any flags associated with the parameter.

See also
setFlags()

Definition at line 348 of file qgsprocessingparameters.h.

◆ fromVariantMap()

bool QgsProcessingParameterDefinition::fromVariantMap ( const QVariantMap &  map)
virtual

◆ isDestination()

virtual bool QgsProcessingParameterDefinition::isDestination ( ) const
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 301 of file qgsprocessingparameters.h.

◆ isDynamic()

bool QgsProcessingParameterDefinition::isDynamic ( ) const
inline

Returns true if the parameter supports is dynamic, and can support data-defined values (i.e.

QgsProperty based values).

See also
setIsDynamic()
dynamicPropertyDefinition()
dynamicLayerParameterName()

Definition at line 457 of file qgsprocessingparameters.h.

◆ metadata() [1/2]

QVariantMap QgsProcessingParameterDefinition::metadata ( ) const
inline

Returns the parameter's freeform metadata.

This is mostly used by parameter widget wrappers in order to customize their appearance and behavior.

See also
setMetadata()
Note
not available in Python bindings.

Definition at line 408 of file qgsprocessingparameters.h.

◆ metadata() [2/2]

QVariantMap& QgsProcessingParameterDefinition::metadata ( )
inline

Returns the parameter's freeform metadata.

This is mostly used by parameter widget wrappers in order to customize their appearance and behavior.

See also
setMetadata()

Definition at line 415 of file qgsprocessingparameters.h.

◆ name()

QString QgsProcessingParameterDefinition::name ( ) const
inline

Returns the name of the parameter.

This is the internal identifier by which algorithms access this parameter.

See also
setName()

Definition at line 308 of file qgsprocessingparameters.h.

◆ provider()

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.

See also
algorithm()

Definition at line 1741 of file qgsprocessingparameters.cpp.

◆ setDefaultValue()

void QgsProcessingParameterDefinition::setDefaultValue ( const QVariant &  value)
inline

Sets the default value for the parameter.

Caller takes responsibility to ensure that value is a valid input for the parameter subclass.

See also
defaultValue()

Definition at line 342 of file qgsprocessingparameters.h.

◆ setDescription()

void QgsProcessingParameterDefinition::setDescription ( const QString &  description)
inline

Sets the description for the parameter.

This is the user-visible string used to identify this parameter.

See also
description()

Definition at line 329 of file qgsprocessingparameters.h.

◆ setDynamicLayerParameterName()

void QgsProcessingParameterDefinition::setDynamicLayerParameterName ( const QString &  name)
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.

See also
dynamicLayerParameterName()
isDynamic()
setDynamicPropertyDefinition()

Definition at line 508 of file qgsprocessingparameters.h.

◆ setDynamicPropertyDefinition()

void QgsProcessingParameterDefinition::setDynamicPropertyDefinition ( const QgsPropertyDefinition definition)
inline

Sets the property definition for dynamic properties.

See also
isDynamic()
dynamicPropertyDefinition()
setDynamicLayerParameterName()

Definition at line 482 of file qgsprocessingparameters.h.

◆ setFlags()

void QgsProcessingParameterDefinition::setFlags ( Flags  flags)
inline

Sets the flags associated with the parameter.

See also
flags()

Definition at line 354 of file qgsprocessingparameters.h.

◆ setIsDynamic()

void QgsProcessingParameterDefinition::setIsDynamic ( bool  dynamic)
inline

Sets whether the parameter is dynamic, and can support data-defined values (i.e.

QgsProperty based values).

See also
isDynamic()
setDynamicPropertyDefinition()
setDynamicLayerParameterName()

Definition at line 466 of file qgsprocessingparameters.h.

◆ setMetadata()

void QgsProcessingParameterDefinition::setMetadata ( const QVariantMap &  metadata)
inline

Sets the parameter's freeform metadata.

This is mostly used by parameter widget wrappers in order to customize their appearance and behavior.

See also
metadata()

Definition at line 422 of file qgsprocessingparameters.h.

◆ setName()

void QgsProcessingParameterDefinition::setName ( const QString &  name)
inline

Sets the name of the parameter.

This is the internal identifier by which algorithms access this parameter.

See also
name()

Definition at line 315 of file qgsprocessingparameters.h.

◆ toolTip()

QString QgsProcessingParameterDefinition::toolTip ( ) const
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 QgsProcessingParameterNumber.

Definition at line 1746 of file qgsprocessingparameters.cpp.

◆ toVariantMap()

QVariantMap QgsProcessingParameterDefinition::toVariantMap ( ) const
virtual

◆ type()

virtual QString QgsProcessingParameterDefinition::type ( ) const
pure virtual

◆ valueAsPythonString()

QString QgsProcessingParameterDefinition::valueAsPythonString ( const QVariant &  value,
QgsProcessingContext context 
) const
virtual

Friends And Related Function Documentation

◆ QgsProcessingAlgorithm

friend class QgsProcessingAlgorithm
friend

Definition at line 540 of file qgsprocessingparameters.h.

Member Data Documentation

◆ mAlgorithm

QgsProcessingAlgorithm* QgsProcessingParameterDefinition::mAlgorithm = nullptr
protected

Pointer to algorithm which owns this parameter.

Definition at line 528 of file qgsprocessingparameters.h.

◆ mDefault

QVariant QgsProcessingParameterDefinition::mDefault
protected

Default value for parameter.

Definition at line 519 of file qgsprocessingparameters.h.

◆ mDescription

QString QgsProcessingParameterDefinition::mDescription
protected

Parameter description.

Definition at line 516 of file qgsprocessingparameters.h.

◆ mDynamicLayerParameterName

QString QgsProcessingParameterDefinition::mDynamicLayerParameterName
protected

Linked vector layer parameter name for dynamic properties.

Definition at line 537 of file qgsprocessingparameters.h.

◆ mFlags

Flags QgsProcessingParameterDefinition::mFlags
protected

Parameter flags.

Definition at line 522 of file qgsprocessingparameters.h.

◆ mIsDynamic

bool QgsProcessingParameterDefinition::mIsDynamic = false
protected

True for dynamic parameters, which can have data-defined (QgsProperty) based values.

Definition at line 531 of file qgsprocessingparameters.h.

◆ mMetadata

QVariantMap QgsProcessingParameterDefinition::mMetadata
protected

Freeform metadata for parameter. Mostly used by widget wrappers to customize their appearance and behavior.

Definition at line 525 of file qgsprocessingparameters.h.

◆ mName

QString QgsProcessingParameterDefinition::mName
protected

Parameter name.

Definition at line 513 of file qgsprocessingparameters.h.

◆ mPropertyDefinition

QgsPropertyDefinition QgsProcessingParameterDefinition::mPropertyDefinition
protected

Data defined property definition.

Definition at line 534 of file qgsprocessingparameters.h.


The documentation for this class was generated from the following files: