Skip to content

Commit

Permalink
Fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
nyalldawson committed Sep 6, 2020
1 parent 53c72bc commit 52c0a18
Show file tree
Hide file tree
Showing 4 changed files with 123 additions and 135 deletions.
Expand Up @@ -9,14 +9,48 @@






class QgsMapBoxGlStyleConversionContext
{
%Docstring
Context for a MapBox GL style conversion operation.

.. warning::

This is private API only, and may change in future QGIS versions

.. versionadded:: 3.16
%End

%TypeHeaderCode
#include "qgsmapboxglstyleconverter.h"
%End
public:

void pushWarning( const QString &warning );
%Docstring
Pushes a ``warning`` message generated during the conversion.
%End

QStringList warnings() const;
%Docstring
Returns a list of warning messages generated during the conversion.
%End

void clearWarnings();
%Docstring
Clears the list of warning messages.
%End

};

class QgsMapBoxGlStyleConverter class QgsMapBoxGlStyleConverter
{ {
%Docstring %Docstring
Handles conversion of MapBox GL styles to QGIS vector tile renderers and labeling Handles conversion of MapBox GL styles to QGIS vector tile renderers and labeling
settings. settings.


Conversions are performed by calling :py:func:`~convert` with either a JSON map or JSON Conversions are performed by calling :py:func:`~QgsMapBoxGlStyleConversionContext.convert` with either a JSON map or JSON
string value, and then retrieving the results by calling :py:func:`~renderer` or :py:func:`~labeling` string value, and then retrieving the results by calling :py:func:`~QgsMapBoxGlStyleConversionContext.renderer` or :py:func:`~QgsMapBoxGlStyleConversionContext.labeling`
respectively. respectively.


.. versionadded:: 3.16 .. versionadded:: 3.16
Expand Down Expand Up @@ -100,40 +134,6 @@ or ``None`` if the style could not be converted successfully.
Opacity, Opacity,
}; };


class ConversionContext
{
%Docstring
Context for a MapBox GL style conversion operation.

.. warning::

This is private API only, and may change in future QGIS versions

.. versionadded:: 3.16
%End

%TypeHeaderCode
#include "qgsmapboxglstyleconverter.h"
%End
public:

void pushWarning( const QString &warning );
%Docstring
Pushes a ``warning`` message generated during the conversion.
%End

QStringList warnings() const;
%Docstring
Returns a list of warning messages generated during the conversion.
%End

void clearWarnings();
%Docstring
Clears the list of warning messages.
%End

};

void parseLayers( const QVariantList &layers ); void parseLayers( const QVariantList &layers );
%Docstring %Docstring
Parse list of ``layers`` from JSON. Parse list of ``layers`` from JSON.
Expand All @@ -143,7 +143,7 @@ Parse list of ``layers`` from JSON.
This is private API only, and may change in future QGIS versions This is private API only, and may change in future QGIS versions
%End %End


static bool parseFillLayer( const QVariantMap &jsonLayer, QgsVectorTileBasicRendererStyle &style /Out/, ConversionContext &context ); static bool parseFillLayer( const QVariantMap &jsonLayer, QgsVectorTileBasicRendererStyle &style /Out/, QgsMapBoxGlStyleConversionContext &context );
%Docstring %Docstring
Parses a fill layer. Parses a fill layer.


Expand All @@ -158,7 +158,7 @@ Parses a fill layer.
- style: generated QGIS vector tile style - style: generated QGIS vector tile style
%End %End


static bool parseLineLayer( const QVariantMap &jsonLayer, QgsVectorTileBasicRendererStyle &style /Out/, ConversionContext &context ); static bool parseLineLayer( const QVariantMap &jsonLayer, QgsVectorTileBasicRendererStyle &style /Out/, QgsMapBoxGlStyleConversionContext &context );
%Docstring %Docstring
Parses a line layer. Parses a line layer.


Expand All @@ -177,7 +177,7 @@ Parses a line layer.
QgsVectorTileBasicRendererStyle &rendererStyle /Out/, QgsVectorTileBasicRendererStyle &rendererStyle /Out/,
bool &hasRenderer /Out/, bool &hasRenderer /Out/,
QgsVectorTileBasicLabelingStyle &labelingStyle /Out/, QgsVectorTileBasicLabelingStyle &labelingStyle /Out/,
bool &hasLabeling /Out/, ConversionContext &context ); bool &hasLabeling /Out/, QgsMapBoxGlStyleConversionContext &context );
%Docstring %Docstring
Parses a symbol layer. Parses a symbol layer.


Expand All @@ -193,7 +193,7 @@ Parses a symbol layer.
%End %End




static QgsProperty parseInterpolateColorByZoom( const QVariantMap &json, ConversionContext &context, QColor *defaultColor = 0 ); static QgsProperty parseInterpolateColorByZoom( const QVariantMap &json, QgsMapBoxGlStyleConversionContext &context, QColor *defaultColor = 0 );
%Docstring %Docstring
Parses a color value which is interpolated by zoom range. Parses a color value which is interpolated by zoom range.


Expand All @@ -202,7 +202,7 @@ Parses a color value which is interpolated by zoom range.
:param defaultColor: optional storage for a reasonable "default" color representing the overall property. :param defaultColor: optional storage for a reasonable "default" color representing the overall property.
%End %End


static QgsProperty parseInterpolateByZoom( const QVariantMap &json, ConversionContext &context, double multiplier = 1 ); static QgsProperty parseInterpolateByZoom( const QVariantMap &json, QgsMapBoxGlStyleConversionContext &context, double multiplier = 1 );
%Docstring %Docstring
Parses a numeric value which is interpolated by zoom range. Parses a numeric value which is interpolated by zoom range.


Expand Down Expand Up @@ -232,7 +232,7 @@ to interpolate alpha component of color.
This is private API only, and may change in future QGIS versions This is private API only, and may change in future QGIS versions
%End %End


static QString parseStops( double base, const QVariantList &stops, double multiplier, ConversionContext &context ); static QString parseStops( double base, const QVariantList &stops, double multiplier, QgsMapBoxGlStyleConversionContext &context );
%Docstring %Docstring
Parses a list of interpolation stops Parses a list of interpolation stops


Expand All @@ -242,7 +242,7 @@ Parses a list of interpolation stops
:param context: conversion context :param context: conversion context
%End %End


static QgsProperty parseInterpolateListByZoom( const QVariantList &json, PropertyType type, ConversionContext &context, double multiplier = 1, QColor *defaultColor = 0 ); static QgsProperty parseInterpolateListByZoom( const QVariantList &json, PropertyType type, QgsMapBoxGlStyleConversionContext &context, double multiplier = 1, QColor *defaultColor = 0 );
%Docstring %Docstring
Interpolates a list which starts with the interpolate function. Interpolates a list which starts with the interpolate function.


Expand All @@ -251,7 +251,7 @@ Interpolates a list which starts with the interpolate function.
This is private API only, and may change in future QGIS versions This is private API only, and may change in future QGIS versions
%End %End


static QColor parseColor( const QVariant &color, ConversionContext &context ); static QColor parseColor( const QVariant &color, QgsMapBoxGlStyleConversionContext &context );
%Docstring %Docstring
Parses a ``color`` in one of these supported formats: Parses a ``color`` in one of these supported formats:


Expand Down Expand Up @@ -309,7 +309,7 @@ Converts a value to Qt.PenJoinStyle enum from JSON value.
This is private API only, and may change in future QGIS versions This is private API only, and may change in future QGIS versions
%End %End


static QString parseExpression( const QVariantList &expression, ConversionContext &context ); static QString parseExpression( const QVariantList &expression, QgsMapBoxGlStyleConversionContext &context );
%Docstring %Docstring
Converts a MapBox GL expression to a QGIS expression. Converts a MapBox GL expression to a QGIS expression.


Expand Down
26 changes: 13 additions & 13 deletions src/core/vectortile/qgsmapboxglstyleconverter.cpp
Expand Up @@ -62,7 +62,7 @@ QgsMapBoxGlStyleConverter::~QgsMapBoxGlStyleConverter() = default;


void QgsMapBoxGlStyleConverter::parseLayers( const QVariantList &layers ) void QgsMapBoxGlStyleConverter::parseLayers( const QVariantList &layers )
{ {
ConversionContext context; QgsMapBoxGlStyleConversionContext context;


QList<QgsVectorTileBasicRendererStyle> rendererStyles; QList<QgsVectorTileBasicRendererStyle> rendererStyles;
QList<QgsVectorTileBasicLabelingStyle> labelingStyles; QList<QgsVectorTileBasicLabelingStyle> labelingStyles;
Expand Down Expand Up @@ -148,7 +148,7 @@ void QgsMapBoxGlStyleConverter::parseLayers( const QVariantList &layers )
labeling->setStyles( labelingStyles ); labeling->setStyles( labelingStyles );
} }


bool QgsMapBoxGlStyleConverter::parseFillLayer( const QVariantMap &jsonLayer, QgsVectorTileBasicRendererStyle &style, ConversionContext &context ) bool QgsMapBoxGlStyleConverter::parseFillLayer( const QVariantMap &jsonLayer, QgsVectorTileBasicRendererStyle &style, QgsMapBoxGlStyleConversionContext &context )
{ {
if ( !jsonLayer.contains( QStringLiteral( "paint" ) ) ) if ( !jsonLayer.contains( QStringLiteral( "paint" ) ) )
{ {
Expand Down Expand Up @@ -332,7 +332,7 @@ bool QgsMapBoxGlStyleConverter::parseFillLayer( const QVariantMap &jsonLayer, Qg
return true; return true;
} }


bool QgsMapBoxGlStyleConverter::parseLineLayer( const QVariantMap &jsonLayer, QgsVectorTileBasicRendererStyle &style, ConversionContext &context ) bool QgsMapBoxGlStyleConverter::parseLineLayer( const QVariantMap &jsonLayer, QgsVectorTileBasicRendererStyle &style, QgsMapBoxGlStyleConversionContext &context )
{ {
if ( !jsonLayer.contains( QStringLiteral( "paint" ) ) ) if ( !jsonLayer.contains( QStringLiteral( "paint" ) ) )
{ {
Expand Down Expand Up @@ -524,7 +524,7 @@ bool QgsMapBoxGlStyleConverter::parseLineLayer( const QVariantMap &jsonLayer, Qg
return true; return true;
} }


void QgsMapBoxGlStyleConverter::parseSymbolLayer( const QVariantMap &jsonLayer, QgsVectorTileBasicRendererStyle &, bool &hasRenderer, QgsVectorTileBasicLabelingStyle &labelingStyle, bool &hasLabeling, ConversionContext &context ) void QgsMapBoxGlStyleConverter::parseSymbolLayer( const QVariantMap &jsonLayer, QgsVectorTileBasicRendererStyle &, bool &hasRenderer, QgsVectorTileBasicLabelingStyle &labelingStyle, bool &hasLabeling, QgsMapBoxGlStyleConversionContext &context )
{ {
hasLabeling = false; hasLabeling = false;
hasRenderer = false; hasRenderer = false;
Expand Down Expand Up @@ -809,7 +809,7 @@ void QgsMapBoxGlStyleConverter::parseSymbolLayer( const QVariantMap &jsonLayer,
hasLabeling = true; hasLabeling = true;
} }


QgsProperty QgsMapBoxGlStyleConverter::parseInterpolateColorByZoom( const QVariantMap &json, ConversionContext &context, QColor *defaultColor ) QgsProperty QgsMapBoxGlStyleConverter::parseInterpolateColorByZoom( const QVariantMap &json, QgsMapBoxGlStyleConversionContext &context, QColor *defaultColor )
{ {
const double base = json.value( QStringLiteral( "base" ), QStringLiteral( "1" ) ).toDouble(); const double base = json.value( QStringLiteral( "base" ), QStringLiteral( "1" ) ).toDouble();
const QVariantList stops = json.value( QStringLiteral( "stops" ) ).toList(); const QVariantList stops = json.value( QStringLiteral( "stops" ) ).toList();
Expand Down Expand Up @@ -911,7 +911,7 @@ QgsProperty QgsMapBoxGlStyleConverter::parseInterpolateColorByZoom( const QVaria
return QgsProperty::fromExpression( caseString ); return QgsProperty::fromExpression( caseString );
} }


QgsProperty QgsMapBoxGlStyleConverter::parseInterpolateByZoom( const QVariantMap &json, ConversionContext &context, double multiplier ) QgsProperty QgsMapBoxGlStyleConverter::parseInterpolateByZoom( const QVariantMap &json, QgsMapBoxGlStyleConversionContext &context, double multiplier )
{ {
const double base = json.value( QStringLiteral( "base" ), QStringLiteral( "1" ) ).toDouble(); const double base = json.value( QStringLiteral( "base" ), QStringLiteral( "1" ) ).toDouble();
const QVariantList stops = json.value( QStringLiteral( "stops" ) ).toList(); const QVariantList stops = json.value( QStringLiteral( "stops" ) ).toList();
Expand Down Expand Up @@ -1021,7 +1021,7 @@ QString QgsMapBoxGlStyleConverter::parseOpacityStops( double base, const QVarian
return caseString; return caseString;
} }


QString QgsMapBoxGlStyleConverter::parseStops( double base, const QVariantList &stops, double multiplier, ConversionContext &context ) QString QgsMapBoxGlStyleConverter::parseStops( double base, const QVariantList &stops, double multiplier, QgsMapBoxGlStyleConversionContext &context )
{ {
QString caseString = QStringLiteral( "CASE " ); QString caseString = QStringLiteral( "CASE " );


Expand Down Expand Up @@ -1068,7 +1068,7 @@ QString QgsMapBoxGlStyleConverter::parseStops( double base, const QVariantList &
return caseString; return caseString;
} }


QgsProperty QgsMapBoxGlStyleConverter::parseInterpolateListByZoom( const QVariantList &json, PropertyType type, ConversionContext &context, double multiplier, QColor *defaultColor ) QgsProperty QgsMapBoxGlStyleConverter::parseInterpolateListByZoom( const QVariantList &json, PropertyType type, QgsMapBoxGlStyleConversionContext &context, double multiplier, QColor *defaultColor )
{ {
if ( json.value( 0 ).toString() != QLatin1String( "interpolate" ) ) if ( json.value( 0 ).toString() != QLatin1String( "interpolate" ) )
{ {
Expand Down Expand Up @@ -1123,7 +1123,7 @@ QgsProperty QgsMapBoxGlStyleConverter::parseInterpolateListByZoom( const QVarian
return QgsProperty(); return QgsProperty();
} }


QColor QgsMapBoxGlStyleConverter::parseColor( const QVariant &color, ConversionContext &context ) QColor QgsMapBoxGlStyleConverter::parseColor( const QVariant &color, QgsMapBoxGlStyleConversionContext &context )
{ {
if ( color.type() != QVariant::String ) if ( color.type() != QVariant::String )
{ {
Expand Down Expand Up @@ -1171,7 +1171,7 @@ Qt::PenJoinStyle QgsMapBoxGlStyleConverter::parseJoinStyle( const QString &style
return Qt::MiterJoin; // "miter" is default return Qt::MiterJoin; // "miter" is default
} }


QString QgsMapBoxGlStyleConverter::parseExpression( const QVariantList &expression, ConversionContext &context ) QString QgsMapBoxGlStyleConverter::parseExpression( const QVariantList &expression, QgsMapBoxGlStyleConversionContext &context )
{ {
QString op = expression.value( 0 ).toString(); QString op = expression.value( 0 ).toString();
if ( op == QLatin1String( "all" ) ) if ( op == QLatin1String( "all" ) )
Expand Down Expand Up @@ -1307,7 +1307,7 @@ QString QgsMapBoxGlStyleConverter::parseExpression( const QVariantList &expressi
} }
} }


QString QgsMapBoxGlStyleConverter::parseValue( const QVariant &value, ConversionContext &context ) QString QgsMapBoxGlStyleConverter::parseValue( const QVariant &value, QgsMapBoxGlStyleConversionContext &context )
{ {
switch ( value.type() ) switch ( value.type() )
{ {
Expand Down Expand Up @@ -1354,9 +1354,9 @@ QgsVectorTileLabeling *QgsMapBoxGlStyleConverter::labeling() const
} }


// //
// ConversionContext // QgsMapBoxGlStyleConversionContext
// //
void QgsMapBoxGlStyleConverter::ConversionContext::pushWarning( const QString &warning ) void QgsMapBoxGlStyleConversionContext::pushWarning( const QString &warning )
{ {
QgsDebugMsg( warning ); QgsDebugMsg( warning );
mWarnings << warning; mWarnings << warning;
Expand Down

0 comments on commit 52c0a18

Please sign in to comment.