QGIS API Documentation 3.99.0-Master (21b3aa880ba)
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
27
28//
29// Output definitions
30//
31
42
44{
45
46#ifdef SIP_RUN
48 if ( sipCpp->type() == QgsProcessingOutputVectorLayer::typeName() )
49 sipType = sipType_QgsProcessingOutputVectorLayer;
50 else if ( sipCpp->type() == QgsProcessingOutputRasterLayer::typeName() )
51 sipType = sipType_QgsProcessingOutputRasterLayer;
52 else if ( sipCpp->type() == QgsProcessingOutputPointCloudLayer::typeName() )
53 sipType = sipType_QgsProcessingOutputPointCloudLayer;
54 else if ( sipCpp->type() == QgsProcessingOutputVectorTileLayer::typeName() )
55 sipType = sipType_QgsProcessingOutputVectorTileLayer;
56 else if ( sipCpp->type() == QgsProcessingOutputMapLayer::typeName() )
57 sipType = sipType_QgsProcessingOutputMapLayer;
58 else if ( sipCpp->type() == QgsProcessingOutputMultipleLayers::typeName() )
59 sipType = sipType_QgsProcessingOutputMultipleLayers;
60 else if ( sipCpp->type() == QgsProcessingOutputHtml::typeName() )
61 sipType = sipType_QgsProcessingOutputHtml;
62 else if ( sipCpp->type() == QgsProcessingOutputNumber::typeName() )
63 sipType = sipType_QgsProcessingOutputNumber;
64 else if ( sipCpp->type() == QgsProcessingOutputString::typeName() )
65 sipType = sipType_QgsProcessingOutputString;
66 else if ( sipCpp->type() == QgsProcessingOutputBoolean::typeName() )
67 sipType = sipType_QgsProcessingOutputBoolean;
68 else if ( sipCpp->type() == QgsProcessingOutputFolder::typeName() )
69 sipType = sipType_QgsProcessingOutputFolder;
70 else if ( sipCpp->type() == QgsProcessingOutputFile::typeName() )
71 sipType = sipType_QgsProcessingOutputFile;
72 else if ( sipCpp->type() == QgsProcessingOutputConditionalBranch::typeName() )
73 sipType = sipType_QgsProcessingOutputConditionalBranch;
74 else if ( sipCpp->type() == QgsProcessingOutputVariant::typeName() )
75 sipType = sipType_QgsProcessingOutputVariant;
76 else
77 sipType = nullptr;
79#endif
80
81 public:
82
86 QgsProcessingOutputDefinition( const QString &name, const QString &description = QString() );
87
88 virtual ~QgsProcessingOutputDefinition() = default;
89
95 virtual QColor modelColor() const;
96
100 virtual QString type() const = 0;
101
107 QString name() const { return mName; }
108
114 void setName( const QString &name ) { mName = name; }
115
121 QString description() const { return mDescription; }
122
129
137
143 bool autoCreated() const { return mAutoCreated; }
144
157 virtual QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const;
158
173 virtual QString valueAsFormattedString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const;
174
175 protected:
176
178 QString mName;
179
182
183 bool mAutoCreated = false;
184};
185
187typedef QList< const QgsProcessingOutputDefinition * > QgsProcessingOutputDefinitions;
188
199{
200 public:
201
205 QgsProcessingOutputMapLayer( const QString &name, const QString &description = QString() );
206
207 QColor modelColor() const override;
208
212 static QString typeName() { return QStringLiteral( "outputLayer" ); }
213
214 QString type() const override;
215
216};
217
224{
225 public:
226
231
232 QColor modelColor() const override;
233
237 static QString typeName() { return QStringLiteral( "outputVector" ); }
238 QString type() const override { return typeName(); }
239
244 Qgis::ProcessingSourceType dataType() const;
245
250 void setDataType( Qgis::ProcessingSourceType type );
251
252 private:
253
255};
256
263{
264 public:
265
269 QgsProcessingOutputRasterLayer( const QString &name, const QString &description = QString() );
270
274 static QString typeName() { return QStringLiteral( "outputRaster" ); }
275
276 QColor modelColor() const override;
277 QString type() const override { return typeName(); }
278};
279
287{
288 public:
289
293 QgsProcessingOutputPointCloudLayer( const QString &name, const QString &description = QString() );
294
298 static QString typeName() { return QStringLiteral( "outputPointCloud" ); }
299 QString type() const override { return typeName(); }
300};
301
315{
316 public:
317
321 QgsProcessingOutputMultipleLayers( const QString &name, const QString &description = QString() );
322
326 static QString typeName() { return QStringLiteral( "outputMultilayer" ); }
327 QString type() const override;
328
329 QColor modelColor() const override;
330 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
331};
332
339{
340 public:
341
345 QgsProcessingOutputHtml( const QString &name, const QString &description = QString() );
346
350 static QString typeName() { return QStringLiteral( "outputHtml" ); }
351 QString type() const override { return typeName(); }
352
353 QColor modelColor() const override;
354 QString valueAsFormattedString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
355};
356
357
365{
366 public:
367
371 QgsProcessingOutputVariant( const QString &name, const QString &description = QString() );
372
376 static QString typeName() { return QStringLiteral( "outputVariant" ); }
377
378 QString type() const override;
379 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
380
381};
382
389{
390 public:
391
395 QgsProcessingOutputNumber( const QString &name, const QString &description = QString() );
396
397 QColor modelColor() const override;
398
402 static QString typeName() { return QStringLiteral( "outputNumber" ); }
403 QString type() const override { return typeName(); }
404 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
405
406};
407
414{
415 public:
416
420 QgsProcessingOutputString( const QString &name, const QString &description = QString() );
421
425 static QString typeName() { return QStringLiteral( "outputString" ); }
426
427 QColor modelColor() const override;
428 QString type() const override { return typeName(); }
429};
430
438{
439 public:
440
444 QgsProcessingOutputBoolean( const QString &name, const QString &description = QString() );
445
446 QColor modelColor() const override ;
447
451 static QString typeName() { return QStringLiteral( "outputBoolean" ); }
452 QString type() const override { return typeName(); }
453 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
454};
455
462{
463 public:
464
468
469 QgsProcessingOutputFolder( const QString &name, const QString &description = QString() );
470
474 static QString typeName() { return QStringLiteral( "outputFolder" ); }
475 QString type() const override { return typeName(); }
476
477 QColor modelColor() const override;
478 QString valueAsFormattedString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
479};
480
487{
488 public:
489
493 QgsProcessingOutputFile( const QString &name, const QString &description = QString() );
494
498 static QString typeName() { return QStringLiteral( "outputFile" ); }
499 QString type() const override { return typeName(); }
500
501 QColor modelColor() const override;
502 QString valueAsFormattedString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
503};
504
513{
514 public:
515
519 QgsProcessingOutputConditionalBranch( const QString &name, const QString &description = QString() );
520
524 static QString typeName() { return QStringLiteral( "outputBranch" ); }
525 QString type() const override { return typeName(); }
526};
527
535{
536 public:
537
541 QgsProcessingOutputVectorTileLayer( const QString &name, const QString &description = QString() );
542
546 static QString typeName() { return QStringLiteral( "outputVectorTile" ); }
547
548 QColor modelColor() const override;
549 QString type() const override { return typeName(); }
550};
551
552#endif // QGSPROCESSINGOUTPUTS_H
ProcessingSourceType
Processing data source types.
Definition qgis.h:3531
@ VectorAnyGeometry
Any vector layer with geometry.
Definition qgis.h:3533
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.