QGIS API Documentation  3.14.0-Pi (9f7028fd23)
Public Member Functions | Protected Member Functions | Friends | List of all members
QgsProcessingDestinationParameter Class Referenceabstract

#include <qgsprocessingparameters.h>

Inheritance diagram for QgsProcessingDestinationParameter:
Inheritance graph
[legend]

Public Member Functions

 QgsProcessingDestinationParameter (const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool optional=false, bool createByDefault=true)
 Constructor for QgsProcessingDestinationParameter. More...
 
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 script. More...
 
bool createByDefault () const
 Returns true if the destination should be created by default. More...
 
QString createFileFilter () const override
 This method needs to be reimplemented in all classes which implement this interface and return a file filter. More...
 
virtual QString defaultFileExtension () const =0
 Returns the default file extension for destination file paths associated with this parameter. More...
 
bool fromVariantMap (const QVariantMap &map) override
 Restores this parameter to a QVariantMap. More...
 
virtual QString generateTemporaryDestination () const
 Generates a temporary destination value for this parameter. More...
 
bool isDestination () const override
 Returns true if this parameter represents a file or layer destination, e.g. More...
 
virtual bool isSupportedOutputValue (const QVariant &value, QgsProcessingContext &context, QString &error) const
 Tests whether a value is a supported value for this parameter. More...
 
void setCreateByDefault (bool createByDefault)
 Sets whether the destination should be created by default. More...
 
void setSupportsNonFileBasedOutput (bool supportsNonFileBasedOutput)
 Sets whether the destination parameter supports non filed-based outputs, such as memory layers or direct database outputs. More...
 
bool supportsNonFileBasedOutput () const
 Returns true if the destination parameter supports non filed-based outputs, such as memory layers or direct database outputs. More...
 
virtual QgsProcessingOutputDefinitiontoOutputDefinition () const =0
 Returns a new QgsProcessingOutputDefinition corresponding to the definition of the destination parameter. More...
 
QVariantMap toVariantMap () const override
 Saves this parameter to a QVariantMap. More...
 
- Public Member Functions inherited from QgsProcessingParameterDefinition
 QgsProcessingParameterDefinition (const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool optional=false)
 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...
 
QgsProcessingAlgorithmalgorithm () const
 Returns a pointer to the algorithm which owns this parameter. 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...
 
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...
 
QgsProcessingProviderprovider () 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 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 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...
 
- Public Member Functions inherited from QgsFileFilterGenerator
virtual ~QgsFileFilterGenerator ()=default
 

Protected Member Functions

QgsProcessingProvideroriginalProvider () const
 Original (source) provider which this parameter has been derived from. More...
 

Friends

class QgsProcessingModelAlgorithm
 
class TestQgsProcessing
 

Additional Inherited Members

- Public Types inherited from QgsProcessingParameterDefinition
enum  Flag { FlagAdvanced = 1 << 1, FlagHidden = 1 << 2, FlagOptional = 1 << 3, FlagIsModelOutput = 1 << 4 }
 Parameter flags. More...
 
- Protected Attributes inherited from QgsProcessingParameterDefinition
QStringList mAdditionalExpressionVariables
 Additional expression context variables exposed for use by this parameter. More...
 
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...
 

Detailed Description

Base class for all parameter definitions which represent file or layer destinations, e.g. parameters which are used for the destination for layers output by an algorithm.

Since
QGIS 3.0

Definition at line 2652 of file qgsprocessingparameters.h.

Constructor & Destructor Documentation

◆ QgsProcessingDestinationParameter()

QgsProcessingDestinationParameter::QgsProcessingDestinationParameter ( const QString &  name,
const QString &  description = QString(),
const QVariant &  defaultValue = QVariant(),
bool  optional = false,
bool  createByDefault = true 
)

Constructor for QgsProcessingDestinationParameter.

If createByDefault is false and the parameter is optional, then the destination output will not be created by default.

Definition at line 5516 of file qgsprocessingparameters.cpp.

Member Function Documentation

◆ asPythonString()

QString QgsProcessingDestinationParameter::asPythonString ( QgsProcessing::PythonOutputType  outputType = QgsProcessing::PythonQgsProcessingAlgorithmSubclass) const
overridevirtual

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.

Since
QGIS 3.6

Reimplemented from QgsProcessingParameterDefinition.

Reimplemented in QgsProcessingParameterFileDestination, QgsProcessingParameterVectorDestination, and QgsProcessingParameterFeatureSink.

Definition at line 5539 of file qgsprocessingparameters.cpp.

◆ createByDefault()

bool QgsProcessingDestinationParameter::createByDefault ( ) const

Returns true if the destination should be created by default.

For optional parameters, a return value of false indicates that the destination should not be created by default.

See also
setCreateByDefault()

Definition at line 5598 of file qgsprocessingparameters.cpp.

◆ createFileFilter()

QString QgsProcessingDestinationParameter::createFileFilter ( ) const
overridevirtual

This method needs to be reimplemented in all classes which implement this interface and return a file filter.

Implements QgsFileFilterGenerator.

Reimplemented in QgsProcessingParameterFileDestination, QgsProcessingParameterRasterDestination, QgsProcessingParameterVectorDestination, and QgsProcessingParameterFeatureSink.

Definition at line 5565 of file qgsprocessingparameters.cpp.

◆ defaultFileExtension()

virtual QString QgsProcessingDestinationParameter::defaultFileExtension ( ) const
pure virtual

◆ fromVariantMap()

bool QgsProcessingDestinationParameter::fromVariantMap ( const QVariantMap &  map)
overridevirtual

Restores this parameter to a QVariantMap.

Subclasses should ensure that they call the base class method.

See also
toVariantMap()

Reimplemented from QgsProcessingParameterDefinition.

Reimplemented in QgsProcessingParameterFileDestination, QgsProcessingParameterVectorDestination, and QgsProcessingParameterFeatureSink.

Definition at line 5531 of file qgsprocessingparameters.cpp.

◆ generateTemporaryDestination()

QString QgsProcessingDestinationParameter::generateTemporaryDestination ( ) const
virtual

Generates a temporary destination value for this parameter.

The returned value will be a file path or QGIS data provider URI suitable for temporary storage of created layers and files.

Reimplemented in QgsProcessingParameterFeatureSink.

Definition at line 5570 of file qgsprocessingparameters.cpp.

◆ isDestination()

bool QgsProcessingDestinationParameter::isDestination ( ) const
inlineoverridevirtual

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 from QgsProcessingParameterDefinition.

Definition at line 2665 of file qgsprocessingparameters.h.

◆ isSupportedOutputValue()

bool QgsProcessingDestinationParameter::isSupportedOutputValue ( const QVariant &  value,
QgsProcessingContext context,
QString &  error 
) const
virtual

Tests whether a value is a supported value for this parameter.

Will return false when a value with an unsupported file extension is specified. The default implementation calls QgsProcessingProvider::isSupportedOutputValue() to test compatibility.

Parameters
valuevalue to test
contextProcessing context
errorwill be set to a descriptive error string
Returns
true if value is supported.
Since
QGIS 3.14

Definition at line 5588 of file qgsprocessingparameters.cpp.

◆ originalProvider()

QgsProcessingProvider* QgsProcessingDestinationParameter::originalProvider ( ) const
inlineprotected

Original (source) provider which this parameter has been derived from.

In the case of destination parameters which are part of model algorithms, this will reflect the child algorithm's provider which actually generates the parameter, as opposed to the provider which this parameter belongs to (i.e. the model provider)

Since
QGIS 3.2

Definition at line 2744 of file qgsprocessingparameters.h.

◆ setCreateByDefault()

void QgsProcessingDestinationParameter::setCreateByDefault ( bool  createByDefault)

Sets whether the destination should be created by default.

For optional parameters, a value of false indicates that the destination should not be created by default.

See also
createByDefault()

Definition at line 5603 of file qgsprocessingparameters.cpp.

◆ setSupportsNonFileBasedOutput()

void QgsProcessingDestinationParameter::setSupportsNonFileBasedOutput ( bool  supportsNonFileBasedOutput)
inline

Sets whether the destination parameter supports non filed-based outputs, such as memory layers or direct database outputs.

See also
supportsNonFileBasedOutput()

Definition at line 2689 of file qgsprocessingparameters.h.

◆ supportsNonFileBasedOutput()

bool QgsProcessingDestinationParameter::supportsNonFileBasedOutput ( ) const
inline

Returns true if the destination parameter supports non filed-based outputs, such as memory layers or direct database outputs.

See also
setSupportsNonFileBasedOutput()

Definition at line 2682 of file qgsprocessingparameters.h.

◆ toOutputDefinition()

virtual QgsProcessingOutputDefinition* QgsProcessingDestinationParameter::toOutputDefinition ( ) const
pure virtual

◆ toVariantMap()

QVariantMap QgsProcessingDestinationParameter::toVariantMap ( ) const
overridevirtual

Saves this parameter to a QVariantMap.

Subclasses should ensure that they call the base class method and then extend the result with additional properties.

See also
fromVariantMap()

Reimplemented from QgsProcessingParameterDefinition.

Reimplemented in QgsProcessingParameterFileDestination, QgsProcessingParameterVectorDestination, and QgsProcessingParameterFeatureSink.

Definition at line 5523 of file qgsprocessingparameters.cpp.

Friends And Related Function Documentation

◆ QgsProcessingModelAlgorithm

friend class QgsProcessingModelAlgorithm
friend

Definition at line 2760 of file qgsprocessingparameters.h.

◆ TestQgsProcessing

friend class TestQgsProcessing
friend

Definition at line 2761 of file qgsprocessingparameters.h.


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