QGIS API Documentation 4.1.0-Master (3b8ef1f72a3)
Loading...
Searching...
No Matches
qgssymbolconverteresrirest.h
Go to the documentation of this file.
1/***************************************************************************
2 qgssymbolconverteresrirest.h
3 --------------------
4 begin : February 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#ifndef QGSSYMBOLCONVERTERESRIREST_H
16#define QGSSYMBOLCONVERTERESRIREST_H
17
18#include "qgssymbolconverter.h"
19
20#define SIP_NO_FILE
21
22class QgsLineSymbol;
23class QgsFillSymbol;
24class QgsMarkerSymbol;
25
26
34{
35 public:
37 QString name() const override;
38 QString formatName() const override;
39 QVariant toVariant( const QgsSymbol *symbol, QgsSymbolConverterContext &context ) const override SIP_THROW( QgsNotSupportedException );
40 std::unique_ptr< QgsSymbol > createSymbol( const QVariant &variant, QgsSymbolConverterContext &context ) const override;
41
45 static QColor convertColor( const QVariant &data );
46
50 static Qt::PenStyle convertLineStyle( const QString &style );
51
55 static Qt::BrushStyle convertFillStyle( const QString &style );
56
57 private:
58 static std::unique_ptr< QgsLineSymbol > parseEsriLineSymbolJson( const QVariantMap &symbolData );
59 static std::unique_ptr< QgsFillSymbol > parseEsriFillSymbolJson( const QVariantMap &symbolData );
60 static std::unique_ptr< QgsFillSymbol > parseEsriPictureFillSymbolJson( const QVariantMap &symbolData );
61 static std::unique_ptr< QgsMarkerSymbol > parseEsriMarkerSymbolJson( const QVariantMap &symbolData );
62 static std::unique_ptr< QgsMarkerSymbol > parseEsriPictureMarkerSymbolJson( const QVariantMap &symbolData );
63 static std::unique_ptr< QgsMarkerSymbol > parseEsriTextMarkerSymbolJson( const QVariantMap &symbolData );
64
65 static Qgis::MarkerShape parseEsriMarkerShape( const QString &style );
66
68};
69
70#endif // QGSSYMBOLCONVERTERESRIREST_H
MarkerShape
Marker shapes.
Definition qgis.h:3246
QFlags< SymbolConverterCapability > SymbolConverterCapabilities
Symbol converter capabilities.
Definition qgis.h:824
An abstract base class for converting between QgsSymbol objects and QVariant representations.
virtual Qgis::SymbolConverterCapabilities capabilities() const =0
Returns the capabilities of the converter.
virtual QString name() const =0
Returns the unique name for the converter.
virtual QString formatName() const =0
Returns a translated, user-friendly name for the converter's data format.
virtual QVariant toVariant(const QgsSymbol *symbol, QgsSymbolConverterContext &context) const =0
Converts a symbol into a QVariant representation.
virtual std::unique_ptr< QgsSymbol > createSymbol(const QVariant &variant, QgsSymbolConverterContext &context) const =0
Creates a new QgsSymbol from a QVariant representation.
A fill symbol type, for rendering Polygon and MultiPolygon geometries.
A line symbol type, for rendering LineString and MultiLineString geometries.
A marker symbol type, for rendering Point and MultiPoint geometries.
Custom exception class which is raised when an operation is not supported.
Represents the context in which a QgsSymbolConverter conversion occurs.
A symbol converter for converting ESRI REST JSON symbols.
static Qt::PenStyle convertLineStyle(const QString &style)
Converts an ESRI line style to a Qt pen style.
static Qt::BrushStyle convertFillStyle(const QString &style)
Converts an ESRI fill style to a Qt brush style.
static QColor convertColor(const QVariant &data)
Converts ESRI JSON color data to a QColor object.
Abstract base class for all rendered symbols.
Definition qgssymbol.h:227
#define SIP_THROW(name,...)
Definition qgis_sip.h:210