QgsProcessingParameterEnum class

An enum based parameter for processing algorithms, allowing for selection from predefined values.

Base classes

class QgsProcessingParameterDefinition
Base class for the definition of processing parameters.

Public static functions

static auto fromScriptCode(const QString& name, const QString& description, bool isOptional, const QString& definition) -> QgsProcessingParameterEnum*
Creates a new parameter using the definition from a script code.
static auto typeName() -> QString
Returns the type name for the parameter class.

Constructors, destructors, conversion operators

QgsProcessingParameterEnum(const QString& name, const QString& description = QString(), const QStringList& options = QStringList(), bool allowMultiple = false, const QVariant& defaultValue = QVariant(), bool optional = false)
Constructor for QgsProcessingParameterEnum.

Public functions

auto allowMultiple() const -> bool
Returns true if the parameter allows multiple selected values.
auto asScriptCode() const -> QString override
Returns the parameter definition encoded in a string which can be used within a Python processing script.
auto checkValueIsAcceptable(const QVariant& input, QgsProcessingContext* context = nullptr) const -> bool override
Checks whether the specified input value is acceptable for the parameter.
auto clone() const -> QgsProcessingParameterDefinition* override
Creates a clone of the parameter definition.
auto fromVariantMap(const QVariantMap& map) -> bool override
Restores this parameter to a QVariantMap.
auto options() const -> QStringList
Returns the list of acceptable options for the parameter.
void setAllowMultiple(bool allowMultiple)
Sets whether the parameter allows multiple selected values.
void setOptions(const QStringList& options)
Sets the list of acceptable options for the parameter.
auto toVariantMap() const -> QVariantMap override
Saves this parameter to a QVariantMap.
auto type() const -> QString override
Unique parameter type name.
auto valueAsPythonString(const QVariant& value, QgsProcessingContext& context) const -> QString override
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.

Function documentation

bool QgsProcessingParameterEnum::allowMultiple() const

Returns true if the parameter allows multiple selected values.

bool QgsProcessingParameterEnum::checkValueIsAcceptable(const QVariant& input, QgsProcessingContext* context = nullptr) const override

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.

bool QgsProcessingParameterEnum::fromVariantMap(const QVariantMap& map) override

Restores this parameter to a QVariantMap.

Subclasses should ensure that they call the base class method.

QStringList QgsProcessingParameterEnum::options() const

Returns the list of acceptable options for the parameter.

void QgsProcessingParameterEnum::setAllowMultiple(bool allowMultiple)

Sets whether the parameter allows multiple selected values.

void QgsProcessingParameterEnum::setOptions(const QStringList& options)

Sets the list of acceptable options for the parameter.

QVariantMap QgsProcessingParameterEnum::toVariantMap() const override

Saves this parameter to a QVariantMap.

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

QString QgsProcessingParameterEnum::valueAsPythonString(const QVariant& value, QgsProcessingContext& context) const override

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.

The returned value must be correctly escaped - e.g. string values must be wrapped in ' 's.