QGIS API Documentation 4.1.0-Master (31622b25bb0)
Loading...
Searching...
No Matches
qgsprocessingoutputs.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsprocessingoutputs.h
3 -------------------------
4 begin : May 2017
5 copyright : (C) 2017 by Nyall Dawson
6 email : nyall dot dawson at gmail dot com
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18#ifndef QGSPROCESSINGOUTPUTS_H
19#define QGSPROCESSINGOUTPUTS_H
20
21#include "qgis.h"
22#include "qgis_core.h"
23
24#include <QColor>
25#include <QString>
26
27using namespace Qt::StringLiterals;
28
30
31//
32// Output definitions
33//
34
45
47{
48#ifdef SIP_RUN
50 if ( sipCpp->type() == QgsProcessingOutputVectorLayer::typeName() )
51 sipType = sipType_QgsProcessingOutputVectorLayer;
52 else if ( sipCpp->type() == QgsProcessingOutputRasterLayer::typeName() )
53 sipType = sipType_QgsProcessingOutputRasterLayer;
54 else if ( sipCpp->type() == QgsProcessingOutputPointCloudLayer::typeName() )
55 sipType = sipType_QgsProcessingOutputPointCloudLayer;
56 else if ( sipCpp->type() == QgsProcessingOutputVectorTileLayer::typeName() )
57 sipType = sipType_QgsProcessingOutputVectorTileLayer;
58 else if ( sipCpp->type() == QgsProcessingOutputMapLayer::typeName() )
59 sipType = sipType_QgsProcessingOutputMapLayer;
60 else if ( sipCpp->type() == QgsProcessingOutputMultipleLayers::typeName() )
61 sipType = sipType_QgsProcessingOutputMultipleLayers;
62 else if ( sipCpp->type() == QgsProcessingOutputHtml::typeName() )
63 sipType = sipType_QgsProcessingOutputHtml;
64 else if ( sipCpp->type() == QgsProcessingOutputNumber::typeName() )
65 sipType = sipType_QgsProcessingOutputNumber;
66 else if ( sipCpp->type() == QgsProcessingOutputString::typeName() )
67 sipType = sipType_QgsProcessingOutputString;
68 else if ( sipCpp->type() == QgsProcessingOutputBoolean::typeName() )
69 sipType = sipType_QgsProcessingOutputBoolean;
70 else if ( sipCpp->type() == QgsProcessingOutputFolder::typeName() )
71 sipType = sipType_QgsProcessingOutputFolder;
72 else if ( sipCpp->type() == QgsProcessingOutputFile::typeName() )
73 sipType = sipType_QgsProcessingOutputFile;
74 else if ( sipCpp->type() == QgsProcessingOutputConditionalBranch::typeName() )
75 sipType = sipType_QgsProcessingOutputConditionalBranch;
76 else if ( sipCpp->type() == QgsProcessingOutputVariant::typeName() )
77 sipType = sipType_QgsProcessingOutputVariant;
78 else
79 sipType = nullptr;
81#endif
82
83 public:
84
88 QgsProcessingOutputDefinition( const QString &name, const QString &description = QString() );
89
90 virtual ~QgsProcessingOutputDefinition() = default;
91
97 virtual QColor modelColor() const;
98
102 virtual QString type() const = 0;
103
109 QString name() const { return mName; }
110
116 void setName( const QString &name ) { mName = name; }
117
123 QString description() const { return mDescription; }
124
131
139
145 bool autoCreated() const { return mAutoCreated; }
146
159 virtual QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const;
160
175 virtual QString valueAsFormattedString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const;
176
182 virtual bool isMapLayer() const;
183
184 protected:
186 QString mName;
187
190
191 bool mAutoCreated = false;
192};
193
195typedef QList< const QgsProcessingOutputDefinition * > QgsProcessingOutputDefinitions;
196
207{
208 public:
212 QgsProcessingOutputMapLayer( const QString &name, const QString &description = QString() );
213
214 QColor modelColor() const override;
215
219 static QString typeName() { return u"outputLayer"_s; }
220
221 QString type() const override;
222 bool isMapLayer() const override;
223};
224
231{
232 public:
237
238 QColor modelColor() const override;
239
243 static QString typeName() { return u"outputVector"_s; }
244 QString type() const override { return typeName(); }
245 bool isMapLayer() const override;
246
251 Qgis::ProcessingSourceType dataType() const;
252
257 void setDataType( Qgis::ProcessingSourceType type );
258
259 private:
261};
262
269{
270 public:
274 QgsProcessingOutputRasterLayer( const QString &name, const QString &description = QString() );
275
279 static QString typeName() { return u"outputRaster"_s; }
280
281 QColor modelColor() const override;
282 QString type() const override { return typeName(); }
283 bool isMapLayer() const override;
284};
285
293{
294 public:
298 QgsProcessingOutputPointCloudLayer( const QString &name, const QString &description = QString() );
299
303 static QString typeName() { return u"outputPointCloud"_s; }
304 QString type() const override { return typeName(); }
305 bool isMapLayer() const override;
306};
307
321{
322 public:
326 QgsProcessingOutputMultipleLayers( const QString &name, const QString &description = QString() );
327
331 static QString typeName() { return u"outputMultilayer"_s; }
332 QString type() const override;
333
334 QColor modelColor() const override;
335 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
336 bool isMapLayer() const override;
337};
338
345{
346 public:
350 QgsProcessingOutputHtml( const QString &name, const QString &description = QString() );
351
355 static QString typeName() { return u"outputHtml"_s; }
356 QString type() const override { return typeName(); }
357
358 QColor modelColor() const override;
359 QString valueAsFormattedString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
360};
361
362
370{
371 public:
375 QgsProcessingOutputVariant( const QString &name, const QString &description = QString() );
376
380 static QString typeName() { return u"outputVariant"_s; }
381
382 QString type() const override;
383 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
384};
385
392{
393 public:
397 QgsProcessingOutputNumber( const QString &name, const QString &description = QString() );
398
399 QColor modelColor() const override;
400
404 static QString typeName() { return u"outputNumber"_s; }
405 QString type() const override { return typeName(); }
406 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
407};
408
415{
416 public:
420 QgsProcessingOutputString( const QString &name, const QString &description = QString() );
421
425 static QString typeName() { return u"outputString"_s; }
426
427 QColor modelColor() const override;
428 QString type() const override { return typeName(); }
429};
430
438{
439 public:
443 QgsProcessingOutputBoolean( const QString &name, const QString &description = QString() );
444
445 QColor modelColor() const override;
446
450 static QString typeName() { return u"outputBoolean"_s; }
451 QString type() const override { return typeName(); }
452 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
453};
454
461{
462 public:
466
467 QgsProcessingOutputFolder( const QString &name, const QString &description = QString() );
468
472 static QString typeName() { return u"outputFolder"_s; }
473 QString type() const override { return typeName(); }
474
475 QColor modelColor() const override;
476 QString valueAsFormattedString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
477};
478
485{
486 public:
490 QgsProcessingOutputFile( const QString &name, const QString &description = QString() );
491
495 static QString typeName() { return u"outputFile"_s; }
496 QString type() const override { return typeName(); }
497
498 QColor modelColor() const override;
499 QString valueAsFormattedString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
500};
501
510{
511 public:
515 QgsProcessingOutputConditionalBranch( const QString &name, const QString &description = QString() );
516
520 static QString typeName() { return u"outputBranch"_s; }
521 QString type() const override { return typeName(); }
522};
523
531{
532 public:
536 QgsProcessingOutputVectorTileLayer( const QString &name, const QString &description = QString() );
537
541 static QString typeName() { return u"outputVectorTile"_s; }
542
543 QColor modelColor() const override;
544 QString type() const override { return typeName(); }
545 bool isMapLayer() const override;
546};
547
548#endif // QGSPROCESSINGOUTPUTS_H
ProcessingSourceType
Processing data source types.
Definition qgis.h:3712
@ VectorAnyGeometry
Any vector layer with geometry.
Definition qgis.h:3714
Contains information about the context in which a processing algorithm is executed.
QString type() const override
Unique output type name.
QgsProcessingOutputBoolean(const QString &name, const QString &description=QString())
Constructor for QgsProcessingOutputNumber.
QColor modelColor() const override
Returns the color to use for the output in the model designer canvas.
static QString typeName()
Returns the type name for the output class.
static QString typeName()
Returns the type name for the output class.
QString type() const override
Unique output type name.
QgsProcessingOutputConditionalBranch(const QString &name, const QString &description=QString())
Constructor for QgsProcessingOutputConditionalBranch.
void setDescription(const QString &description)
Sets the description for the output.
QString name() const
Returns the name of the output.
void setName(const QString &name)
Sets the name of the output.
void setAutoCreated(bool autoCreated)
Sets whether an output was automatically created when adding a parameter.
virtual ~QgsProcessingOutputDefinition()=default
QgsProcessingOutputDefinition(const QString &name, const QString &description=QString())
Constructor for QgsProcessingOutputDefinition.
virtual QColor modelColor() const
Returns the color to use for the output in the model designer canvas.
virtual QString type() const =0
Unique output type name.
bool autoCreated() const
Returns true if the output was automatically created when adding a parameter.
QString mDescription
Output description.
QString description() const
Returns the description for the output.
QString type() const override
Unique output type name.
static QString typeName()
Returns the type name for the output class.
QgsProcessingOutputFile(const QString &name, const QString &description=QString())
Constructor for QgsProcessingOutputFile.
QString type() const override
Unique output type name.
QgsProcessingOutputFolder(const QString &name, const QString &description=QString())
Constructor for QgsProcessingOutputFolder.
static QString typeName()
Returns the type name for the output class.
QgsProcessingOutputHtml(const QString &name, const QString &description=QString())
Constructor for QgsProcessingOutputHtml.
QString type() const override
Unique output type name.
static QString typeName()
Returns the type name for the output class.
static QString typeName()
Returns the type name for the output class.
QColor modelColor() const override
Returns the color to use for the output in the model designer canvas.
QgsProcessingOutputMapLayer(const QString &name, const QString &description=QString())
Constructor for QgsProcessingOutputMapLayer.
static QString typeName()
Returns the type name for the output class.
QgsProcessingOutputMultipleLayers(const QString &name, const QString &description=QString())
Constructor for QgsProcessingOutputMultipleLayers.
QgsProcessingOutputNumber(const QString &name, const QString &description=QString())
Constructor for QgsProcessingOutputNumber.
QString type() const override
Unique output type name.
QColor modelColor() const override
Returns the color to use for the output in the model designer canvas.
static QString typeName()
Returns the type name for the output class.
QString type() const override
Unique output type name.
static QString typeName()
Returns the type name for the output class.
QgsProcessingOutputPointCloudLayer(const QString &name, const QString &description=QString())
Constructor for QgsProcessingOutputPointCloudLayer.
static QString typeName()
Returns the type name for the output class.
QString type() const override
Unique output type name.
QgsProcessingOutputRasterLayer(const QString &name, const QString &description=QString())
Constructor for QgsProcessingOutputRasterLayer.
QgsProcessingOutputString(const QString &name, const QString &description=QString())
Constructor for QgsProcessingOutputString.
QString type() const override
Unique output type name.
static QString typeName()
Returns the type name for the output class.
static QString typeName()
Returns the type name for the output class.
QgsProcessingOutputVariant(const QString &name, const QString &description=QString())
Constructor for QgsProcessingOutputVariant.
QgsProcessingOutputVectorLayer(const QString &name, const QString &description=QString(), Qgis::ProcessingSourceType type=Qgis::ProcessingSourceType::VectorAnyGeometry)
Constructor for QgsProcessingOutputVectorLayer.
QString type() const override
Unique output type name.
static QString typeName()
Returns the type name for the output class.
QColor modelColor() const override
Returns the color to use for the output in the model designer canvas.
static QString typeName()
Returns the type name for the output class.
QgsProcessingOutputVectorTileLayer(const QString &name, const QString &description=QString())
Constructor for QgsProcessingOutputVectorTileLayer.
QString type() const override
Unique output type name.
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
Definition qgis_sip.h:198
#define SIP_OUT
Definition qgis_sip.h:57
#define SIP_END
Definition qgis_sip.h:215
QList< const QgsProcessingOutputDefinition * > QgsProcessingOutputDefinitions
List of processing parameters.