diff --git a/src/UI/UI_led.cpp b/src/UI/UI_led.cpp index 891a45e..ab1708d 100644 --- a/src/UI/UI_led.cpp +++ b/src/UI/UI_led.cpp @@ -10,6 +10,11 @@ UI_led::UI_led(const json &j, QObject *parent) : UI_item(UI_LED_TYPE, parent) from_json(j); } +void UI_led::set_led(bool state, Color on, Color off) +{ + set_bg_color(state ? on : off); +} + void UI_led::from_json(const json &j) { UI_item::from_json(j); diff --git a/src/UI/UI_led.hpp b/src/UI/UI_led.hpp index b95718e..e23e635 100644 --- a/src/UI/UI_led.hpp +++ b/src/UI/UI_led.hpp @@ -11,6 +11,8 @@ class UI_led : public UI_item UI_led(std::string text, Color fg_color, Color bg_color, QObject *parent = nullptr); UI_led(const json &j, QObject *parent = nullptr); + void set_led(bool state, Color on, Color off); + void from_json(const json &j) override; json to_json(size_t id) const override; }; diff --git a/tests/UI_led.cpp b/tests/UI_led.cpp index 82c4fb5..5e2a261 100644 --- a/tests/UI_led.cpp +++ b/tests/UI_led.cpp @@ -16,3 +16,12 @@ TEST(UI_led, set_led_color) led.set_bg_color(Color(0, 255, 0)); EXPECT_EQ(led.bg_color(), Color(0, 255, 0)); } + +TEST(UI_led, set_led) +{ + UI_led led("led_text", Color(0, 0, 0), Color(255, 255, 255)); + led.set_led(false, Color::Green, Color::Red); + EXPECT_EQ(led.bg_color(), Color(Color::Red)); + led.set_led(true, Color::Green, Color::Red); + EXPECT_EQ(led.bg_color(), Color(Color::Green)); +}