QGIS API Documentation 4.1.0-Master (60fea48833c)
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
177 protected:
179 QString mName;
180
183
184 bool mAutoCreated = false;
185};
186
188typedef QList< const QgsProcessingOutputDefinition * > QgsProcessingOutputDefinitions;
189
200{
201 public:
205 QgsProcessingOutputMapLayer( const QString &name, const QString &description = QString() );
206
207 QColor modelColor() const override;
208
212 static QString typeName() { return u"outputLayer"_s; }
213
214 QString type() const override;
215};
216
223{
224 public:
229
230 QColor modelColor() const override;
231
235 static QString typeName() { return u"outputVector"_s; }
236 QString type() const override { return typeName(); }
237
242 Qgis::ProcessingSourceType dataType() const;
243
248 void setDataType( Qgis::ProcessingSourceType type );
249
250 private:
252};
253
260{
261 public:
265 QgsProcessingOutputRasterLayer( const QString &name, const QString &description = QString() );
266
270 static QString typeName() { return u"outputRaster"_s; }
271
272 QColor modelColor() const override;
273 QString type() const override { return typeName(); }
274};
275
283{
284 public:
288 QgsProcessingOutputPointCloudLayer( const QString &name, const QString &description = QString() );
289
293 static QString typeName() { return u"outputPointCloud"_s; }
294 QString type() const override { return typeName(); }
295};
296
310{
311 public:
315 QgsProcessingOutputMultipleLayers( const QString &name, const QString &description = QString() );
316
320 static QString typeName() { return u"outputMultilayer"_s; }
321 QString type() const override;
322
323 QColor modelColor() const override;
324 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
325};
326
333{
334 public:
338 QgsProcessingOutputHtml( const QString &name, const QString &description = QString() );
339
343 static QString typeName() { return u"outputHtml"_s; }
344 QString type() const override { return typeName(); }
345
346 QColor modelColor() const override;
347 QString valueAsFormattedString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
348};
349
350
358{
359 public:
363 QgsProcessingOutputVariant( const QString &name, const QString &description = QString() );
364
368 static QString typeName() { return u"outputVariant"_s; }
369
370 QString type() const override;
371 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
372};
373
380{
381 public:
385 QgsProcessingOutputNumber( const QString &name, const QString &description = QString() );
386
387 QColor modelColor() const override;
388
392 static QString typeName() { return u"outputNumber"_s; }
393 QString type() const override { return typeName(); }
394 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
395};
396
403{
404 public:
408 QgsProcessingOutputString( const QString &name, const QString &description = QString() );
409
413 static QString typeName() { return u"outputString"_s; }
414
415 QColor modelColor() const override;
416 QString type() const override { return typeName(); }
417};
418
426{
427 public:
431 QgsProcessingOutputBoolean( const QString &name, const QString &description = QString() );
432
433 QColor modelColor() const override;
434
438 static QString typeName() { return u"outputBoolean"_s; }
439 QString type() const override { return typeName(); }
440 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
441};
442
449{
450 public:
454
455 QgsProcessingOutputFolder( const QString &name, const QString &description = QString() );
456
460 static QString typeName() { return u"outputFolder"_s; }
461 QString type() const override { return typeName(); }
462
463 QColor modelColor() const override;
464 QString valueAsFormattedString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
465};
466
473{
474 public:
478 QgsProcessingOutputFile( const QString &name, const QString &description = QString() );
479
483 static QString typeName() { return u"outputFile"_s; }
484 QString type() const override { return typeName(); }
485
486 QColor modelColor() const override;
487 QString valueAsFormattedString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
488};
489
498{
499 public:
503 QgsProcessingOutputConditionalBranch( const QString &name, const QString &description = QString() );
504
508 static QString typeName() { return u"outputBranch"_s; }
509 QString type() const override { return typeName(); }
510};
511
519{
520 public:
524 QgsProcessingOutputVectorTileLayer( const QString &name, const QString &description = QString() );
525
529 static QString typeName() { return u"outputVectorTile"_s; }
530
531 QColor modelColor() const override;
532 QString type() const override { return typeName(); }
533};
534
535#endif // QGSPROCESSINGOUTPUTS_H
ProcessingSourceType
Processing data source types.
Definition qgis.h:3645
@ VectorAnyGeometry
Any vector layer with geometry.
Definition qgis.h:3647
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.