QGIS API Documentation  3.23.0-Master (eb871beae0)
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 
58  static QString typeName() { return QStringLiteral( "dxflayers" ); }
60  static QList<QgsDxfExport::DxfLayer> parameterAsLayers( const QVariant &layersVariant, QgsProcessingContext &context );
62  static QgsDxfExport::DxfLayer variantMapAsLayer( const QVariantMap &layerVariantMap, QgsProcessingContext &context );
64  static QVariantMap layerAsVariantMap( const QgsDxfExport::DxfLayer &layer );
65 };
66 
67 #ifndef SIP_RUN
69 
77 class CORE_EXPORT QgsProcessingParameterTypeDxfLayers : public QgsProcessingParameterType
78 {
79  public:
80  QgsProcessingParameterDefinition *create( const QString &name ) const override SIP_FACTORY
81  {
82  return new QgsProcessingParameterDxfLayers( name );
83  }
84 
85  QString description() const override
86  {
87  return QCoreApplication::translate( "Processing", "An input allowing selection of multiple layers for export to DXF file." );
88  }
89 
90  QString name() const override
91  {
92  return QCoreApplication::translate( "Processing", "DXF Layers" );
93  }
94 
95  QString id() const override
96  {
98  }
99 
100  QString pythonImportString() const override
101  {
102  return QStringLiteral( "from qgis.core import QgsProcessingParameterDxfLayers" );
103  }
104 
105  QString className() const override
106  {
107  return QStringLiteral( "QgsProcessingParameterDxfLayers" );
108  }
109 
110  QStringList acceptedPythonTypes() const override
111  {
112  return QStringList() << QObject::tr( "list[dict]: list of input layers as dictionaries, see QgsProcessingParameterDxfLayers docs" )
113  << QObject::tr( "list[str]: list of layer IDs" )
114  << QObject::tr( "list[str]: list of layer names" )
115  << QObject::tr( "list[str]: list of layer sources" )
116  << QObject::tr( "str: layer ID" )
117  << QObject::tr( "str: layer name" )
118  << QObject::tr( "str: layer source" )
119  << QStringLiteral( "list[QgsMapLayer]" )
120  << QStringLiteral( "QgsVectorLayer" );
121  }
122 };
123 
125 #endif
126 
127 #endif // QGSPROCESSINGPARAMETERDXFLAYERS_H
Contains information about the context in which a processing algorithm is executed.
Base class for the definition of processing parameters.
virtual QgsProcessingParameterDefinition * clone() const =0
Creates a clone of the parameter definition.
virtual QString asPythonString(QgsProcessing::PythonOutputType outputType=QgsProcessing::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 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:63
@ PythonQgsProcessingAlgorithmSubclass
Full Python QgsProcessingAlgorithm subclass.
Definition: qgsprocessing.h:64
#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:74