QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
qgsprocessingparameterdxflayers.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsprocessingparameterdxflayers.h
3 ---------------------
4 Date : September 2020
5 Copyright : (C) 2020 by Alexander Bruy
6 Email : alexander dot bruy at gmail dot com
7 ***************************************************************************
8 * *
9 * This program is free software; you can redistribute it and/or modify *
10 * it under the terms of the GNU General Public License as published by *
11 * the Free Software Foundation; either version 2 of the License, or *
12 * (at your option) any later version. *
13 * *
14 ***************************************************************************/
15
16#ifndef QGSPROCESSINGPARAMETERDXFLAYERS_H
17#define QGSPROCESSINGPARAMETERDXFLAYERS_H
18
21#include "qgsdxfexport.h"
22
46{
47 public:
49 QgsProcessingParameterDxfLayers( const QString &name, const QString &description = QString() );
50
52 QString type() const override;
53 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
54 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
56 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
57 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
58
60 static QString typeName() { return QStringLiteral( "dxflayers" ); }
62 static QList<QgsDxfExport::DxfLayer> parameterAsLayers( const QVariant &layersVariant, QgsProcessingContext &context );
64 static QgsDxfExport::DxfLayer variantMapAsLayer( const QVariantMap &layerVariantMap, QgsProcessingContext &context );
66 static QVariantMap layerAsVariantMap( const QgsDxfExport::DxfLayer &layer );
67};
68
69#ifndef SIP_RUN
71
79class CORE_EXPORT QgsProcessingParameterTypeDxfLayers : public QgsProcessingParameterType
80{
81 public:
82 QgsProcessingParameterDefinition *create( const QString &name ) const override SIP_FACTORY
83 {
84 return new QgsProcessingParameterDxfLayers( name );
85 }
86
87 QString description() const override
88 {
89 return QCoreApplication::translate( "Processing", "An input allowing selection of multiple layers for export to DXF file." );
90 }
91
92 QString name() const override
93 {
94 return QCoreApplication::translate( "Processing", "DXF Layers" );
95 }
96
97 QString id() const override
98 {
100 }
101
102 QString pythonImportString() const override
103 {
104 return QStringLiteral( "from qgis.core import QgsProcessingParameterDxfLayers" );
105 }
106
107 QString className() const override
108 {
109 return QStringLiteral( "QgsProcessingParameterDxfLayers" );
110 }
111
112 QStringList acceptedPythonTypes() const override
113 {
114 return QStringList() << QObject::tr( "list[dict]: list of input layers as dictionaries, see QgsProcessingParameterDxfLayers docs" )
115 << QObject::tr( "list[str]: list of layer IDs" )
116 << QObject::tr( "list[str]: list of layer names" )
117 << QObject::tr( "list[str]: list of layer sources" )
118 << QObject::tr( "str: layer ID" )
119 << QObject::tr( "str: layer name" )
120 << QObject::tr( "str: layer source" )
121 << QStringLiteral( "list[QgsMapLayer]" )
122 << QStringLiteral( "QgsVectorLayer" );
123 }
124};
125
127#endif
128
129#endif // QGSPROCESSINGPARAMETERDXFLAYERS_H
Contains information about the context in which a processing algorithm is executed.
Base class for the definition of processing parameters.
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.
virtual QString asPythonString(QgsProcessing::PythonOutputType outputType=QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass) const
Returns the parameter definition as a Python command which can be used within a Python Processing scr...
QString description() const
Returns the description for the parameter.
virtual QString valueAsString(const QVariant &value, QgsProcessingContext &context, bool &ok) const
Returns a string version of the parameter input value (if possible).
virtual QgsProcessingParameterDefinition * clone() const =0
Creates a clone of the parameter definition.
virtual QString type() const =0
Unique parameter type name.
QString name() const
Returns the name of the parameter.
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 paramete...
virtual bool checkValueIsAcceptable(const QVariant &input, QgsProcessingContext *context=nullptr) const
Checks whether the specified input value is acceptable for the parameter.
A parameter for Processing algorithms that need a list of input vector layers to export as DXF file -...
static QString typeName()
Returns the type name for the parameter class.
Makes metadata of processing parameters available.
PythonOutputType
Available Python output types.
Definition: qgsprocessing.h:48
@ PythonQgsProcessingAlgorithmSubclass
Full Python QgsProcessingAlgorithm subclass.
#define SIP_OUT
Definition: qgis_sip.h:58
#define SIP_FACTORY
Definition: qgis_sip.h:76
Layers and optional attribute index to split into multiple layers using attribute value as layer name...
Definition: qgsdxfexport.h:75