From 3554a3736a17780ab07179bb5b9c1cfa2cd6936f Mon Sep 17 00:00:00 2001 From: "Justin R. Miller" Date: Thu, 3 Jul 2014 14:59:06 -0700 Subject: [PATCH] re-add setAppliedClasses() to style --- include/llmr/map/map.hpp | 1 + include/llmr/style/style.hpp | 1 + src/map/map.cpp | 4 ++++ src/style/style.cpp | 5 +++++ 4 files changed, 11 insertions(+) diff --git a/include/llmr/map/map.hpp b/include/llmr/map/map.hpp index 75090f941..32aabec15 100644 --- a/include/llmr/map/map.hpp +++ b/include/llmr/map/map.hpp @@ -54,6 +54,7 @@ public: // Styling void toggleClass(const std::string &name); const std::vector &getAppliedClasses() const; + void setAppliedClasses(std::vector &class_names); void setDefaultTransitionDuration(uint64_t duration_milliseconds = 0); void setStyleJSON(std::string newStyleJSON); std::string getStyleJSON() const; diff --git a/include/llmr/style/style.hpp b/include/llmr/style/style.hpp index dcdfa36bc..2fb08257b 100644 --- a/include/llmr/style/style.hpp +++ b/include/llmr/style/style.hpp @@ -38,6 +38,7 @@ public: const std::set> getActiveSources() const; const std::vector &getAppliedClasses() const; + void setAppliedClasses(std::vector &class_names); void toggleClass(const std::string &name); // Updates the styling information to reflect the current array diff --git a/src/map/map.cpp b/src/map/map.cpp index 50c172caa..410bd4e61 100644 --- a/src/map/map.cpp +++ b/src/map/map.cpp @@ -389,6 +389,10 @@ const std::vector &Map::getAppliedClasses() const { return style->getAppliedClasses(); } +void Map::setAppliedClasses(std::vector &class_names) { + style->setAppliedClasses(class_names); +} + void Map::setDefaultTransitionDuration(uint64_t duration_milliseconds) { style->setDefaultTransitionDuration(duration_milliseconds); } diff --git a/src/style/style.cpp b/src/style/style.cpp index b11cd9226..77d69299e 100644 --- a/src/style/style.cpp +++ b/src/style/style.cpp @@ -63,6 +63,11 @@ const std::vector &Style::getAppliedClasses() const { return appliedClasses; } +void Style::setAppliedClasses(std::vector &class_names) { + appliedClasses.swap(class_names); + updateClasses(); +} + void Style::toggleClass(const std::string &name) { if (name.length()) { auto it = std::find(appliedClasses.begin(), appliedClasses.end(), name);