QGIS API Documentation 4.3.0-Master (0cfde48c85b)
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
103
107 virtual QString type() const = 0;
108
114 QString name() const { return mName; }
115
121 void setName( const QString &name ) { mName = name; }
122
128 QString description() const { return mDescription; }
129
136
144
150 bool autoCreated() const { return mAutoCreated; }
151
164 virtual QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const;
165
180 virtual QString valueAsFormattedString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const;
181
187 virtual bool isMapLayer() const;
188
189 protected:
191 QString mName;
192
195
196 bool mAutoCreated = false;
197};
198
200typedef QList< const QgsProcessingOutputDefinition * > QgsProcessingOutputDefinitions;
201
212{
213 public:
217 QgsProcessingOutputMapLayer( const QString &name, const QString &description = QString() );
218
219 QColor modelColor() const override;
223 static QString typeName() { return u"outputLayer"_s; }
224
225 QgsProcessingOutputDefinition *clone() const override SIP_FACTORY;
226 QString type() const override;
227 bool isMapLayer() const override;
228};
229
236{
237 public:
242
243 QColor modelColor() const override;
244
248 static QString typeName() { return u"outputVector"_s; }
249 QgsProcessingOutputDefinition *clone() const override SIP_FACTORY;
250 QString type() const override { return typeName(); }
251 bool isMapLayer() const override;
252
257 Qgis::ProcessingSourceType dataType() const;
258
263 void setDataType( Qgis::ProcessingSourceType type );
264
265 private:
267};
268
275{
276 public:
280 QgsProcessingOutputRasterLayer( const QString &name, const QString &description = QString() );
281
285 static QString typeName() { return u"outputRaster"_s; }
286
287 QColor modelColor() const override;
288
289 QgsProcessingOutputDefinition *clone() const override SIP_FACTORY;
290 QString type() const override { return typeName(); }
291 bool isMapLayer() const override;
292};
293
301{
302 public:
306 QgsProcessingOutputPointCloudLayer( const QString &name, const QString &description = QString() );
307
311 static QString typeName() { return u"outputPointCloud"_s; }
312 QgsProcessingOutputDefinition *clone() const override SIP_FACTORY;
313 QString type() const override { return typeName(); }
314 bool isMapLayer() const override;
315};
316
330{
331 public:
335 QgsProcessingOutputMultipleLayers( const QString &name, const QString &description = QString() );
336
340 static QString typeName() { return u"outputMultilayer"_s; }
341 QgsProcessingOutputDefinition *clone() const override SIP_FACTORY;
342 QString type() const override;
343
344 QColor modelColor() const override;
345 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
346 bool isMapLayer() const override;
347};
348
355{
356 public:
360 QgsProcessingOutputHtml( const QString &name, const QString &description = QString() );
361
365 static QString typeName() { return u"outputHtml"_s; }
366 QgsProcessingOutputDefinition *clone() const override SIP_FACTORY;
367 QString type() const override { return typeName(); }
368
369 QColor modelColor() const override;
370 QString valueAsFormattedString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
371};
372
373
381{
382 public:
386 QgsProcessingOutputVariant( const QString &name, const QString &description = QString() );
387
391 static QString typeName() { return u"outputVariant"_s; }
392
393 QgsProcessingOutputDefinition *clone() const override SIP_FACTORY;
394 QString type() const override;
395 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
396};
397
404{
405 public:
409 QgsProcessingOutputNumber( const QString &name, const QString &description = QString() );
410
411 QColor modelColor() const override;
412
416 static QString typeName() { return u"outputNumber"_s; }
417 QgsProcessingOutputDefinition *clone() const override SIP_FACTORY;
418 QString type() const override { return typeName(); }
419 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
420};
421
428{
429 public:
433 QgsProcessingOutputString( const QString &name, const QString &description = QString() );
434
436
440 static QString typeName() { return u"outputString"_s; }
441
442 QColor modelColor() const override;
443 QString type() const override { return typeName(); }
444};
445
453{
454 public:
458 QgsProcessingOutputBoolean( const QString &name, const QString &description = QString() );
459
460 QColor modelColor() const override;
461
465 static QString typeName() { return u"outputBoolean"_s; }
466 QgsProcessingOutputDefinition *clone() const override SIP_FACTORY;
467 QString type() const override { return typeName(); }
468 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
469};
470
477{
478 public:
482
483 QgsProcessingOutputFolder( const QString &name, const QString &description = QString() );
484
488 static QString typeName() { return u"outputFolder"_s; }
489 QgsProcessingOutputDefinition *clone() const override SIP_FACTORY;
490 QString type() const override { return typeName(); }
491
492 QColor modelColor() const override;
493 QString valueAsFormattedString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
494};
495
502{
503 public:
507 QgsProcessingOutputFile( const QString &name, const QString &description = QString() );
508
512 static QString typeName() { return u"outputFile"_s; }
513 QgsProcessingOutputDefinition *clone() const override SIP_FACTORY;
514 QString type() const override { return typeName(); }
515
516 QColor modelColor() const override;
517 QString valueAsFormattedString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
518};
519
528{
529 public:
533 QgsProcessingOutputConditionalBranch( const QString &name, const QString &description = QString() );
534
538 static QString typeName() { return u"outputBranch"_s; }
539 QgsProcessingOutputDefinition *clone() const override SIP_FACTORY;
540 QString type() const override { return typeName(); }
541};
542
550{
551 public:
555 QgsProcessingOutputVectorTileLayer( const QString &name, const QString &description = QString() );
556
560 static QString typeName() { return u"outputVectorTile"_s; }
561
562 QColor modelColor() const override;
563 QgsProcessingOutputDefinition *clone() const override SIP_FACTORY;
564 QString type() const override { return typeName(); }
565 bool isMapLayer() const override;
566};
567
568#endif // QGSPROCESSINGOUTPUTS_H
ProcessingSourceType
Processing data source types.
Definition qgis.h:3769
@ VectorAnyGeometry
Any vector layer with geometry.
Definition qgis.h:3771
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.
Base class for the definition of processing outputs.
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
virtual QgsProcessingOutputDefinition * clone() const =0
Creates a clone of the output definition.
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.
QgsProcessingOutputDefinition * clone() const override
Creates a clone of the output definition.
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:203
#define SIP_OUT
Definition qgis_sip.h:57
#define SIP_FACTORY
Definition qgis_sip.h:83
#define SIP_END
Definition qgis_sip.h:220
QList< const QgsProcessingOutputDefinition * > QgsProcessingOutputDefinitions
List of processing parameters.