36 if ( input.userType() != QMetaType::Type::QVariantList )
39 const QVariantList variantLayers = input.toList();
41 if ( variantLayers.isEmpty() )
44 for (
const QVariant &variantLayer : variantLayers )
46 if ( variantLayer.userType() != QMetaType::Type::QVariantMap )
48 const QVariantMap layerMap = variantLayer.toMap();
50 if ( !layerMap.contains( QStringLiteral(
"source" ) ) ||
51 !layerMap.contains( QStringLiteral(
"type" ) ) ||
52 !layerMap.contains( QStringLiteral(
"attributeIndex" ) ) )
64 if ( layerMap.value( QStringLiteral(
"attributeIndex" ) ).toInt() >= vectorLayer->
fields().
count() )
75 const QVariantList variantLayers = value.toList();
76 for (
const QVariant &variantLayer : variantLayers )
78 const QVariantMap layerMap = variantLayer.toMap();
79 QStringList layerDefParts;
83 const QString layerDef = QStringLiteral(
"{%1}" ).arg( layerDefParts.join(
',' ) );
84 parts.append( layerDef );
86 return parts.join(
',' ).prepend(
'[' ).append(
']' );
101 switch ( outputType )
105 QString code = QStringLiteral(
"QgsProcessingParameterTinInputLayers('%1', %2)" )
Base class for all map layer types.
Contains information about the context in which a processing algorithm is executed.
QString valueAsStringPrivate(const QVariant &value, QgsProcessingContext &context, bool &ok, ValueAsStringFlags flags) const
Internal method for evaluating values as string.
@ AllowMapLayerValues
Enable map layer value handling.
QString description() const
Returns the description for the parameter.
QgsProcessingParameterDefinition(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool optional=false, const QString &help=QString())
Constructor for QgsProcessingParameterDefinition.
QString name() const
Returns the name of the parameter.
QVariant valueAsJsonObjectPrivate(const QVariant &value, QgsProcessingContext &context, ValueAsStringFlags flags) const
Internal method for evaluating values as JSON objects.
static QString stringToPythonLiteral(const QString &string)
Converts a string to a Python string literal.
static QString variantToPythonLiteral(const QVariant &value)
Converts a variant to a Python literal.
static QgsMapLayer * mapLayerFromString(const QString &string, QgsProcessingContext &context, bool allowLoadingNewLayers=true, QgsProcessingUtils::LayerHint typeHint=QgsProcessingUtils::LayerHint::UnknownType, QgsProcessing::LayerOptionsFlags flags=QgsProcessing::LayerOptionsFlags())
Interprets a string as a map layer within the supplied context.
PythonOutputType
Available Python output types.
@ PythonQgsProcessingAlgorithmSubclass
Full Python QgsProcessingAlgorithm subclass.
Represents a vector layer which manages a vector based dataset.