QGIS API Documentation  3.16.0-Hannover (43b64b13f3)
qgsprocessingparameteraggregate.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsprocessingparameteraggregate.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 QGSPROCESSINGPARAMETERAGGREGATE_H
17 #define QGSPROCESSINGPARAMETERAGGREGATE_H
18 
21 
32 {
33  public:
35  QgsProcessingParameterAggregate( const QString &name, const QString &description = QString(), const QString &parentLayerParameterName = QString(), bool optional = false );
36 
37  QgsProcessingParameterDefinition *clone() const override;
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( "aggregates" ); }
48 
53  QString parentLayerParameterName() const;
54 
59  void setParentLayerParameterName( const QString &name );
60 
61  private:
62  QString mParentLayerParameterName;
63 
64 };
65 
66 
68 
76 class CORE_EXPORT QgsProcessingParameterTypeAggregate : public QgsProcessingParameterType
77 {
78  public:
79  QgsProcessingParameterDefinition *create( const QString &name ) const override SIP_FACTORY
80  {
81  return new QgsProcessingParameterAggregate( name );
82  }
83 
84  QString description() const override
85  {
86  return QCoreApplication::translate( "Processing", "A mapping of field names and aggregate type. Used for the Aggregate algorithm." );
87  }
88 
89  QString name() const override
90  {
91  return QCoreApplication::translate( "Processing", "Field Aggregates" );
92  }
93 
94  QString id() const override
95  {
97  }
98 
99  QString pythonImportString() const override
100  {
101  return QStringLiteral( "from qgis.core import QgsProcessingParameterAggregate" );
102  }
103 
104  QString className() const override
105  {
106  return QStringLiteral( "QgsProcessingParameterAggregate" );
107  }
108 
109  QStringList acceptedPythonTypes() const override
110  {
111  return QStringList() << QObject::tr( "list[dict]: list of aggregate definitions as dictionaries" );
112  }
113 };
114 
116 
117 #endif // QGSPROCESSINGPARAMETERAGGREGATE_H
QgsProcessingParameterType::create
virtual QgsProcessingParameterDefinition * create(const QString &name) const =0
Creates a new parameter of this type.
qgsprocessingparametertype.h
QgsProcessingParameterDefinition::toVariantMap
virtual QVariantMap toVariantMap() const
Saves this parameter to a QVariantMap.
Definition: qgsprocessingparameters.cpp:2357
QgsProcessingParameterDefinition::valueAsPythonString
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...
Definition: qgsprocessingparameters.cpp:2312
QgsProcessingParameterType::description
virtual QString description() const =0
A human readable and translatable description for this parameter type.
QgsProcessingParameterType::name
virtual QString name() const =0
A human readable and translatable short name for this parameter type.
QgsProcessingParameterDefinition
Base class for the definition of processing parameters.
Definition: qgsprocessingparameters.h:331
QgsProcessingParameterType
Makes metadata of processing parameters available.
Definition: qgsprocessingparametertype.h:34
SIP_FACTORY
#define SIP_FACTORY
Definition: qgis_sip.h:76
QgsProcessingParameterAggregate
A parameter for "aggregate" configurations, which consist of a definition of desired output fields,...
Definition: qgsprocessingparameteraggregate.h:32
QgsProcessing::PythonQgsProcessingAlgorithmSubclass
@ PythonQgsProcessingAlgorithmSubclass
Full Python QgsProcessingAlgorithm subclass.
Definition: qgsprocessing.h:60
QgsProcessingParameterDefinition::fromVariantMap
virtual bool fromVariantMap(const QVariantMap &map)
Restores this parameter to a QVariantMap.
Definition: qgsprocessingparameters.cpp:2370
QgsProcessingContext
Contains information about the context in which a processing algorithm is executed.
Definition: qgsprocessingcontext.h:44
QgsProcessingParameterType::id
virtual QString id() const =0
A static id for this type which will be used for storing this parameter type.
QgsProcessingParameterAggregate::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition: qgsprocessingparameteraggregate.h:47
qgsprocessingparameters.h
QgsProcessingParameterType::className
virtual QString className() const
Returns the corresponding class name for the parameter type.
Definition: qgsprocessingparametertype.h:90
QgsProcessingParameterType::pythonImportString
virtual QString pythonImportString() const
Returns a valid Python import string for importing the corresponding parameter type,...
Definition: qgsprocessingparametertype.h:80
QgsProcessingParameterDefinition::asPythonString
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...
Definition: qgsprocessingparameters.cpp:2333
QgsProcessingParameterDefinition::clone
virtual QgsProcessingParameterDefinition * clone() const =0
Creates a clone of the parameter definition.
QgsProcessingParameterDefinition::type
virtual QString type() const =0
Unique parameter type name.
QgsProcessing::PythonOutputType
PythonOutputType
Available Python output types.
Definition: qgsprocessing.h:59
QgsProcessingParameterType::acceptedPythonTypes
virtual QStringList acceptedPythonTypes() const
Returns a list of the Python data types accepted as values for the parameter.
Definition: qgsprocessingparametertype.cpp:30
QgsProcessingParameterDefinition::dependsOnOtherParameters
virtual QStringList dependsOnOtherParameters() const
Returns a list of other parameter names on which this parameter is dependent (e.g.
Definition: qgsprocessingparameters.h:602
QgsProcessingParameterDefinition::checkValueIsAcceptable
virtual bool checkValueIsAcceptable(const QVariant &input, QgsProcessingContext *context=nullptr) const
Checks whether the specified input value is acceptable for the parameter.
Definition: qgsprocessingparameters.cpp:2300