QGIS API Documentation 4.0.0-Norrköping (1ddcee3d0e4)
Loading...
Searching...
No Matches
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
22#include <QString>
23
24using namespace Qt::StringLiterals;
25
36{
37 public:
39 QgsProcessingParameterFieldMapping( const QString &name, const QString &description = QString(), const QString &parentLayerParameterName = QString(), bool optional = false );
40
42 QString type() const override;
43 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
44 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
46 QVariantMap toVariantMap() const override;
47 bool fromVariantMap( const QVariantMap &map ) override;
48 QStringList dependsOnOtherParameters() const override;
49
51 static QString typeName() { return u"fields_mapping"_s; }
52
57 QString parentLayerParameterName() const;
58
63 void setParentLayerParameterName( const QString &name );
64
65 private:
66 QString mParentLayerParameterName;
67};
68
69#ifndef SIP_RUN
71
79class CORE_EXPORT QgsProcessingParameterTypeFieldMapping : public QgsProcessingParameterType
80{
81 public:
82 QgsProcessingParameterDefinition *create( const QString &name ) const override SIP_FACTORY { return new QgsProcessingParameterFieldMapping( name ); }
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 { return QCoreApplication::translate( "Processing", "Fields Mapper" ); }
90
91 QString id() const override { return QgsProcessingParameterFieldMapping::typeName(); }
92
93 QString pythonImportString() const override { return u"from qgis.core import QgsProcessingParameterFieldMapping"_s; }
94
95 QString className() const override { return u"QgsProcessingParameterFieldMapping"_s; }
96
97 QStringList acceptedPythonTypes() const override { return QStringList() << QObject::tr( "list[dict]: list of field definitions as dictionaries" ); }
98
99 QStringList acceptedParameterTypes() const override { return QStringList() << QgsProcessingParameterFieldMapping::typeName(); }
100
101 QStringList acceptedOutputTypes() const override { return QStringList(); }
102};
103
105#endif
106
107#endif // QGSPROCESSINGPARAMETERFIELDMAP_H
Contains information about the context in which a processing algorithm is executed.
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.
QgsProcessingParameterDefinition(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool optional=false, const QString &help=QString())
Constructor for QgsProcessingParameterDefinition.
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.
QgsProcessingParameterFieldMapping(const QString &name, const QString &description=QString(), const QString &parentLayerParameterName=QString(), bool optional=false)
Constructor for QgsProcessingParameterFieldMapping.
QString parentLayerParameterName() const
Returns the name of the parent layer parameter, or an empty string if this is not set.
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_FACTORY
Definition qgis_sip.h:83