#include "changevaluedisplay_handbremsmode.h" // esp-idf includes #include // 3rdparty lib includes #include #include #include #include // local includes #include "utils.h" namespace espgui { namespace { constexpr const char * const TAG = "ESPGUI"; constexpr char TEXT_HANDBREMS_MOSFETS_OFF[] = "Mosfets off"; constexpr char TEXT_HANDBREMS_OPENMODE[] = "Open Mode"; constexpr char TEXT_HANDBREMS_SPEED0[] = "Speed 0"; constexpr char TEXT_HANDBREMSE[] = "Handbremse"; constexpr char TEXT_BACK[] = "Back"; } // namespace ChangeValueDisplay::ChangeValueDisplay() { constructMenuItem, StaticText>>(HandbremseMode::MOSFETS_OFF, *this, *this, *this); constructMenuItem, StaticText>>(HandbremseMode::OPENMODE, *this, *this, *this); constructMenuItem, StaticText>>(HandbremseMode::SPEED_0, *this, *this, *this); constructMenuItem, StaticMenuItemIcon<&espgui::icons::back>>>(*this); } void ChangeValueDisplay::start() { Base::start(); switch (const auto value = getValue()) { case HandbremseMode::MOSFETS_OFF: setSelectedIndex(0); break; case HandbremseMode::OPENMODE: setSelectedIndex(1); break; case HandbremseMode::SPEED_0: setSelectedIndex(2); break; default: ESP_LOGW(TAG, "Unknown HandbremseMode: %i", std::to_underlying(value)); setSelectedIndex(3); } } } // namespace espgui