QGIS API Documentation 3.43.0-Master (b60ef06885e)
qgsprocessingparameteralignrasterlayers.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsprocessingparameteralignrasterlayers.h
3 ---------------------
4 Date : July 2023
5 Copyright : (C) 2023 by Alexander Bruy
6 Email : alexander dot bruy at gmail dot com
7 ***************************************************************************
8 * *
9 * This program is free software; you can redistribute it and/or modify *
10 * it under the terms of the GNU General Public License as published by *
11 * the Free Software Foundation; either version 2 of the License, or *
12 * (at your option) any later version. *
13 * *
14 ***************************************************************************/
15
16#ifndef QGSPROCESSINGPARAMETERALIGNRASTERLAYERS_H
17#define QGSPROCESSINGPARAMETERALIGNRASTERLAYERS_H
18
21#include "qgsalignrasterdata.h"
22
53{
54 public:
56 QgsProcessingParameterAlignRasterLayers( const QString &name, const QString &description = QString() );
57
59 QString type() const override;
60 bool checkValueIsAcceptable( const QVariant &input, QgsProcessingContext *context = nullptr ) const override;
61 QString valueAsPythonString( const QVariant &value, QgsProcessingContext &context ) const override;
63 QString valueAsString( const QVariant &value, QgsProcessingContext &context, bool &ok SIP_OUT ) const override;
64 QVariant valueAsJsonObject( const QVariant &value, QgsProcessingContext &context ) const override;
65
67 static QString typeName() { return QStringLiteral( "alignrasterlayers" ); }
69 static QList<QgsAlignRasterData::RasterItem> parameterAsItems( const QVariant &layersVariant, QgsProcessingContext &context );
71 static QgsAlignRasterData::RasterItem variantMapAsItem( const QVariantMap &layerVariantMap, QgsProcessingContext &context );
73 static QVariantMap itemAsVariantMap( const QgsAlignRasterData::RasterItem &item );
74};
75
76#ifndef SIP_RUN
78
86class CORE_EXPORT QgsProcessingParameterTypeAlignRasterLayers : public QgsProcessingParameterType
87{
88 public:
89 QgsProcessingParameterDefinition *create( const QString &name ) const override SIP_FACTORY
90 {
92 }
93
94 QString description() const override
95 {
96 return QCoreApplication::translate( "Processing", "An input allowing selection of multiple raster layers to align." );
97 }
98
99 QString name() const override
100 {
101 return QCoreApplication::translate( "Processing", "Align raster Layers" );
102 }
103
104 QString id() const override
105 {
107 }
108
109 QString pythonImportString() const override
110 {
111 return QStringLiteral( "from qgis.core import QgsProcessingParameterAlignRasterLayers" );
112 }
113
114 QString className() const override
115 {
116 return QStringLiteral( "QgsProcessingParameterAlignRasterLayers" );
117 }
118
119 QStringList acceptedPythonTypes() const override
120 {
121 return QStringList() << QObject::tr( "list[dict]: list of input layers as dictionaries, see QgsProcessingParameterAlignRasterLayers docs" )
122 << QObject::tr( "list[str]: list of layer IDs" )
123 << QObject::tr( "list[str]: list of layer names" )
124 << QObject::tr( "list[str]: list of layer sources" )
125 << QObject::tr( "str: layer ID" )
126 << QObject::tr( "str: layer name" )
127 << QObject::tr( "str: layer source" )
128 << QStringLiteral( "list[QgsMapLayer]" )
129 << QStringLiteral( "QgsRasterLayer" );
130 }
131};
132
134#endif
135
136#endif // QGSPROCESSINGPARAMETERALIGNRASTERLAYERS_H
Contains information about the context in which a processing algorithm is executed.
A parameter for Processing algorithms specifying how rasters should be aligned.
static QString typeName()
Returns the type name for the parameter class.
Base class for the definition of processing parameters.
virtual QVariant valueAsJsonObject(const QVariant &value, QgsProcessingContext &context) const
Returns a version of the parameter input value, which is suitable for use in a JSON object.
virtual QString asPythonString(QgsProcessing::PythonOutputType outputType=QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass) const
Returns the parameter definition as a Python command which can be used within a Python Processing scr...
QString description() const
Returns the description for the parameter.
virtual QString valueAsString(const QVariant &value, QgsProcessingContext &context, bool &ok) const
Returns a string version of the parameter input value (if possible).
virtual QgsProcessingParameterDefinition * clone() const =0
Creates a clone of the parameter definition.
virtual QString type() const =0
Unique parameter type name.
QString name() const
Returns the name of the parameter.
virtual QString valueAsPythonString(const QVariant &value, QgsProcessingContext &context) const
Returns a string version of the parameter input value, which is suitable for use as an input paramete...
virtual bool checkValueIsAcceptable(const QVariant &input, QgsProcessingContext *context=nullptr) const
Checks whether the specified input value is acceptable for the parameter.
Makes metadata of processing parameters available.
PythonOutputType
Available Python output types.
@ PythonQgsProcessingAlgorithmSubclass
Full Python QgsProcessingAlgorithm subclass.
#define SIP_OUT
Definition qgis_sip.h:58
#define SIP_FACTORY
Definition qgis_sip.h:76
Definition of one raster layer for alignment.