QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
qgsprocessingparameterfieldmap.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsprocessingparameterfieldmap.h
3 -------------------------
4 begin : June 2020
5 copyright : (C) 2020 by Nyall Dawson
6 email : nyall dot dawson 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 QGSPROCESSINGPARAMETERFIELDMAP_H
17#define QGSPROCESSINGPARAMETERFIELDMAP_H
18
21
32{
33 public:
35 QgsProcessingParameterFieldMapping( const QString &name, const QString &description = QString(), const QString &parentLayerParameterName = QString(), bool optional = false );
36
38 QString type() const override;
39 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
40 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
42 QVariantMap toVariantMap() const override;
43 bool fromVariantMap( const QVariantMap &map ) override;
44 QStringList dependsOnOtherParameters() const override;
45
47 static QString typeName() { return QStringLiteral( "fields_mapping" ); }
48
53 QString parentLayerParameterName() const;
54
59 void setParentLayerParameterName( const QString &name );
60
61 private:
62 QString mParentLayerParameterName;
63
64};
65
66#ifndef SIP_RUN
68
76class CORE_EXPORT QgsProcessingParameterTypeFieldMapping : public QgsProcessingParameterType
77{
78 public:
79 QgsProcessingParameterDefinition *create( const QString &name ) const override SIP_FACTORY
80 {
81 return new QgsProcessingParameterFieldMapping( name );
82 }
83
84 QString description() const override
85 {
86 return QCoreApplication::translate( "Processing", "A mapping of field names to field type definitions and expressions. Used for the refactor fields algorithm." );
87 }
88
89 QString name() const override
90 {
91 return QCoreApplication::translate( "Processing", "Fields Mapper" );
92 }
93
94 QString id() const override
95 {
97 }
98
99 QString pythonImportString() const override
100 {
101 return QStringLiteral( "from qgis.core import QgsProcessingParameterFieldMapping" );
102 }
103
104 QString className() const override
105 {
106 return QStringLiteral( "QgsProcessingParameterFieldMapping" );
107 }
108
109 QStringList acceptedPythonTypes() const override
110 {
111 return QStringList() << QObject::tr( "list[dict]: list of field definitions as dictionaries" );
112 }
113};
114
116#endif
117
118#endif // QGSPROCESSINGPARAMETERFIELDMAP_H
Contains information about the context in which a processing algorithm is executed.
Base class for the definition of processing parameters.
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 QgsProcessingParameterDefinition * clone() const =0
Creates a clone of the parameter definition.
virtual QString type() const =0
Unique parameter type name.
virtual QVariantMap toVariantMap() const
Saves this parameter to a QVariantMap.
QString name() const
Returns the name of the parameter.
virtual QStringList dependsOnOtherParameters() const
Returns a list of other parameter names on which this parameter is dependent (e.g.
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.
virtual bool fromVariantMap(const QVariantMap &map)
Restores this parameter to a QVariantMap.
A parameter for "field mapping" configurations, which consist of a definition of desired output field...
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_FACTORY
Definition: qgis_sip.h:76