QGIS API Documentation 3.43.0-Master (b60ef06885e)
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
50{
51 public:
53 QgsProcessingParameterDxfLayers( const QString &name, const QString &description = QString() );
54
56 QString type() const override;
57 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
58 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
60 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
61 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
62
64 static QString typeName() { return QStringLiteral( "dxflayers" ); }
66 static QList<QgsDxfExport::DxfLayer> parameterAsLayers( const QVariant &layersVariant, QgsProcessingContext &context );
68 static QgsDxfExport::DxfLayer variantMapAsLayer( const QVariantMap &layerVariantMap, QgsProcessingContext &context );
70 static QVariantMap layerAsVariantMap( const QgsDxfExport::DxfLayer &layer );
71};
72
73#ifndef SIP_RUN
75
83class CORE_EXPORT QgsProcessingParameterTypeDxfLayers : public QgsProcessingParameterType
84{
85 public:
86 QgsProcessingParameterDefinition *create( const QString &name ) const override SIP_FACTORY
87 {
88 return new QgsProcessingParameterDxfLayers( name );
89 }
90
91 QString description() const override
92 {
93 return QCoreApplication::translate( "Processing", "An input allowing selection of multiple layers for export to DXF file." );
94 }
95
96 QString name() const override
97 {
98 return QCoreApplication::translate( "Processing", "DXF Layers" );
99 }
100
101 QString id() const override
102 {
104 }
105
106 QString pythonImportString() const override
107 {
108 return QStringLiteral( "from qgis.core import QgsProcessingParameterDxfLayers" );
109 }
110
111 QString className() const override
112 {
113 return QStringLiteral( "QgsProcessingParameterDxfLayers" );
114 }
115
116 QStringList acceptedPythonTypes() const override
117 {
118 return QStringList() << QObject::tr( "list[dict]: list of input layers as dictionaries, see QgsProcessingParameterDxfLayers docs" )
119 << QObject::tr( "list[str]: list of layer IDs" )
120 << QObject::tr( "list[str]: list of layer names" )
121 << QObject::tr( "list[str]: list of layer sources" )
122 << QObject::tr( "str: layer ID" )
123 << QObject::tr( "str: layer name" )
124 << QObject::tr( "str: layer source" )
125 << QStringLiteral( "list[QgsMapLayer]" )
126 << QStringLiteral( "QgsVectorLayer" );
127 }
128};
129
131#endif
132
133#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.
@ 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...