From 01d50b7bd2e2325be083c35b11edd2784190894a Mon Sep 17 00:00:00 2001 From: Bruno de Oliveira Abinader Date: Wed, 14 Oct 2015 18:20:06 -0700 Subject: [PATCH] [Qt] Forward style class functions --- platform/qt/include/qmapboxgl.hpp | 7 ++++++ platform/qt/src/qmapboxgl.cpp | 37 +++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/platform/qt/include/qmapboxgl.hpp b/platform/qt/include/qmapboxgl.hpp index b89fc1361..7c4784365 100644 --- a/platform/qt/include/qmapboxgl.hpp +++ b/platform/qt/include/qmapboxgl.hpp @@ -8,6 +8,7 @@ class QImage; class QSize; class QString; +class QStringList; class QMapboxGLPrivate; @@ -84,6 +85,12 @@ public: void setGestureInProgress(bool inProgress); + void addClass(const QString &); + void removeClass(const QString &); + bool hasClass(const QString &) const; + void setClasses(const QStringList &); + QStringList getClasses() const; + bool isRotating() const; bool isScaling() const; bool isPanning() const; diff --git a/platform/qt/src/qmapboxgl.cpp b/platform/qt/src/qmapboxgl.cpp index acb57f18b..746272968 100644 --- a/platform/qt/src/qmapboxgl.cpp +++ b/platform/qt/src/qmapboxgl.cpp @@ -11,6 +11,7 @@ #include #include #include +#include #include @@ -190,6 +191,42 @@ void QMapboxGL::setGestureInProgress(bool inProgress) d_ptr->mapObj->setGestureInProgress(inProgress); } +void QMapboxGL::addClass(const QString &className) +{ + d_ptr->mapObj->addClass(className.toUtf8().constData()); +} + +void QMapboxGL::removeClass(const QString &className) +{ + d_ptr->mapObj->removeClass(className.toUtf8().constData()); +} + +bool QMapboxGL::hasClass(const QString &className) const +{ + return d_ptr->mapObj->hasClass(className.toUtf8().constData()); +} + +void QMapboxGL::setClasses(const QStringList &classNames) +{ + std::vector mbglClassNames; + mbglClassNames.reserve(classNames.size()); + + for (const QString &className : classNames) { + mbglClassNames.emplace_back(className.toUtf8().constData()); + } + + d_ptr->mapObj->setClasses(mbglClassNames); +} + +QStringList QMapboxGL::getClasses() const +{ + QStringList classNames; + for (const std::string &mbglClass : d_ptr->mapObj->getClasses()) { + classNames << QString::fromStdString(mbglClass); + } + return classNames; +} + bool QMapboxGL::isRotating() const { return d_ptr->mapObj->isRotating();