QGIS API Documentation 3.99.0-Master (d270888f95f)
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
49#ifdef SIP_RUN
51 if ( sipCpp->type() == QgsProcessingOutputVectorLayer::typeName() )
52 sipType = sipType_QgsProcessingOutputVectorLayer;
53 else if ( sipCpp->type() == QgsProcessingOutputRasterLayer::typeName() )
54 sipType = sipType_QgsProcessingOutputRasterLayer;
55 else if ( sipCpp->type() == QgsProcessingOutputPointCloudLayer::typeName() )
56 sipType = sipType_QgsProcessingOutputPointCloudLayer;
57 else if ( sipCpp->type() == QgsProcessingOutputVectorTileLayer::typeName() )
58 sipType = sipType_QgsProcessingOutputVectorTileLayer;
59 else if ( sipCpp->type() == QgsProcessingOutputMapLayer::typeName() )
60 sipType = sipType_QgsProcessingOutputMapLayer;
61 else if ( sipCpp->type() == QgsProcessingOutputMultipleLayers::typeName() )
62 sipType = sipType_QgsProcessingOutputMultipleLayers;
63 else if ( sipCpp->type() == QgsProcessingOutputHtml::typeName() )
64 sipType = sipType_QgsProcessingOutputHtml;
65 else if ( sipCpp->type() == QgsProcessingOutputNumber::typeName() )
66 sipType = sipType_QgsProcessingOutputNumber;
67 else if ( sipCpp->type() == QgsProcessingOutputString::typeName() )
68 sipType = sipType_QgsProcessingOutputString;
69 else if ( sipCpp->type() == QgsProcessingOutputBoolean::typeName() )
70 sipType = sipType_QgsProcessingOutputBoolean;
71 else if ( sipCpp->type() == QgsProcessingOutputFolder::typeName() )
72 sipType = sipType_QgsProcessingOutputFolder;
73 else if ( sipCpp->type() == QgsProcessingOutputFile::typeName() )
74 sipType = sipType_QgsProcessingOutputFile;
75 else if ( sipCpp->type() == QgsProcessingOutputConditionalBranch::typeName() )
76 sipType = sipType_QgsProcessingOutputConditionalBranch;
77 else if ( sipCpp->type() == QgsProcessingOutputVariant::typeName() )
78 sipType = sipType_QgsProcessingOutputVariant;
79 else
80 sipType = nullptr;
82#endif
83
84 public:
85
89 QgsProcessingOutputDefinition( const QString &name, const QString &description = QString() );
90
91 virtual ~QgsProcessingOutputDefinition() = default;
92
98 virtual QColor modelColor() const;
99
103 virtual QString type() const = 0;
104
110 QString name() const { return mName; }
111
117 void setName( const QString &name ) { mName = name; }
118
124 QString description() const { return mDescription; }
125
132
140
146 bool autoCreated() const { return mAutoCreated; }
147
160 virtual QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const;
161
176 virtual QString valueAsFormattedString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const;
177
178 protected:
179
181 QString mName;
182
185
186 bool mAutoCreated = false;
187};
188
190typedef QList< const QgsProcessingOutputDefinition * > QgsProcessingOutputDefinitions;
191
202{
203 public:
204
208 QgsProcessingOutputMapLayer( const QString &name, const QString &description = QString() );
209
210 QColor modelColor() const override;
211
215 static QString typeName() { return u"outputLayer"_s; }
216
217 QString type() const override;
218
219};
220
227{
228 public:
229
234
235 QColor modelColor() const override;
236
240 static QString typeName() { return u"outputVector"_s; }
241 QString type() const override { return typeName(); }
242
247 Qgis::ProcessingSourceType dataType() const;
248
253 void setDataType( Qgis::ProcessingSourceType type );
254
255 private:
256
258};
259
266{
267 public:
268
272 QgsProcessingOutputRasterLayer( const QString &name, const QString &description = QString() );
273
277 static QString typeName() { return u"outputRaster"_s; }
278
279 QColor modelColor() const override;
280 QString type() const override { return typeName(); }
281};
282
290{
291 public:
292
296 QgsProcessingOutputPointCloudLayer( const QString &name, const QString &description = QString() );
297
301 static QString typeName() { return u"outputPointCloud"_s; }
302 QString type() const override { return typeName(); }
303};
304
318{
319 public:
320
324 QgsProcessingOutputMultipleLayers( const QString &name, const QString &description = QString() );
325
329 static QString typeName() { return u"outputMultilayer"_s; }
330 QString type() const override;
331
332 QColor modelColor() const override;
333 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
334};
335
342{
343 public:
344
348 QgsProcessingOutputHtml( const QString &name, const QString &description = QString() );
349
353 static QString typeName() { return u"outputHtml"_s; }
354 QString type() const override { return typeName(); }
355
356 QColor modelColor() const override;
357 QString valueAsFormattedString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
358};
359
360
368{
369 public:
370
374 QgsProcessingOutputVariant( const QString &name, const QString &description = QString() );
375
379 static QString typeName() { return u"outputVariant"_s; }
380
381 QString type() const override;
382 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
383
384};
385
392{
393 public:
394
398 QgsProcessingOutputNumber( const QString &name, const QString &description = QString() );
399
400 QColor modelColor() const override;
401
405 static QString typeName() { return u"outputNumber"_s; }
406 QString type() const override { return typeName(); }
407 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
408
409};
410
417{
418 public:
419
423 QgsProcessingOutputString( const QString &name, const QString &description = QString() );
424
428 static QString typeName() { return u"outputString"_s; }
429
430 QColor modelColor() const override;
431 QString type() const override { return typeName(); }
432};
433
441{
442 public:
443
447 QgsProcessingOutputBoolean( const QString &name, const QString &description = QString() );
448
449 QColor modelColor() const override ;
450
454 static QString typeName() { return u"outputBoolean"_s; }
455 QString type() const override { return typeName(); }
456 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
457};
458
465{
466 public:
467
471
472 QgsProcessingOutputFolder( const QString &name, const QString &description = QString() );
473
477 static QString typeName() { return u"outputFolder"_s; }
478 QString type() const override { return typeName(); }
479
480 QColor modelColor() const override;
481 QString valueAsFormattedString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
482};
483
490{
491 public:
492
496 QgsProcessingOutputFile( const QString &name, const QString &description = QString() );
497
501 static QString typeName() { return u"outputFile"_s; }
502 QString type() const override { return typeName(); }
503
504 QColor modelColor() const override;
505 QString valueAsFormattedString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
506};
507
516{
517 public:
518
522 QgsProcessingOutputConditionalBranch( const QString &name, const QString &description = QString() );
523
527 static QString typeName() { return u"outputBranch"_s; }
528 QString type() const override { return typeName(); }
529};
530
538{
539 public:
540
544 QgsProcessingOutputVectorTileLayer( const QString &name, const QString &description = QString() );
545
549 static QString typeName() { return u"outputVectorTile"_s; }
550
551 QColor modelColor() const override;
552 QString type() const override { return typeName(); }
553};
554
555#endif // QGSPROCESSINGOUTPUTS_H
ProcessingSourceType
Processing data source types.
Definition qgis.h:3590
@ VectorAnyGeometry
Any vector layer with geometry.
Definition qgis.h:3592
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:199
#define SIP_OUT
Definition qgis_sip.h:58
#define SIP_END
Definition qgis_sip.h:216
QList< const QgsProcessingOutputDefinition * > QgsProcessingOutputDefinitions
List of processing parameters.