#include "ui/MainMenu.h" #include "common/Widget.h" #include "ui/LightMenu.h" #include "ui/SettingsMenu.h" namespace MainMenuItem { constexpr uint8_t LIGHT = 0; constexpr uint8_t EXTERNAL_DEVICES = 1; constexpr uint8_t SETTINGS = 2; } // namespace MainMenuItem MainMenu::MainMenu(menu_options_t *options) : Menu(options), m_options(options) { addText(MainMenuItem::LIGHT, "Lichtsteuerung"); addTextCounter(MainMenuItem::EXTERNAL_DEVICES, "ext. Geraete", 0); addText(MainMenuItem::SETTINGS, "Einstellungen"); } void MainMenu::onButtonPressed(const MenuItem &menuItem, const ButtonType button) { if (button == ButtonType::SELECT) { std::shared_ptr widget; switch (menuItem.getId()) { case MainMenuItem::LIGHT: widget = std::make_shared(m_options); break; case MainMenuItem::SETTINGS: widget = std::make_shared(m_options); break; default: break; } if (m_options && m_options->pushScreen) { m_options->pushScreen(widget); } } }