From e9259fc03e998e892c92e965d264bca974174fea Mon Sep 17 00:00:00 2001 From: "Thiago Marcos P. Santos" Date: Thu, 7 Jul 2016 16:10:29 +0300 Subject: [PATCH] [Qt] Added set style layout properties method --- platform/qt/include/qmapboxgl.hpp | 2 ++ platform/qt/src/qmapboxgl.cpp | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/platform/qt/include/qmapboxgl.hpp b/platform/qt/include/qmapboxgl.hpp index 309aef1c7..121f1debb 100644 --- a/platform/qt/include/qmapboxgl.hpp +++ b/platform/qt/include/qmapboxgl.hpp @@ -174,6 +174,8 @@ public: void removeAnnotation(QMapbox::AnnotationID); + void setLayoutProperty(const QString &layer, const QString &property, const QVariant &value); + bool isRotating() const; bool isScaling() const; bool isPanning() const; diff --git a/platform/qt/src/qmapboxgl.cpp b/platform/qt/src/qmapboxgl.cpp index 204aa0571..1bf213554 100644 --- a/platform/qt/src/qmapboxgl.cpp +++ b/platform/qt/src/qmapboxgl.cpp @@ -6,6 +6,8 @@ #include #include #include +#include +#include #include #include #include @@ -22,6 +24,7 @@ #include #endif +#include #include #include #include @@ -448,6 +451,24 @@ void QMapboxGL::removeAnnotation(AnnotationID annotationID) d_ptr->mapObj->removeAnnotation(annotationID); } +void QMapboxGL::setLayoutProperty(const QString& layer_, const QString& property, const QVariant& value) +{ + using namespace mbgl::style; + + Layer* layer = d_ptr->mapObj->getLayer(layer_.toStdString()); + if (!layer) { + qWarning() << "Layer not found:" << layer_; + return; + } + + if (conversion::setLayoutProperty(*layer, property.toStdString(), value)) { + qWarning() << "Error setting layout property:" << layer_ << "-" << property; + return; + } + + d_ptr->mapObj->update(mbgl::Update::RecalculateStyle); +} + bool QMapboxGL::isRotating() const { return d_ptr->mapObj->isRotating();