From ea3c803c4f0b6446b62950fffa04f0983beab4d0 Mon Sep 17 00:00:00 2001 From: 0xFEEDC0DE64 Date: Mon, 28 Jun 2021 09:17:39 +0200 Subject: [PATCH] Limits menu now shows live values in menu items --- src/displays/menus/limitssettingsmenu.h | 32 +++++++++++++++---------- src/texts.h | 14 +++++------ 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/src/displays/menus/limitssettingsmenu.h b/src/displays/menus/limitssettingsmenu.h index d8b18c3..7d6b30b 100644 --- a/src/displays/menus/limitssettingsmenu.h +++ b/src/displays/menus/limitssettingsmenu.h @@ -17,44 +17,50 @@ class SettingsMenu; } // namespace namespace { +template +struct TextWithValueHelper : public virtual TextInterface +{ + String text() const override { return Tprefix + (' ' + String{Taccessor{}.getValue()}); } +}; + using IMotMaxChangeScreen = makeComponent< ChangeValueDisplay, - StaticText, + StaticText, IMotMaxAccessor, BackActionInterface>, SwitchScreenAction >; using IDcMaxChangeScreen = makeComponent< ChangeValueDisplay, - StaticText, + StaticText, IDcMaxAccessor, BackActionInterface>, SwitchScreenAction >; using NMotMaxKmhChangeScreen = makeComponent< ChangeValueDisplay, - StaticText, + StaticText, NMotMaxKmhAccessor, BackActionInterface>, SwitchScreenAction >; using NMotMaxRpmChangeScreen = makeComponent< ChangeValueDisplay, - StaticText, + StaticText, NMotMaxRpmAccessor, BackActionInterface>, SwitchScreenAction >; using FieldWeakMaxChangeScreen = makeComponent< ChangeValueDisplay, - StaticText, + StaticText, FieldWeakMaxAccessor, BackActionInterface>, SwitchScreenAction >; using PhaseAdvMaxChangeScreen = makeComponent< ChangeValueDisplay, - StaticText, + StaticText, PhaseAdvMaxAccessor, BackActionInterface>, SwitchScreenAction @@ -68,13 +74,13 @@ class LimitsSettingsMenu : public: LimitsSettingsMenu() { - constructMenuItem, SwitchScreenAction>>(); - constructMenuItem, SwitchScreenAction>>(); - constructMenuItem, SwitchScreenAction>>(); - constructMenuItem, SwitchScreenAction>>(); - constructMenuItem, SwitchScreenAction>>(); - constructMenuItem, SwitchScreenAction>>(); - constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&icons::back>>>(); + constructMenuItem, SwitchScreenAction>>(); + constructMenuItem, SwitchScreenAction>>(); + constructMenuItem, SwitchScreenAction>>(); + constructMenuItem, SwitchScreenAction>>(); + constructMenuItem, SwitchScreenAction>>(); + constructMenuItem, SwitchScreenAction>>(); + constructMenuItem, SwitchScreenAction, StaticMenuItemIcon<&icons::back>>>(); } }; } // namespace diff --git a/src/texts.h b/src/texts.h index e9b36a1..972db9b 100644 --- a/src/texts.h +++ b/src/texts.h @@ -130,13 +130,13 @@ constexpr char TEXT_REVERSEBEEPDURATION1[] = "Reverse beep duration1"; //constexpr char TEXT_BACK[] = "Back"; //LimitsSettingsMenu -//constexpr char TEXT_LIMITSSETTINGS[] = "Common settings"; -constexpr char TEXT_SETIMOTMAX[] = "Set iMotMax"; -constexpr char TEXT_SETIDCMAX[] = "Set iDcMax"; -constexpr char TEXT_SETNMOTMAXKMH[] = "Set nMotMax (kmh)"; -constexpr char TEXT_SETNMOTMAX[] = "Set nMotMax"; -constexpr char TEXT_SETFIELDWEAKMAX[] = "Set fieldWeakMax"; -constexpr char TEXT_SETPHASEADVMAX[] = "Set phaseAdvMax"; +//constexpr char TEXT_LIMITSSETTINGS[] = "Limit settings"; +constexpr char TEXT_IMOTMAX[] = "iMotMax"; +constexpr char TEXT_IDCMAX[] = "iDcMax"; +constexpr char TEXT_NMOTMAXKMH[] = "nMotMaxKmh"; +constexpr char TEXT_NMOTMAX[] = "nMotMax"; +constexpr char TEXT_FIELDWEAKMAX[] = "fldWkMax"; +constexpr char TEXT_PHASEADVMAX[] = "phsAdvMax"; //constexpr char TEXT_BACK[] = "Back"; //DebugMenu