From e06007817c0fe169346a3021b75fc88312360622 Mon Sep 17 00:00:00 2001 From: Sander Speetjens Date: Sat, 24 Aug 2024 17:19:59 +0200 Subject: [PATCH] UI Add extra color for led to UI led class --- src/UI/UI_led.cpp | 22 +++++++++++++++++++--- src/UI/UI_led.hpp | 7 ++++++- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/src/UI/UI_led.cpp b/src/UI/UI_led.cpp index bf5cbec..fa4a457 100644 --- a/src/UI/UI_led.cpp +++ b/src/UI/UI_led.cpp @@ -1,7 +1,8 @@ #include "UI_led.hpp" -UI_led::UI_led(std::string id, std::string text, Color fg_color, Color bg_color) : -UI_item(id, UI_LED_TYPE, text, 12, fg_color, bg_color) +UI_led::UI_led(std::string id, std::string text, Color fg_color, Color bg_color, Color led_color) : +UI_item(id, UI_LED_TYPE, text, 12, fg_color, bg_color), +m_led_color(led_color) { } @@ -11,12 +12,27 @@ UI_led::UI_led(const json& j) : UI_item(j) from_json(j); } +Color UI_led::led_color() const +{ + return m_led_color; +} + +void UI_led::set_led_color(Color led_color) +{ + m_led_color = led_color; +} + void UI_led::from_json(const json& j) { UI_item::from_json(j); + std::string color; + j.at("led_color").get_to(color); + m_led_color = Color(color); } json UI_led::to_json() const { - return UI_item::to_json(); + json j = UI_item::to_json(); + j["led_color"] = m_led_color.to_hex(); + return j; } \ No newline at end of file diff --git a/src/UI/UI_led.hpp b/src/UI/UI_led.hpp index 1c4dbaf..a4f2d3c 100644 --- a/src/UI/UI_led.hpp +++ b/src/UI/UI_led.hpp @@ -7,9 +7,14 @@ class UI_led : public UI_item { public: - UI_led(std::string id, std::string text, Color fg_color, Color bg_color); + UI_led(std::string id, std::string text, Color fg_color, Color bg_color, Color led_color); UI_led(const json& j); + Color led_color() const; + void set_led_color(Color led_color); + void from_json(const json& j) override; json to_json() const override; +private: + Color m_led_color; }; \ No newline at end of file