/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/core/processing/qgsprocessingparameterdxflayers.h                *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 ************************************************************************/



class QgsProcessingParameterDxfLayers : QgsProcessingParameterDefinition
{
%Docstring(signature="appended")
A parameter for Processing algorithms that need a list of input vector
layers to export as DXF file - this parameter provides Processing
framework's adapter for QList<:py:class:`QgsDxfExport`.DxfLayer>.

A valid value for this parameter is a list (QVariantList), where each
item is a map (QVariantMap) in this form:

.. code-block:: python

     {
       'layer':  string or QgsMapLayer,
       'attributeIndex': int
     }

Also it can accept lists (either string lists or
:py:class:`QgsVectorLayer` list) as well as individual layer object or
string representing layer source.

Static functions :py:func:`~parametersAsLayers`,
:py:func:`~variantMapAsLayer`, :py:func:`~layerAsVariantMap` provide
conversion between :py:class:`QgsDxfExport`.DxfLayer representation and
QVariant representation.

.. versionadded:: 3.18
%End

%TypeHeaderCode
#include "qgsprocessingparameterdxflayers.h"
%End
  public:
    QgsProcessingParameterDxfLayers( const QString &name, const QString &description = QString() );
%Docstring
Constructor for QgsProcessingParameterDxfLayers.
%End

    virtual QgsProcessingParameterDefinition *clone() const /Factory/;

    virtual QString type() const;

    virtual bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = 0 ) const;

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

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

    virtual QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok /Out/ ) const;

    virtual QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const;


    static QString typeName();
%Docstring
Returns the type name for the parameter class.
%End
    static QList<QgsDxfExport::DxfLayer> parameterAsLayers( const QVariant &layersVariant, QgsProcessingContext &context );
%Docstring
Converts a QVariant value (a QVariantList) to a list of input layers
%End
    static QgsDxfExport::DxfLayer variantMapAsLayer( const QVariantMap &layerVariantMap, QgsProcessingContext &context );
%Docstring
Converts a QVariant value (a QVariantMap) to a single input layer
%End
    static QVariantMap layerAsVariantMap( const QgsDxfExport::DxfLayer &layer );
%Docstring
Converts a single input layer to QVariant representation (a QVariantMap)
%End
};


/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/core/processing/qgsprocessingparameterdxflayers.h                *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 ************************************************************************/
