QGIS API Documentation 4.3.0-Master (45633be667c)
Loading...
Searching...
No Matches
qgsprocessingparametertileextentmaxzoomlist.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsprocessingparametertileextentmaxzoomlist.h
3 ---------------------
4 Date : September 2026
5 Copyright : (C) 2026 by Nyall Dawson
6 Email : nyall dot dawson 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 QGSPROCESSINGPARAMETERTILEEXTENTMAXZOOMLIST_H
17#define QGSPROCESSINGPARAMETERTILEEXTENTMAXZOOMLIST_H
18
23
24#include <QString>
25
26using namespace Qt::StringLiterals;
27
42
51{
52 public:
56 explicit QgsProcessingParameterTileExtentMaxZoomList( const QString &name, const QString &description = QString(), const QVariant &defaultValue = QVariant(), bool optional = false );
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;
62
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 u"tileextentmaxzoomlist"_s; } // cppcheck-suppress duplInheritedMember
68
72 QList<QgsTileExtentMaxZoomRegion> parameterAsRegionList( const QVariant &variant, QgsProcessingContext &context ) const;
73
77 static QVariant toVariant( const QList<QgsTileExtentMaxZoomRegion> &regions );
78
82 QgsTileExtentMaxZoomRegion regionFromVariant( const QVariant &variant, QgsProcessingContext &context ) const;
83
93 static int maxZoomForTile( const QgsRectangle &tileExtent, const QList<QgsTileExtentMaxZoomRegion> &regions, int defaultMaxZoom );
94
95 private:
96 static QVariantMap regionToVariantMap( const QgsTileExtentMaxZoomRegion &region );
97
98 QgsTileExtentMaxZoomRegion regionFromVariantMap( const QVariantMap &map, QgsProcessingContext &context ) const;
99};
100
101#ifndef SIP_RUN
103
111class CORE_EXPORT QgsProcessingParameterTypeTileExtentMaxZoomList : public QgsProcessingParameterType
112{
113 public:
114 QgsProcessingParameterDefinition *create( const QString &name ) const override SIP_FACTORY { return new QgsProcessingParameterTileExtentMaxZoomList( name ); }
115
116 QString description() const override
117 {
118 return QCoreApplication::translate( "Processing", "An input for defining a list of spatial extents, each with an associated maximum zoom level override." );
119 }
120 QString name() const override { return QCoreApplication::translate( "Processing", "Tile Extent Maximum Zoom List" ); }
121 QString id() const override { return QgsProcessingParameterTileExtentMaxZoomList::typeName(); }
122 QString pythonImportString() const override { return u"from qgis.core import QgsProcessingParameterTileExtentMaxZoomList"_s; }
123 QString className() const override { return u"QgsProcessingParameterTileExtentMaxZoomList"_s; }
124 QStringList acceptedParameterTypes() const override { return { QgsProcessingParameterTileExtentMaxZoomList::typeName() }; }
125 QStringList acceptedOutputTypes() const override { return {}; }
126};
127
129#endif
130
131#endif // QGSPROCESSINGPARAMETERTILEEXTENTMAXZOOMLIST_H
Contains information about the context in which a processing algorithm is executed.
QVariant defaultValue() const
Returns the default value for the parameter.
QString description() const
Returns the description for the parameter.
QgsProcessingParameterDefinition(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool optional=false, const QString &help=QString())
Constructor for QgsProcessingParameterDefinition.
QString name() const
Returns the name of the parameter.
QString valueAsPythonString(const QVariant &value, QgsProcessingContext &context) const override
Returns a string version of the parameter input value, which is suitable for use as an input paramete...
QString valueAsString(const QVariant &value, QgsProcessingContext &context, bool &ok) const override
Returns a string version of the parameter input value (if possible).
QString type() const override
Unique parameter type name.
bool checkValueIsAcceptable(const QVariant &input, QgsProcessingContext *context=nullptr) const override
Checks whether the specified input value is acceptable for the parameter.
static QString typeName()
Returns the type name for the parameter class.
QgsProcessingParameterTileExtentMaxZoomList(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool optional=false)
Constructor for QgsProcessingParameterTileExtentMaxZoomList.
QgsProcessingParameterTileExtentMaxZoomList * clone() const override
Creates a clone of the parameter definition.
QVariant valueAsJsonObject(const QVariant &value, QgsProcessingContext &context) const override
Returns a version of the parameter input value, which is suitable for use in a JSON object.
Makes metadata of processing parameters available.
A rectangle specified with double values.
A QgsRectangle with associated coordinate reference system.
#define SIP_OUT
Definition qgis_sip.h:57
#define SIP_FACTORY
Definition qgis_sip.h:83
Represents a spatial region paired with a custom maximum zoom level.
int maxZoom
Maximum zoom level applied within this extent.
QgsReferencedRectangle extent
Bounding box extent and associated CRS.