QGIS API Documentation 3.30.0-'s-Hertogenbosch (f186b8efe0)
Public Types | Public Member Functions | Static Public Member Functions | List of all members
QgsProcessingParameterFile Class Reference

An input file or folder parameter for processing algorithms. More...

#include <qgsprocessingparameters.h>

Inheritance diagram for QgsProcessingParameterFile:
Inheritance graph
[legend]

Public Types

enum  Behavior { File = 0 , Folder }
 Parameter behavior. More...
 
- Public Types inherited from QgsProcessingParameterDefinition
enum  Flag { FlagAdvanced = 1 << 1 , FlagHidden = 1 << 2 , FlagOptional = 1 << 3 , FlagIsModelOutput = 1 << 4 }
 Parameter flags. More...
 
enum class  ValueAsStringFlag : int { AllowMapLayerValues = 1 << 0 }
 Flags for passing to the valueAsStringPrivate() method. More...
 

Public Member Functions

 QgsProcessingParameterFile (const QString &name, const QString &description=QString(), Behavior behavior=File, const QString &extension=QString(), const QVariant &defaultValue=QVariant(), bool optional=false, const QString &fileFilter=QString())
 Constructor for QgsProcessingParameterFile. 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...
 
QString asScriptCode () const override
 Returns the parameter definition encoded in a string which can be used within a Processing script. More...
 
Behavior behavior () const
 Returns the parameter behavior (e.g. More...
 
bool checkValueIsAcceptable (const QVariant &input, QgsProcessingContext *context=nullptr) const override
 Checks whether the specified input value is acceptable for the parameter. More...
 
QgsProcessingParameterDefinitionclone () const override
 Creates a clone of the parameter definition. More...
 
QString createFileFilter () const override
 This method needs to be reimplemented in all classes which implement this interface and return a file filter. More...
 
QString extension () const
 Returns any specified file extension for the parameter. More...
 
QString fileFilter () const
 Returns the file filter string for file destinations compatible with this parameter. More...
 
bool fromVariantMap (const QVariantMap &map) override
 Restores this parameter to a QVariantMap. More...
 
void setBehavior (Behavior behavior)
 Sets the parameter behavior (e.g. More...
 
void setExtension (const QString &extension)
 Sets a file extension for the parameter. More...
 
void setFileFilter (const QString &filter)
 Sets the file filter string for file destinations compatible with this parameter. More...
 
QVariantMap toVariantMap () const override
 Saves this parameter to a QVariantMap. More...
 
QString type () const override
 Unique parameter type name. More...
 
- Public Member Functions inherited from QgsProcessingParameterDefinition
 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...
 
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...
 
QVariant defaultValueForGui () const
 Returns the default value to use for the parameter in a GUI. 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...
 
QVariant guiDefaultValueOverride () const
 Returns the default value to use in the GUI for the parameter. 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...
 
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 setGuiDefaultValueOverride (const QVariant &value)
 Sets the default value to use for the parameter in GUI widgets. 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 QVariant valueAsJsonObject (const QVariant &value, QgsProcessingContext &context) const
 Returns a version of the parameter input value, which is suitable for use in a JSON object. More...
 
virtual QString valueAsPythonComment (const QVariant &value, QgsProcessingContext &context) const
 Returns a Python comment explaining a parameter value, or an empty string if no comment is required. 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...
 
virtual QString valueAsString (const QVariant &value, QgsProcessingContext &context, bool &ok) const
 Returns a string version of the parameter input value (if possible). More...
 
virtual QStringList valueAsStringList (const QVariant &value, QgsProcessingContext &context, bool &ok) const
 Returns a string list version of the parameter input value (if possible). More...
 
- Public Member Functions inherited from QgsFileFilterGenerator
virtual ~QgsFileFilterGenerator ()=default
 
virtual QString createFileFilter () const =0
 This method needs to be reimplemented in all classes which implement this interface and return a file filter. More...
 

Static Public Member Functions

static QgsProcessingParameterFilefromScriptCode (const QString &name, const QString &description, bool isOptional, const QString &definition, Behavior behavior=File)
 Creates a new parameter using the definition from a script code. More...
 
static QString typeName ()
 Returns the type name for the parameter class. More...
 

Additional Inherited Members

- Protected Member Functions inherited from QgsProcessingParameterDefinition
QVariant valueAsJsonObjectPrivate (const QVariant &value, QgsProcessingContext &context, ValueAsStringFlags flags) const
 Internal method for evaluating values as JSON objects. More...
 
QString valueAsStringPrivate (const QVariant &value, QgsProcessingContext &context, bool &ok, ValueAsStringFlags flags) const
 Internal method for evaluating values as string. 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...
 
QVariant mGuiDefault
 Default value for parameter in GUI. 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...
 

Detailed Description

An input file or folder parameter for processing algorithms.

Since
QGIS 3.0

Definition at line 1949 of file qgsprocessingparameters.h.

Member Enumeration Documentation

◆ Behavior

Parameter behavior.

Enumerator
File 

Parameter is a single file.

Folder 

Parameter is a folder.

Definition at line 1954 of file qgsprocessingparameters.h.

Constructor & Destructor Documentation

◆ QgsProcessingParameterFile()

QgsProcessingParameterFile::QgsProcessingParameterFile ( const QString &  name,
const QString &  description = QString(),
Behavior  behavior = File,
const QString &  extension = QString(),
const QVariant &  defaultValue = QVariant(),
bool  optional = false,
const QString &  fileFilter = QString() 
)

Constructor for QgsProcessingParameterFile.

The extension argument allows for specifying a file extension associated with the parameter (e.g. "html"). Use fileFilter for a more flexible approach which allows for multiple file extensions. Only one of extension or fileFilter should be specified, if both are specified then fileFilter takes precedence.

Definition at line 3837 of file qgsprocessingparameters.cpp.

Member Function Documentation

◆ asPythonString()

QString QgsProcessingParameterFile::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.

Definition at line 3900 of file qgsprocessingparameters.cpp.

◆ asScriptCode()

QString QgsProcessingParameterFile::asScriptCode ( ) const
overridevirtual

Returns the parameter definition encoded in a string which can be used within a Processing script.

Reimplemented from QgsProcessingParameterDefinition.

Definition at line 3890 of file qgsprocessingparameters.cpp.

◆ behavior()

Behavior QgsProcessingParameterFile::behavior ( ) const
inline

Returns the parameter behavior (e.g.

File or Folder).

See also
setBehavior()

Definition at line 1985 of file qgsprocessingparameters.h.

◆ checkValueIsAcceptable()

bool QgsProcessingParameterFile::checkValueIsAcceptable ( const QVariant &  input,
QgsProcessingContext context = nullptr 
) const
overridevirtual

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

Definition at line 3851 of file qgsprocessingparameters.cpp.

◆ clone()

QgsProcessingParameterDefinition * QgsProcessingParameterFile::clone ( ) const
overridevirtual

Creates a clone of the parameter definition.

Implements QgsProcessingParameterDefinition.

Definition at line 3846 of file qgsprocessingparameters.cpp.

◆ createFileFilter()

QString QgsProcessingParameterFile::createFileFilter ( ) const
overridevirtual

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

Implements QgsFileFilterGenerator.

Definition at line 3924 of file qgsprocessingparameters.cpp.

◆ extension()

QString QgsProcessingParameterFile::extension ( ) const
inline

Returns any specified file extension for the parameter.

Note
See fileFilter() for a more flexible approach.
See also
setExtension()

Definition at line 2000 of file qgsprocessingparameters.h.

◆ fileFilter()

QString QgsProcessingParameterFile::fileFilter ( ) const

Returns the file filter string for file destinations compatible with this parameter.

See also
setFileFilter()
extension()
Since
QGIS 3.10

Definition at line 3950 of file qgsprocessingparameters.cpp.

◆ fromScriptCode()

QgsProcessingParameterFile * QgsProcessingParameterFile::fromScriptCode ( const QString &  name,
const QString &  description,
bool  isOptional,
const QString &  definition,
QgsProcessingParameterFile::Behavior  behavior = File 
)
static

Creates a new parameter using the definition from a script code.

Definition at line 3979 of file qgsprocessingparameters.cpp.

◆ fromVariantMap()

bool QgsProcessingParameterFile::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.

Definition at line 3970 of file qgsprocessingparameters.cpp.

◆ setBehavior()

void QgsProcessingParameterFile::setBehavior ( Behavior  behavior)
inline

Sets the parameter behavior (e.g.

File or Folder).

See also
behavior()

Definition at line 1991 of file qgsprocessingparameters.h.

◆ setExtension()

void QgsProcessingParameterFile::setExtension ( const QString &  extension)

Sets a file extension for the parameter.

Calling this method resets any existing fileFilter().

Note
See setFileFilter() for a more flexible approach.
See also
extension()

Definition at line 3944 of file qgsprocessingparameters.cpp.

◆ setFileFilter()

void QgsProcessingParameterFile::setFileFilter ( const QString &  filter)

Sets the file filter string for file destinations compatible with this parameter.

Calling this method resets any existing extension() setting.

See also
fileFilter()
setExtension()
Since
QGIS 3.10

Definition at line 3955 of file qgsprocessingparameters.cpp.

◆ toVariantMap()

QVariantMap QgsProcessingParameterFile::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.

Definition at line 3961 of file qgsprocessingparameters.cpp.

◆ type()

QString QgsProcessingParameterFile::type ( ) const
inlineoverridevirtual

Unique parameter type name.

Implements QgsProcessingParameterDefinition.

Definition at line 1975 of file qgsprocessingparameters.h.

◆ typeName()

static QString QgsProcessingParameterFile::typeName ( )
inlinestatic

Returns the type name for the parameter class.

Definition at line 1973 of file qgsprocessingparameters.h.


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