Push/Pop screens
This commit is contained in:
@ -30,24 +30,23 @@ public:
|
|||||||
|
|
||||||
void ModeSettingsAction::triggered()
|
void ModeSettingsAction::triggered()
|
||||||
{
|
{
|
||||||
if (
|
if (currentMode == &modes::defaultMode
|
||||||
currentMode == &modes::defaultMode
|
#ifdef FEATURE_JOYSTICK
|
||||||
#ifdef FEATURE_JOYSTICK
|
|
||||||
|| currentMode == &modes::wheelchairMode
|
|| currentMode == &modes::wheelchairMode
|
||||||
#endif
|
#endif
|
||||||
)
|
)
|
||||||
switchScreen<DefaultModeSettingsMenu>();
|
pushScreen<DefaultModeSettingsMenu>();
|
||||||
else if (currentMode == &modes::tempomatMode)
|
else if (currentMode == &modes::tempomatMode)
|
||||||
switchScreen<TempomatModeSettingsMenu>();
|
pushScreen<TempomatModeSettingsMenu>();
|
||||||
else if (currentMode == &modes::larsmMode)
|
else if (currentMode == &modes::larsmMode)
|
||||||
switchScreen<LarsmModeSettingsMenu>();
|
pushScreen<LarsmModeSettingsMenu>();
|
||||||
else if (currentMode == &modes::mickMode)
|
else if (currentMode == &modes::mickMode)
|
||||||
switchScreen<MickModeSettingsMenu>();
|
pushScreen<MickModeSettingsMenu>();
|
||||||
else if (currentMode == &modes::motortestMode)
|
else if (currentMode == &modes::motortestMode)
|
||||||
switchScreen<MotortestModeSettingsMenu>();
|
pushScreen<MotortestModeSettingsMenu>();
|
||||||
#ifdef FEATURE_GAMETRAK
|
#ifdef FEATURE_GAMETRAK
|
||||||
else if (currentMode == &modes::gametrakMode)
|
else if (currentMode == &modes::gametrakMode)
|
||||||
switchScreen<GametrakModeSettingsMenu>();
|
pushScreen<GametrakModeSettingsMenu>();
|
||||||
#endif
|
#endif
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -100,9 +100,11 @@ void BmsDisplay::buttonPressed(espgui::Button button)
|
|||||||
|
|
||||||
switch (button)
|
switch (button)
|
||||||
{
|
{
|
||||||
case Button::Right: switchScreen<MainMenu>(); break;
|
using espgui::Button;
|
||||||
|
case Button::Right: pushScreen<MainMenu>(); break;
|
||||||
case Button::Up: switchScreen<MetersDisplay>(); break;
|
case Button::Up: switchScreen<MetersDisplay>(); break;
|
||||||
case Button::Down: switchScreen<StatusDisplay>();
|
case Button::Down: switchScreen<StatusDisplay>(); break;
|
||||||
|
default:;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -7,19 +7,16 @@
|
|||||||
#include <TFT_eSPI.h>
|
#include <TFT_eSPI.h>
|
||||||
#include <cpputils.h>
|
#include <cpputils.h>
|
||||||
#include <menuitem.h>
|
#include <menuitem.h>
|
||||||
#include <actions/switchscreenaction.h>
|
|
||||||
#include <actioninterface.h>
|
#include <actioninterface.h>
|
||||||
#include <tftinstance.h>
|
#include <tftinstance.h>
|
||||||
#include <screenmanager.h>
|
#include <screenmanager.h>
|
||||||
|
#include <actions/dummyaction.h>
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "menudisplay.h"
|
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
#include "icons/back.h"
|
#include "icons/back.h"
|
||||||
#include "icons/bobbycar.h"
|
#include "icons/bobbycar.h"
|
||||||
#include "actions/dummyaction.h"
|
|
||||||
#include "globals.h"
|
#include "globals.h"
|
||||||
#include "displays/menus/ledstripmenu.h"
|
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
constexpr char TEXT_LEDSTRIPCOLORMENU[] = "Customize Ledstrip";
|
constexpr char TEXT_LEDSTRIPCOLORMENU[] = "Customize Ledstrip";
|
||||||
@ -101,7 +98,7 @@ void LedstripColorsDisplay::buttonPressed(espgui::Button button)
|
|||||||
case Button::Left:
|
case Button::Left:
|
||||||
if(!state_select_color)
|
if(!state_select_color)
|
||||||
{
|
{
|
||||||
espgui::switchScreen<LedstripMenu>();
|
espgui::popScreen();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -80,7 +80,7 @@ BatteryMenu::BatteryMenu()
|
|||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_CELL_SERIES, BatterySeriesCellsAccessor>, SwitchScreenAction<BatteryCellSeriesChangeScreen>>>();
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_CELL_SERIES, BatterySeriesCellsAccessor>, SwitchScreenAction<BatteryCellSeriesChangeScreen>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_CELL_PARALLEL, BatteryParallelCellsAccessor>, SwitchScreenAction<BatteryCellParallelChangeScreen>>>();
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_CELL_PARALLEL, BatteryParallelCellsAccessor>, SwitchScreenAction<BatteryCellParallelChangeScreen>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_BATTERY_WHKM, BatteryWHperKMAccessor>, SwitchScreenAction<BatteryWHperKMChangeScreen>>>();
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_BATTERY_WHKM, BatteryWHperKMAccessor>, SwitchScreenAction<BatteryWHperKMChangeScreen>>>();
|
||||||
constructMenuItem<SwitchScreenTypeSafeChangeMenuItem<BatteryCellType, BatteryMenu, TEXT_SELECT_CELL_TYPE>>(&configs.battery.cellType);
|
constructMenuItem<PopScreenTypeSafeChangeMenuItem<BatteryCellType, TEXT_SELECT_CELL_TYPE>>(&configs.battery.cellType);
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SHOW_BATTERY_GRAPH>, SwitchScreenAction<BatteryGraphDisplay>, StaticMenuItemIcon<&bobbyicons::graph>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SHOW_BATTERY_GRAPH>, SwitchScreenAction<BatteryGraphDisplay>, StaticMenuItemIcon<&bobbyicons::graph>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>();
|
constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, WhStatisticsText, DummyAction>>();
|
constructMenuItem<makeComponent<MenuItem, WhStatisticsText, DummyAction>>();
|
||||||
|
@ -3,7 +3,8 @@
|
|||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include <changevaluedisplay.h>
|
#include <changevaluedisplay.h>
|
||||||
#include <menuitem.h>
|
#include <menuitem.h>
|
||||||
#include <actions/switchscreenaction.h>
|
#include <actions/pushscreenaction.h>
|
||||||
|
#include <actions/popscreenaction.h>
|
||||||
#include <actions/dummyaction.h>
|
#include <actions/dummyaction.h>
|
||||||
#include <icons/back.h>
|
#include <icons/back.h>
|
||||||
#include <textwithvaluehelper.h>
|
#include <textwithvaluehelper.h>
|
||||||
@ -14,7 +15,6 @@
|
|||||||
#include "changevaluedisplay_unifiedmodelmode.h"
|
#include "changevaluedisplay_unifiedmodelmode.h"
|
||||||
#include "accessors/settingsaccessors.h"
|
#include "accessors/settingsaccessors.h"
|
||||||
#include "displays/menus/handbremssettingsmenu.h"
|
#include "displays/menus/handbremssettingsmenu.h"
|
||||||
#include "displays/menus/modessettingsmenu.h"
|
|
||||||
#include "bobbycheckbox.h"
|
#include "bobbycheckbox.h"
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
@ -49,71 +49,71 @@ using DefaultModeModelModeChangeDisplay = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<UnifiedModelMode>,
|
BobbyChangeValueDisplay<UnifiedModelMode>,
|
||||||
espgui::StaticText<TEXT_MODELMODE>,
|
espgui::StaticText<TEXT_MODELMODE>,
|
||||||
DefaultModeModelModeAccessor,
|
DefaultModeModelModeAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
using DefaultModeSmoothingChangeDisplay = espgui::makeComponent<
|
using DefaultModeSmoothingChangeDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_SMOOTHINGVAL>,
|
espgui::StaticText<TEXT_SMOOTHINGVAL>,
|
||||||
DefaultModeSmoothingAccessor,
|
DefaultModeSmoothingAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
using DefaultModeFwSmoothingLowerLimitChangeDisplay = espgui::makeComponent<
|
using DefaultModeFwSmoothingLowerLimitChangeDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_FWSMOOTHING_LIMIT>,
|
espgui::StaticText<TEXT_FWSMOOTHING_LIMIT>,
|
||||||
DefaultModeEnableFieldWeakSmoothingLowerLimitAccessor,
|
DefaultModeEnableFieldWeakSmoothingLowerLimitAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
using DefaultModeFrontPercentageChangeDisplay = espgui::makeComponent<
|
using DefaultModeFrontPercentageChangeDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_FRONTPERCENTAGE>,
|
espgui::StaticText<TEXT_FRONTPERCENTAGE>,
|
||||||
DefaultModeFrontPercentageAccessor,
|
DefaultModeFrontPercentageAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
using DefaultModeBackPercentageChangeDisplay = espgui::makeComponent<
|
using DefaultModeBackPercentageChangeDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_BACKPERCENTAGE>,
|
espgui::StaticText<TEXT_BACKPERCENTAGE>,
|
||||||
DefaultModeBackPercentageAccessor,
|
DefaultModeBackPercentageAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
using DefaultModeAddSchwelleChangeDisplay = espgui::makeComponent<
|
using DefaultModeAddSchwelleChangeDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_ADDSCHWELLE>,
|
espgui::StaticText<TEXT_ADDSCHWELLE>,
|
||||||
DefaultModeAddSchwelleAccessor,
|
DefaultModeAddSchwelleAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
using DefaultModeGas1WertChangeDisplay = espgui::makeComponent<
|
using DefaultModeGas1WertChangeDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_ADDGASVAL>,
|
espgui::StaticText<TEXT_ADDGASVAL>,
|
||||||
DefaultModeGas1WertAccessor,
|
DefaultModeGas1WertAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
using DefaultModeGas2WertChangeDisplay = espgui::makeComponent<
|
using DefaultModeGas2WertChangeDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_SUBGASVAL>,
|
espgui::StaticText<TEXT_SUBGASVAL>,
|
||||||
DefaultModeGas2WertAccessor,
|
DefaultModeGas2WertAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
using DefaultModeBrems1WertChangeDisplay = espgui::makeComponent<
|
using DefaultModeBrems1WertChangeDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_ADDBRAKEVAL>,
|
espgui::StaticText<TEXT_ADDBRAKEVAL>,
|
||||||
DefaultModeBrems1WertAccessor,
|
DefaultModeBrems1WertAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
using DefaultModeBrems2WertChangeDisplay = espgui::makeComponent<
|
using DefaultModeBrems2WertChangeDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_SUBBRAKEVAL>,
|
espgui::StaticText<TEXT_SUBBRAKEVAL>,
|
||||||
DefaultModeBrems2WertAccessor,
|
DefaultModeBrems2WertAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
@ -121,24 +121,24 @@ using namespace espgui;
|
|||||||
|
|
||||||
DefaultModeSettingsMenu::DefaultModeSettingsMenu()
|
DefaultModeSettingsMenu::DefaultModeSettingsMenu()
|
||||||
{
|
{
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODELMODE>, SwitchScreenAction<DefaultModeModelModeChangeDisplay>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODELMODE>, PushScreenAction<DefaultModeModelModeChangeDisplay>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SQUAREGAS>, BobbyCheckbox, DefaultModeSquareGasAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SQUAREGAS>, BobbyCheckbox, DefaultModeSquareGasAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SQUAREBREMS>, BobbyCheckbox, DefaultModeSquareBremsAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SQUAREBREMS>, BobbyCheckbox, DefaultModeSquareBremsAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLESMOOTHINGUP>, BobbyCheckbox, DefaultModeEnableSmoothingUpAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLESMOOTHINGUP>, BobbyCheckbox, DefaultModeEnableSmoothingUpAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLESMOOTHINGDOWN>, BobbyCheckbox, DefaultModeEnableSmoothingDownAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLESMOOTHINGDOWN>, BobbyCheckbox, DefaultModeEnableSmoothingDownAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLEFWSMOOTHINGUP>, BobbyCheckbox, DefaultModeEnableFieldWeakSmoothingUpAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLEFWSMOOTHINGUP>, BobbyCheckbox, DefaultModeEnableFieldWeakSmoothingUpAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLEFWSMOOTHINGDOWN>, BobbyCheckbox, DefaultModeEnableFieldWeakSmoothingDownAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLEFWSMOOTHINGDOWN>, BobbyCheckbox, DefaultModeEnableFieldWeakSmoothingDownAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_HANDBREMSE>, SwitchScreenAction<HandbremsSettingsMenu>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_HANDBREMSE>, PushScreenAction<HandbremsSettingsMenu>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_FWSMOOTHING_LIMIT, DefaultModeEnableFieldWeakSmoothingLowerLimitAccessor>, SwitchScreenAction<DefaultModeFwSmoothingLowerLimitChangeDisplay>>>();
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_FWSMOOTHING_LIMIT, DefaultModeEnableFieldWeakSmoothingLowerLimitAccessor>, PushScreenAction<DefaultModeFwSmoothingLowerLimitChangeDisplay>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SMOOTHINGVAL, DefaultModeSmoothingAccessor>, SwitchScreenAction<DefaultModeSmoothingChangeDisplay>>>();
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SMOOTHINGVAL, DefaultModeSmoothingAccessor>, PushScreenAction<DefaultModeSmoothingChangeDisplay>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_FRONTPERCENTAGE, DefaultModeFrontPercentageAccessor>, SwitchScreenAction<DefaultModeFrontPercentageChangeDisplay>>>();
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_FRONTPERCENTAGE, DefaultModeFrontPercentageAccessor>, PushScreenAction<DefaultModeFrontPercentageChangeDisplay>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_BACKPERCENTAGE, DefaultModeBackPercentageAccessor>, SwitchScreenAction<DefaultModeBackPercentageChangeDisplay>>>();
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_BACKPERCENTAGE, DefaultModeBackPercentageAccessor>, PushScreenAction<DefaultModeBackPercentageChangeDisplay>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_ADDSCHWELLE, DefaultModeAddSchwelleAccessor>, SwitchScreenAction<DefaultModeAddSchwelleChangeDisplay>>>();
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_ADDSCHWELLE, DefaultModeAddSchwelleAccessor>, PushScreenAction<DefaultModeAddSchwelleChangeDisplay>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SUBGASVAL, DefaultModeGas2WertAccessor>, SwitchScreenAction<DefaultModeGas2WertChangeDisplay>>>();
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SUBGASVAL, DefaultModeGas2WertAccessor>, PushScreenAction<DefaultModeGas2WertChangeDisplay>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SUBBRAKEVAL, DefaultModeBrems2WertAccessor>, SwitchScreenAction<DefaultModeBrems2WertChangeDisplay>>>();
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SUBBRAKEVAL, DefaultModeBrems2WertAccessor>, PushScreenAction<DefaultModeBrems2WertChangeDisplay>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_ADDGASVAL, DefaultModeGas1WertAccessor>, SwitchScreenAction<DefaultModeGas1WertChangeDisplay>>>();
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_ADDGASVAL, DefaultModeGas1WertAccessor>, PushScreenAction<DefaultModeGas1WertChangeDisplay>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_ADDBRAKEVAL, DefaultModeBrems1WertAccessor>, SwitchScreenAction<DefaultModeBrems1WertChangeDisplay>>>();
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_ADDBRAKEVAL, DefaultModeBrems1WertAccessor>, PushScreenAction<DefaultModeBrems1WertChangeDisplay>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<ModesSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string DefaultModeSettingsMenu::text() const
|
std::string DefaultModeSettingsMenu::text() const
|
||||||
@ -148,5 +148,5 @@ std::string DefaultModeSettingsMenu::text() const
|
|||||||
|
|
||||||
void DefaultModeSettingsMenu::back()
|
void DefaultModeSettingsMenu::back()
|
||||||
{
|
{
|
||||||
switchScreen<ModesSettingsMenu>();
|
popScreen();
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#include "displays/bobbymenudisplay.h"
|
#include "displays/bobbymenudisplay.h"
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
#include "menuitem.h"
|
#include "menuitem.h"
|
||||||
#include "actions/switchscreenaction.h"
|
#include "actions/popscreenaction.h"
|
||||||
#include "icons/back.h"
|
#include "icons/back.h"
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
@ -16,7 +16,7 @@ class ContainerModeSettingsMenu :
|
|||||||
public:
|
public:
|
||||||
ContainerModeSettingsMenu()
|
ContainerModeSettingsMenu()
|
||||||
{
|
{
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<ModesSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string text() const override
|
std::string text() const override
|
||||||
|
@ -39,7 +39,7 @@ HandbremsSettingsMenu::HandbremsSettingsMenu()
|
|||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_HANDBREMSE_ENABLE>, BobbyCheckbox, HandbremsEnabledAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_HANDBREMSE_ENABLE>, BobbyCheckbox, HandbremsEnabledAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_HANDBREMSE_AUTOMATIC>, BobbyCheckbox, HandbremsAutomaticAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_HANDBREMSE_AUTOMATIC>, BobbyCheckbox, HandbremsAutomaticAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_HANDBREMSE_VISUALIZE>, BobbyCheckbox, HandbremsVisualizeAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_HANDBREMSE_VISUALIZE>, BobbyCheckbox, HandbremsVisualizeAccessor>>();
|
||||||
constructMenuItem<SwitchScreenTypeSafeChangeMenuItem<HandbremseMode, HandbremsSettingsMenu, TEXT_HANDBREMSE_MODE>>(&configs.handbremse.mode);
|
constructMenuItem<PushScreenTypeSafeChangeMenuItem<HandbremseMode, TEXT_HANDBREMSE_MODE>>(&configs.handbremse.mode);
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_HANDBREMSE_TRIGGERTIMEOUT, HandbremsTimeoutAccessor>, SwitchScreenAction<HandBremsTriggerTimeoutChangeValueDisplay>>>();
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_HANDBREMSE_TRIGGERTIMEOUT, HandbremsTimeoutAccessor>, SwitchScreenAction<HandBremsTriggerTimeoutChangeValueDisplay>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<DefaultModeSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<DefaultModeSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,8 @@
|
|||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include "changevaluedisplay.h"
|
#include "changevaluedisplay.h"
|
||||||
#include "menuitem.h"
|
#include "menuitem.h"
|
||||||
#include "actions/switchscreenaction.h"
|
#include "actions/pushscreenaction.h"
|
||||||
|
#include "actions/popscreenaction.h"
|
||||||
#include "icons/back.h"
|
#include "icons/back.h"
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
@ -12,7 +13,6 @@
|
|||||||
#include "changevaluedisplay_larsmmode_mode.h"
|
#include "changevaluedisplay_larsmmode_mode.h"
|
||||||
#include "changevaluedisplay_unifiedmodelmode.h"
|
#include "changevaluedisplay_unifiedmodelmode.h"
|
||||||
#include "accessors/settingsaccessors.h"
|
#include "accessors/settingsaccessors.h"
|
||||||
#include "displays/menus/modessettingsmenu.h"
|
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
constexpr char TEXT_LARSMMODESETTINGS[] = "Larsm mode settings";
|
constexpr char TEXT_LARSMMODESETTINGS[] = "Larsm mode settings";
|
||||||
@ -25,22 +25,22 @@ using LarsmModeModelModeChangeDisplay = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<UnifiedModelMode>,
|
BobbyChangeValueDisplay<UnifiedModelMode>,
|
||||||
espgui::StaticText<TEXT_MODELMODE>,
|
espgui::StaticText<TEXT_MODELMODE>,
|
||||||
LarsmModeModelModeAccessor,
|
LarsmModeModelModeAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LarsmModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LarsmModeSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
using LarsmModeModeChangeDisplay = espgui::makeComponent<
|
using LarsmModeModeChangeDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<LarsmModeMode>,
|
BobbyChangeValueDisplay<LarsmModeMode>,
|
||||||
espgui::StaticText<TEXT_SETMODE>,
|
espgui::StaticText<TEXT_SETMODE>,
|
||||||
LarsmModeModeAccessor,
|
LarsmModeModeAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LarsmModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LarsmModeSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
using LarsmModeIterationsChangeDisplay = espgui::makeComponent<
|
using LarsmModeIterationsChangeDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<uint8_t>,
|
BobbyChangeValueDisplay<uint8_t>,
|
||||||
espgui::StaticText<TEXT_SETITERATIONS>,
|
espgui::StaticText<TEXT_SETITERATIONS>,
|
||||||
LarsmModeIterationsAccessor,
|
LarsmModeIterationsAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LarsmModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LarsmModeSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
@ -48,10 +48,10 @@ using namespace espgui;
|
|||||||
|
|
||||||
LarsmModeSettingsMenu::LarsmModeSettingsMenu()
|
LarsmModeSettingsMenu::LarsmModeSettingsMenu()
|
||||||
{
|
{
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODELMODE>, SwitchScreenAction<LarsmModeModelModeChangeDisplay>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODELMODE>, PushScreenAction<LarsmModeModelModeChangeDisplay>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETMODE>, SwitchScreenAction<LarsmModeModeChangeDisplay>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETMODE>, PushScreenAction<LarsmModeModeChangeDisplay>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETITERATIONS>, SwitchScreenAction<LarsmModeIterationsChangeDisplay>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETITERATIONS>, PushScreenAction<LarsmModeIterationsChangeDisplay>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<ModesSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string LarsmModeSettingsMenu::text() const
|
std::string LarsmModeSettingsMenu::text() const
|
||||||
@ -61,5 +61,5 @@ std::string LarsmModeSettingsMenu::text() const
|
|||||||
|
|
||||||
void LarsmModeSettingsMenu::back()
|
void LarsmModeSettingsMenu::back()
|
||||||
{
|
{
|
||||||
switchScreen<ModesSettingsMenu>();
|
popScreen();
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,8 @@
|
|||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include <FastLED.h>
|
#include <FastLED.h>
|
||||||
#include <actioninterface.h>
|
#include <actioninterface.h>
|
||||||
#include <actions/switchscreenaction.h>
|
#include <actions/pushscreenaction.h>
|
||||||
|
#include <actions/popscreenaction.h>
|
||||||
#include <changevaluedisplay.h>
|
#include <changevaluedisplay.h>
|
||||||
#include <icons/back.h>
|
#include <icons/back.h>
|
||||||
#include <menuitem.h>
|
#include <menuitem.h>
|
||||||
@ -53,32 +54,32 @@ using LedsCountChangeScreen = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_LEDSCOUNT>,
|
espgui::StaticText<TEXT_LEDSCOUNT>,
|
||||||
LedsCountAccessor,
|
LedsCountAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using CenterOffsetChangeScreen = espgui::makeComponent<
|
using CenterOffsetChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_CENTEROFFSET>,
|
espgui::StaticText<TEXT_CENTEROFFSET>,
|
||||||
CenterOffsetAccessor,
|
CenterOffsetAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using SmallOffsetChangeScreen = espgui::makeComponent<
|
using SmallOffsetChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_SMALLOFFSET>,
|
espgui::StaticText<TEXT_SMALLOFFSET>,
|
||||||
SmallOffsetAccessor,
|
SmallOffsetAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using BigOffsetChangeScreen = espgui::makeComponent<
|
using BigOffsetChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_BIGOFFSET>,
|
espgui::StaticText<TEXT_BIGOFFSET>,
|
||||||
BigOffsetAccessor,
|
BigOffsetAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using LedStripMaxAmpereChangeScreen = espgui::makeComponent<
|
using LedStripMaxAmpereChangeScreen = espgui::makeComponent<
|
||||||
@ -86,40 +87,40 @@ using LedStripMaxAmpereChangeScreen = espgui::makeComponent<
|
|||||||
espgui::StaticText<TEXT_LEDSTRIPCURRENTLIMIT>,
|
espgui::StaticText<TEXT_LEDSTRIPCURRENTLIMIT>,
|
||||||
LedStripMaxAmpereAccessor,
|
LedStripMaxAmpereAccessor,
|
||||||
espgui::RatioNumberStep<float, std::ratio<1,10>>,
|
espgui::RatioNumberStep<float, std::ratio<1,10>>,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using StVOOffsetChangeScreen = espgui::makeComponent<
|
using StVOOffsetChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_STVO_FRONTOFFSET>,
|
espgui::StaticText<TEXT_STVO_FRONTOFFSET>,
|
||||||
LedsStVOFrontOffsetAccessor,
|
LedsStVOFrontOffsetAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using StVOLengthChangeScreen = espgui::makeComponent<
|
using StVOLengthChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_STVO_FRONTLENGTH>,
|
espgui::StaticText<TEXT_STVO_FRONTLENGTH>,
|
||||||
LedsStVOFrontLengthAccessor,
|
LedsStVOFrontLengthAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using AnimationMultiplierChangeScreen = espgui::makeComponent<
|
using AnimationMultiplierChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_ANIMATION_MULTIPLIER>,
|
espgui::StaticText<TEXT_ANIMATION_MULTIPLIER>,
|
||||||
AnimationMultiplierAccessor,
|
AnimationMultiplierAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using LedStripBrightnessChangeScreen = espgui::makeComponent<
|
using LedStripBrightnessChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<uint8_t>,
|
BobbyChangeValueDisplay<uint8_t>,
|
||||||
espgui::StaticText<TEXT_LEDSTRIP_BRIGHTNESS>,
|
espgui::StaticText<TEXT_LEDSTRIP_BRIGHTNESS>,
|
||||||
LedstripBrightnessAccessor,
|
LedstripBrightnessAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<LedstripMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<LedstripMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
class AllCustomLedsOffAction : public virtual espgui::ActionInterface
|
class AllCustomLedsOffAction : public virtual espgui::ActionInterface
|
||||||
@ -154,30 +155,31 @@ LedstripMenu::LedstripMenu()
|
|||||||
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_AUTOMATIC_LIGHTS>, BobbyCheckbox, LedstripAutomaticLightAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_AUTOMATIC_LIGHTS>, BobbyCheckbox, LedstripAutomaticLightAccessor>>();
|
||||||
|
|
||||||
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_LEDANIMATION>, BobbyCheckbox, EnableLedAnimationAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_LEDANIMATION>, BobbyCheckbox, EnableLedAnimationAccessor>>();
|
||||||
constructMenuItem<SwitchScreenTypeSafeChangeMenuItem<LedstripAnimation, LedstripMenu, TEXT_SELECTANIMATION>>(&configs.ledstrip.animationType);
|
|
||||||
|
|
||||||
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_BRAKELIGHTS>, BobbyCheckbox, EnableBrakeLightsAccessor>>();
|
constructMenuItem<PushScreenTypeSafeChangeMenuItem<LedstripAnimation, TEXT_SELECTANIMATION>>(&configs.ledstrip.animationType);
|
||||||
|
|
||||||
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_LEDSTRIPCOLORMENU>, espgui::SwitchScreenAction<LedstripColorsDisplay>>>();
|
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_BRAKELIGHTS>, BobbyCheckbox, EnableBrakeLightsAccessor>>();
|
||||||
|
|
||||||
|
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_LEDSTRIPCOLORMENU>, espgui::PushScreenAction<LedstripColorsDisplay>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_LEDSTRIP_ALLCUSTOMOFF>, AllCustomLedsOffAction>>();
|
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_LEDSTRIP_ALLCUSTOMOFF>, AllCustomLedsOffAction>>();
|
||||||
|
|
||||||
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_BLINKBEEP>, BobbyCheckbox, EnableBeepWhenBlinkAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_BLINKBEEP>, BobbyCheckbox, EnableBeepWhenBlinkAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_FULLBLINK>, BobbyCheckbox, EnableFullBlinkAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_FULLBLINK>, BobbyCheckbox, EnableFullBlinkAccessor>>();
|
||||||
|
|
||||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_STVO_FRONTOFFSET, LedsStVOFrontOffsetAccessor>, espgui::SwitchScreenAction<StVOOffsetChangeScreen>>>(); }
|
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_STVO_FRONTOFFSET, LedsStVOFrontOffsetAccessor>, espgui::PushScreenAction<StVOOffsetChangeScreen>>>(); }
|
||||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_STVO_FRONTLENGTH, LedsStVOFrontLengthAccessor>, espgui::SwitchScreenAction<StVOLengthChangeScreen>>>(); }
|
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_STVO_FRONTLENGTH, LedsStVOFrontLengthAccessor>, espgui::PushScreenAction<StVOLengthChangeScreen>>>(); }
|
||||||
|
|
||||||
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_BLINKANIMATION>, espgui::SwitchScreenAction<LedstripSelectBlinkMenu>>>();
|
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_BLINKANIMATION>, espgui::PushScreenAction<LedstripSelectBlinkMenu>>>();
|
||||||
if (configs.feature.ota.isEnabled.value)
|
if (configs.feature.ota.isEnabled.value)
|
||||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_LEDSTRIP_CHANGE_OTA_ANIM>, espgui::SwitchScreenAction<LedstripOtaAnimationChangeMenu>>>(); }
|
if (!simplified) { constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_LEDSTRIP_CHANGE_OTA_ANIM>, espgui::PushScreenAction<LedstripOtaAnimationChangeMenu>>>(); }
|
||||||
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_ANIMATION_MULTIPLIER>, espgui::SwitchScreenAction<AnimationMultiplierChangeScreen>>>();
|
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_ANIMATION_MULTIPLIER>, espgui::PushScreenAction<AnimationMultiplierChangeScreen>>>();
|
||||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_LEDSCOUNT, LedsCountAccessor>, espgui::SwitchScreenAction<LedsCountChangeScreen>>>(); }
|
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_LEDSCOUNT, LedsCountAccessor>, espgui::PushScreenAction<LedsCountChangeScreen>>>(); }
|
||||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_CENTEROFFSET, CenterOffsetAccessor>, espgui::SwitchScreenAction<CenterOffsetChangeScreen>>>(); }
|
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_CENTEROFFSET, CenterOffsetAccessor>, espgui::PushScreenAction<CenterOffsetChangeScreen>>>(); }
|
||||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SMALLOFFSET, SmallOffsetAccessor>, espgui::SwitchScreenAction<SmallOffsetChangeScreen>>>(); }
|
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SMALLOFFSET, SmallOffsetAccessor>, espgui::PushScreenAction<SmallOffsetChangeScreen>>>(); }
|
||||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_BIGOFFSET, BigOffsetAccessor>, espgui::SwitchScreenAction<BigOffsetChangeScreen>>>(); }
|
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_BIGOFFSET, BigOffsetAccessor>, espgui::PushScreenAction<BigOffsetChangeScreen>>>(); }
|
||||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_LEDSTRIP_BRIGHTNESS>, espgui::SwitchScreenAction<LedStripBrightnessChangeScreen>>>(); }
|
if (!simplified) { constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_LEDSTRIP_BRIGHTNESS>, espgui::PushScreenAction<LedStripBrightnessChangeScreen>>>(); }
|
||||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, LedStripMaxCurrentText, espgui::SwitchScreenAction<LedStripMaxAmpereChangeScreen>>>(); }
|
if (!simplified) { constructMenuItem<makeComponent<MenuItem, LedStripMaxCurrentText, espgui::PushScreenAction<LedStripMaxAmpereChangeScreen>>>(); }
|
||||||
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_BACK>, espgui::SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, espgui::StaticText<TEXT_BACK>, espgui::PushScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string LedstripMenu::text() const
|
std::string LedstripMenu::text() const
|
||||||
@ -187,5 +189,5 @@ std::string LedstripMenu::text() const
|
|||||||
|
|
||||||
void LedstripMenu::back()
|
void LedstripMenu::back()
|
||||||
{
|
{
|
||||||
espgui::switchScreen<MainMenu>();
|
espgui::popScreen();
|
||||||
}
|
}
|
||||||
|
72
main/displays/menus/ledstripselectanimationmenu.cpp
Normal file
72
main/displays/menus/ledstripselectanimationmenu.cpp
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
#include "ledstripselectanimationmenu.h"
|
||||||
|
|
||||||
|
// Local includes
|
||||||
|
#include "actions/dummyaction.h"
|
||||||
|
#include "actions/ledstripanimationactions.h"
|
||||||
|
#include "actions/popscreenaction.h"
|
||||||
|
#include "icons/back.h"
|
||||||
|
#include "ledstripdefines.h"
|
||||||
|
#include "ledstripmenu.h"
|
||||||
|
#include "newsettings.h"
|
||||||
|
|
||||||
|
#ifdef FEATURE_LEDSTRIP
|
||||||
|
namespace {
|
||||||
|
constexpr char TEXT_SELECTANIMATION[] = "Select Animation";
|
||||||
|
constexpr char TEXT_ANIMATION_DEFAULTRAINBOW[] = "Default Rainbow";
|
||||||
|
constexpr char TEXT_ANIMATION_BETTERRAINBOW[] = "Better Rainbow";
|
||||||
|
constexpr char TEXT_ANIMATION_SPEEDSYNCANIMATION[] = "Speed Sync";
|
||||||
|
constexpr char TEXT_ANIMATION_CUSTOMCOLOR[] = "Custom Color";
|
||||||
|
constexpr char TEXT_BACK[] = "Back";
|
||||||
|
|
||||||
|
class CurrentSelectedAnimationText : public virtual espgui::TextInterface
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
std::string text() const override;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
LedstripSelectAnimationMenu::LedstripSelectAnimationMenu()
|
||||||
|
{
|
||||||
|
using namespace espgui;
|
||||||
|
|
||||||
|
constructMenuItem<makeComponent<MenuItem, CurrentSelectedAnimationText, DisabledColor, DummyAction>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ANIMATION_DEFAULTRAINBOW>, LedStripSetAnimationAction<LedstripAnimation::DefaultRainbow>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ANIMATION_BETTERRAINBOW>, LedStripSetAnimationAction<LedstripAnimation::BetterRainbow>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ANIMATION_SPEEDSYNCANIMATION>, LedStripSetAnimationAction<LedstripAnimation::SpeedSync>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ANIMATION_CUSTOMCOLOR>, LedStripSetAnimationAction<LedstripAnimation::CustomColor>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string LedstripSelectAnimationMenu::text() const
|
||||||
|
{
|
||||||
|
return TEXT_SELECTANIMATION;
|
||||||
|
}
|
||||||
|
|
||||||
|
void LedstripSelectAnimationMenu::back()
|
||||||
|
{
|
||||||
|
espgui::popScreen();
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
|
||||||
|
std::string CurrentSelectedAnimationText::text() const
|
||||||
|
{
|
||||||
|
switch (configs.ledstrip.animationType.value)
|
||||||
|
{
|
||||||
|
case LedstripAnimation::DefaultRainbow:
|
||||||
|
return TEXT_ANIMATION_DEFAULTRAINBOW;
|
||||||
|
case LedstripAnimation::BetterRainbow:
|
||||||
|
return TEXT_ANIMATION_BETTERRAINBOW;
|
||||||
|
case LedstripAnimation::SpeedSync:
|
||||||
|
return TEXT_ANIMATION_SPEEDSYNCANIMATION;
|
||||||
|
case LedstripAnimation::CustomColor:
|
||||||
|
return TEXT_ANIMATION_CUSTOMCOLOR;
|
||||||
|
default:
|
||||||
|
return "Animation Unkown";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
#endif
|
@ -2,13 +2,12 @@
|
|||||||
|
|
||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include "actions/dummyaction.h"
|
#include "actions/dummyaction.h"
|
||||||
#include "actions/switchscreenaction.h"
|
#include "actions/popscreenaction.h"
|
||||||
#include "icons/back.h"
|
#include "icons/back.h"
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "accessors/settingsaccessors.h"
|
#include "accessors/settingsaccessors.h"
|
||||||
#include "actions/ledstripblinkactions.h"
|
#include "actions/ledstripblinkactions.h"
|
||||||
#include "displays/menus/ledstripmenu.h"
|
|
||||||
#include "ledstrip.h"
|
#include "ledstrip.h"
|
||||||
#include "ledstripdefines.h"
|
#include "ledstripdefines.h"
|
||||||
#include "bobbycheckbox.h"
|
#include "bobbycheckbox.h"
|
||||||
@ -42,7 +41,7 @@ LedstripSelectBlinkMenu::LedstripSelectBlinkMenu()
|
|||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ANIMATION_BLINKBOTH>, LedstripAnimationBlinkBothAction>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ANIMATION_BLINKBOTH>, LedstripAnimationBlinkBothAction>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LEDSTRIP_EN_BLINK_ANIM>, BobbyCheckbox, LedstripEnableBlinkAnimationAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LEDSTRIP_EN_BLINK_ANIM>, BobbyCheckbox, LedstripEnableBlinkAnimationAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LEDSTRIP_VISUALIZE_BLINK>, BobbyCheckbox, LedstripEnableVisualizeBlinkAnimationAccessor>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LEDSTRIP_VISUALIZE_BLINK>, BobbyCheckbox, LedstripEnableVisualizeBlinkAnimationAccessor>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<LedstripMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string LedstripSelectBlinkMenu::text() const
|
std::string LedstripSelectBlinkMenu::text() const
|
||||||
@ -52,7 +51,7 @@ std::string LedstripSelectBlinkMenu::text() const
|
|||||||
|
|
||||||
void LedstripSelectBlinkMenu::back()
|
void LedstripSelectBlinkMenu::back()
|
||||||
{
|
{
|
||||||
espgui::switchScreen<LedstripMenu>();
|
espgui::popScreen();
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
#include "ledstripselectotamode.h"
|
#include "ledstripselectotamode.h"
|
||||||
|
|
||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include "actions/switchscreenaction.h"
|
#include "actions/pushscreenaction.h"
|
||||||
|
#include "actions/popscreenaction.h"
|
||||||
#include "icons/back.h"
|
#include "icons/back.h"
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "ledstrip.h"
|
#include "ledstrip.h"
|
||||||
#include "newsettings.h"
|
#include "newsettings.h"
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
#include "ledstripmenu.h"
|
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
constexpr char TEXT_BLINKANIMATION[] = "Blink animation";
|
constexpr char TEXT_BLINKANIMATION[] = "Blink animation";
|
||||||
@ -34,7 +34,7 @@ LedstripOtaAnimationChangeMenu::LedstripOtaAnimationChangeMenu()
|
|||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_OTAANIM_NONE>, LedstripChangeOtaAnimModeAction<OtaAnimationModes::None>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_OTAANIM_NONE>, LedstripChangeOtaAnimModeAction<OtaAnimationModes::None>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_OTAANIM_PROGRESS>, LedstripChangeOtaAnimModeAction<OtaAnimationModes::GreenProgressBar>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_OTAANIM_PROGRESS>, LedstripChangeOtaAnimModeAction<OtaAnimationModes::GreenProgressBar>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_OTAANIM_COLOR>, LedstripChangeOtaAnimModeAction<OtaAnimationModes::ColorChangeAll>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_OTAANIM_COLOR>, LedstripChangeOtaAnimModeAction<OtaAnimationModes::ColorChangeAll>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<LedstripMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string LedstripOtaAnimationChangeMenu::text() const
|
std::string LedstripOtaAnimationChangeMenu::text() const
|
||||||
@ -44,5 +44,5 @@ std::string LedstripOtaAnimationChangeMenu::text() const
|
|||||||
|
|
||||||
void LedstripOtaAnimationChangeMenu::back()
|
void LedstripOtaAnimationChangeMenu::back()
|
||||||
{
|
{
|
||||||
espgui::switchScreen<LedstripMenu>();
|
espgui::popScreen();
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
#include "mainmenu.h"
|
#include "mainmenu.h"
|
||||||
|
|
||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include "actions/switchscreenaction.h"
|
#include <actions/pushscreenaction.h>
|
||||||
#include "icons/back.h"
|
#include <actions/popscreenaction.h>
|
||||||
|
#include <icons/back.h>
|
||||||
|
#include <tftinstance.h>
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "displays/statusdisplay.h"
|
|
||||||
#include "displays/menus/selectmodemenu.h"
|
#include "displays/menus/selectmodemenu.h"
|
||||||
#include "displays/menus/selectmodemenu.h"
|
#include "displays/menus/selectmodemenu.h"
|
||||||
#include "displays/menus/ledstripmenu.h"
|
#include "displays/menus/ledstripmenu.h"
|
||||||
@ -45,7 +46,7 @@
|
|||||||
#include "icons/statistics.h"
|
#include "icons/statistics.h"
|
||||||
#include "icons/greenpass.h"
|
#include "icons/greenpass.h"
|
||||||
#include "icons/time.h"
|
#include "icons/time.h"
|
||||||
#include "tftinstance.h"
|
#include "displays/statusdisplay.h"
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
constexpr char TAG[] = "BOBBY";
|
constexpr char TAG[] = "BOBBY";
|
||||||
@ -84,40 +85,40 @@ MainMenu::MainMenu()
|
|||||||
using namespace espgui;
|
using namespace espgui;
|
||||||
|
|
||||||
// constructMenuItem<makeComponent<MenuItem, mainmenu::CurrentTimeText, DummyAction, StaticMenuItemIcon<&bobbyicons::time>>>();
|
// constructMenuItem<makeComponent<MenuItem, mainmenu::CurrentTimeText, DummyAction, StaticMenuItemIcon<&bobbyicons::time>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_STATUS>, SwitchScreenAction<StatusDisplay>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_STATUS>, PushScreenAction<StatusDisplay>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
if (configs.feature.ledstrip.isEnabled.value)
|
if (configs.feature.ledstrip.isEnabled.value)
|
||||||
{
|
{
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LEDSTRIP>, SwitchScreenAction<LedstripMenu>, StaticMenuItemIcon<&bobbyicons::neopixel>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LEDSTRIP>, PushScreenAction<LedstripMenu>, StaticMenuItemIcon<&bobbyicons::neopixel>>>();
|
||||||
}
|
}
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_STATISTICSMENU>, SwitchScreenAction<StatisticsMenu>, StaticMenuItemIcon<&bobbyicons::statistics>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_STATISTICSMENU>, PushScreenAction<StatisticsMenu>, StaticMenuItemIcon<&bobbyicons::statistics>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SELECTMODE>, SwitchScreenAction<SelectModeMenu>, StaticMenuItemIcon<&bobbyicons::modes>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SELECTMODE>, PushScreenAction<SelectModeMenu>, StaticMenuItemIcon<&bobbyicons::modes>>>();
|
||||||
if (SHOWITEM) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODESETTINGS>, ModeSettingsAction>>(); }
|
if (SHOWITEM) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODESETTINGS>, ModeSettingsAction>>(); }
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BATTERY>, SwitchScreenAction<BatteryMenu>, StaticMenuItemIcon<&bobbyicons::battery>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BATTERY>, PushScreenAction<BatteryMenu>, StaticMenuItemIcon<&bobbyicons::battery>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETTINGS>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&bobbyicons::settings>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SETTINGS>, PushScreenAction<SettingsMenu>, StaticMenuItemIcon<&bobbyicons::settings>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GREENPASS>, SwitchScreenAction<GreenPassMenu>, StaticMenuItemIcon<&bobbyicons::greenpass>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GREENPASS>, PushScreenAction<GreenPassMenu>, StaticMenuItemIcon<&bobbyicons::greenpass>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LOCKVEHICLE>, SwitchScreenAction<Lockscreen>, StaticMenuItemIcon<&bobbyicons::lock>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LOCKVEHICLE>, PushScreenAction<Lockscreen>, StaticMenuItemIcon<&bobbyicons::lock>>>();
|
||||||
if (configs.feature.garage.isEnabled.value && configs.feature.esp_now.isEnabled.value)
|
if (configs.feature.garage.isEnabled.value && configs.feature.esp_now.isEnabled.value)
|
||||||
{
|
{
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GARAGE>, SwitchScreenAction<GarageMenu>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GARAGE>, PushScreenAction<GarageMenu>>>();
|
||||||
}
|
}
|
||||||
if (configs.feature.ota.isEnabled.value)
|
if (configs.feature.ota.isEnabled.value)
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_UPDATE>, SwitchScreenAction<OtaMenu>, StaticMenuItemIcon<&bobbyicons::update>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_UPDATE>, PushScreenAction<OtaMenu>, StaticMenuItemIcon<&bobbyicons::update>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GRAPHS>, SwitchScreenAction<GraphsMenu>, StaticMenuItemIcon<&bobbyicons::graph>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GRAPHS>, PushScreenAction<GraphsMenu>, StaticMenuItemIcon<&bobbyicons::graph>>>();
|
||||||
#if defined(FEATURE_CAN) && defined(FEATURE_POWERSUPPLY)
|
#if defined(FEATURE_CAN) && defined(FEATURE_POWERSUPPLY)
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_POWERSUPPLY>, SwitchScreenAction<PowerSupplyDisplay>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_POWERSUPPLY>, PushScreenAction<PowerSupplyDisplay>>>();
|
||||||
#endif
|
#endif
|
||||||
#ifdef FEATURE_MOSFETS
|
#ifdef FEATURE_MOSFETS
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MOSFETS>, SwitchScreenAction<MosfetsMenu>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MOSFETS>, PushScreenAction<MosfetsMenu>>>();
|
||||||
#endif
|
#endif
|
||||||
#if defined(FEATURE_BLUETOOTH) && defined(FEATURE_BMS)
|
#if defined(FEATURE_BLUETOOTH) && defined(FEATURE_BMS)
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BMS>, SwitchScreenAction<BmsMenu>, StaticMenuItemIcon<&bobbyicons::bms>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BMS>, PushScreenAction<BmsMenu>, StaticMenuItemIcon<&bobbyicons::bms>>>();
|
||||||
#endif
|
#endif
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DEMOS>, SwitchScreenAction<DemosMenu>, StaticMenuItemIcon<&bobbyicons::demos>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DEMOS>, PushScreenAction<DemosMenu>, StaticMenuItemIcon<&bobbyicons::demos>>>();
|
||||||
if (SHOWITEM) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_PROFILES>, SwitchScreenAction<ProfilesMenu>, StaticMenuItemIcon<&bobbyicons::presets>>>(); }
|
if (SHOWITEM) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_PROFILES>, PushScreenAction<ProfilesMenu>, StaticMenuItemIcon<&bobbyicons::presets>>>(); }
|
||||||
if (SHOWITEM) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MANAGEPROFILESMENU>,SwitchScreenAction<ManageProfilesMenu>, StaticMenuItemIcon<&bobbyicons::presets>>>(); }
|
if (SHOWITEM) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MANAGEPROFILESMENU>,PushScreenAction<ManageProfilesMenu>, StaticMenuItemIcon<&bobbyicons::presets>>>(); }
|
||||||
if (SHOWITEM) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DEBUG>, SwitchScreenAction<DebugMenu>>>(); }
|
if (SHOWITEM) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DEBUG>, PushScreenAction<DebugMenu>>>(); }
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_POWEROFF>, SwitchScreenAction<PoweroffDisplay>, StaticMenuItemIcon<&bobbyicons::poweroff>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_POWEROFF>, PushScreenAction<PoweroffDisplay>, StaticMenuItemIcon<&bobbyicons::poweroff>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CONFISCATIONMODE>, SwitchScreenAction<ConfiscationDisplay>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CONFISCATIONMODE>, PushScreenAction<ConfiscationDisplay>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_REBOOT>, RebootAction, StaticMenuItemIcon<&bobbyicons::reboot>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_REBOOT>, RebootAction, StaticMenuItemIcon<&bobbyicons::reboot>>>();
|
||||||
//#ifdef MAINMENU_PLUGIN
|
//#ifdef MAINMENU_PLUGIN
|
||||||
// GMEN1
|
// GMEN1
|
||||||
@ -131,5 +132,5 @@ std::string MainMenu::text() const
|
|||||||
|
|
||||||
void MainMenu::back()
|
void MainMenu::back()
|
||||||
{
|
{
|
||||||
espgui::switchScreen<StatusDisplay>();
|
espgui::popScreen();
|
||||||
}
|
}
|
||||||
|
@ -3,14 +3,14 @@
|
|||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include "changevaluedisplay.h"
|
#include "changevaluedisplay.h"
|
||||||
#include "menuitem.h"
|
#include "menuitem.h"
|
||||||
#include "actions/switchscreenaction.h"
|
#include "actions/pushscreenaction.h"
|
||||||
|
#include "actions/popscreenaction.h"
|
||||||
#include "icons/back.h"
|
#include "icons/back.h"
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "displays/bobbychangevaluedisplay.h"
|
#include "displays/bobbychangevaluedisplay.h"
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
#include "accessors/settingsaccessors.h"
|
#include "accessors/settingsaccessors.h"
|
||||||
#include "displays/menus/modessettingsmenu.h"
|
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
constexpr char TEXT_MOTORTESTMODESETTINGS[] = "Motortest mode seetings";
|
constexpr char TEXT_MOTORTESTMODESETTINGS[] = "Motortest mode seetings";
|
||||||
@ -22,16 +22,16 @@ using MotortestMultiplikatorChangeDisplay = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<uint8_t>,
|
BobbyChangeValueDisplay<uint8_t>,
|
||||||
espgui::StaticText<TEXT_MOTORTESTMULTIPLIKATOR>,
|
espgui::StaticText<TEXT_MOTORTESTMULTIPLIKATOR>,
|
||||||
MotortestModeMultiplikatorAccessor,
|
MotortestModeMultiplikatorAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<MotortestModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<MotortestModeSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using MotortestMaxPwmChangeDisplay = espgui::makeComponent<
|
using MotortestMaxPwmChangeDisplay = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<uint16_t>,
|
BobbyChangeValueDisplay<uint16_t>,
|
||||||
espgui::StaticText<TEXT_MOTORTESTMAXPWM>,
|
espgui::StaticText<TEXT_MOTORTESTMAXPWM>,
|
||||||
MotortestMaxPwmAccessor,
|
MotortestMaxPwmAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<MotortestModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<MotortestModeSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
@ -39,9 +39,9 @@ using namespace espgui;
|
|||||||
|
|
||||||
MotortestModeSettingsMenu::MotortestModeSettingsMenu()
|
MotortestModeSettingsMenu::MotortestModeSettingsMenu()
|
||||||
{
|
{
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MOTORTESTMULTIPLIKATOR>, SwitchScreenAction<MotortestMultiplikatorChangeDisplay>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MOTORTESTMULTIPLIKATOR>, PushScreenAction<MotortestMultiplikatorChangeDisplay>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MOTORTESTMAXPWM>, SwitchScreenAction<MotortestMaxPwmChangeDisplay>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MOTORTESTMAXPWM>, PushScreenAction<MotortestMaxPwmChangeDisplay>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<ModesSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string MotortestModeSettingsMenu::text() const
|
std::string MotortestModeSettingsMenu::text() const
|
||||||
@ -51,5 +51,5 @@ std::string MotortestModeSettingsMenu::text() const
|
|||||||
|
|
||||||
void MotortestModeSettingsMenu::back()
|
void MotortestModeSettingsMenu::back()
|
||||||
{
|
{
|
||||||
switchScreen<ModesSettingsMenu>();
|
popScreen();
|
||||||
}
|
}
|
||||||
|
@ -2,9 +2,10 @@
|
|||||||
|
|
||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include <actions/multiaction.h>
|
#include <actions/multiaction.h>
|
||||||
#include <actions/switchscreenaction.h>
|
#include <actions/popscreenaction.h>
|
||||||
#include <icons/back.h>
|
#include <icons/back.h>
|
||||||
#include <textwithvaluehelper.h>
|
#include <textwithvaluehelper.h>
|
||||||
|
#include <actions/pushscreenaction.h>
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
@ -20,7 +21,7 @@
|
|||||||
#include "modes/wheelchairmode.h"
|
#include "modes/wheelchairmode.h"
|
||||||
#endif
|
#endif
|
||||||
#include "accessors/globalaccessors.h"
|
#include "accessors/globalaccessors.h"
|
||||||
#include "displays/menus/mainmenu.h"
|
#include "mainmenu.h"
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
constexpr char TEXT_SELECTMODE[] = "Select mode";
|
constexpr char TEXT_SELECTMODE[] = "Select mode";
|
||||||
@ -60,19 +61,19 @@ using namespace espgui;
|
|||||||
|
|
||||||
SelectModeMenu::SelectModeMenu()
|
SelectModeMenu::SelectModeMenu()
|
||||||
{
|
{
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DEFAULT>, MultiAction<SetDefaultModeAction, SwitchScreenAction<MainMenu>>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DEFAULT>, MultiAction<SetDefaultModeAction, PushScreenAction<MainMenu>>>>();
|
||||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_TEMPOMAT, AvgSpeedAccessor>, MultiAction<SetTempomatModeAction, SwitchScreenAction<MainMenu>>>>(); }
|
if (!simplified) { constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_TEMPOMAT, AvgSpeedAccessor>, MultiAction<SetTempomatModeAction, PushScreenAction<MainMenu>>>>(); }
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LARSM>, MultiAction<SetLarsmModeAction, SwitchScreenAction<MainMenu>>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LARSM>, MultiAction<SetLarsmModeAction, PushScreenAction<MainMenu>>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MICK>, MultiAction<SetMickModeAction, SwitchScreenAction<MainMenu>>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MICK>, MultiAction<SetMickModeAction, PushScreenAction<MainMenu>>>>();
|
||||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_REMOTECONTROL>, MultiAction<SetRemoteControlModeAction, SwitchScreenAction<MainMenu>>>>(); }
|
if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_REMOTECONTROL>, MultiAction<SetRemoteControlModeAction, PushScreenAction<MainMenu>>>>(); }
|
||||||
#ifdef FEATURE_GAMETRAK
|
#ifdef FEATURE_GAMETRAK
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GAMETRAK>, MultiAction<SetGametrakModeAction, SwitchScreenAction<MainMenu>>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GAMETRAK>, MultiAction<SetGametrakModeAction, PopScreenAction>>>();
|
||||||
#endif
|
#endif
|
||||||
if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MOTORTEST>, MultiAction<SetMotorTestModeAction, SwitchScreenAction<MainMenu>>>>(); }
|
if (!simplified) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MOTORTEST>, MultiAction<SetMotorTestModeAction, PushScreenAction<MainMenu>>>>(); }
|
||||||
#ifdef FEATURE_JOYSTICK
|
#ifdef FEATURE_JOYSTICK
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_WHEELCHAIR>, MultiAction<SetWheelchairModeAction, SwitchScreenAction<MainMenu>>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_WHEELCHAIR>, MultiAction<SetWheelchairModeAction, PushScreenAction<MainMenu>>>>();
|
||||||
#endif
|
#endif
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PushScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string SelectModeMenu::text() const
|
std::string SelectModeMenu::text() const
|
||||||
@ -113,5 +114,5 @@ void SelectModeMenu::start()
|
|||||||
|
|
||||||
void SelectModeMenu::back()
|
void SelectModeMenu::back()
|
||||||
{
|
{
|
||||||
switchScreen<MainMenu>();
|
popScreen();
|
||||||
}
|
}
|
||||||
|
@ -3,13 +3,12 @@
|
|||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include <menuitem.h>
|
#include <menuitem.h>
|
||||||
#include "actions/dummyaction.h"
|
#include "actions/dummyaction.h"
|
||||||
#include "actions/switchscreenaction.h"
|
#include "actions/popscreenaction.h"
|
||||||
#include "actioninterface.h"
|
#include "actioninterface.h"
|
||||||
#include "fmt/core.h"
|
#include "fmt/core.h"
|
||||||
#include "icons/back.h"
|
#include "icons/back.h"
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "mainmenu.h"
|
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
#include "icons/time.h"
|
#include "icons/time.h"
|
||||||
#include "icons/reboot.h"
|
#include "icons/reboot.h"
|
||||||
@ -187,7 +186,7 @@ StatisticsMenu::StatisticsMenu()
|
|||||||
constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>();
|
constructMenuItem<makeComponent<MenuItem, EmptyText, DummyAction>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_STATSSAVE>, SaveKilometersAction, StaticMenuItemIcon<&bobbyicons::update>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_STATSSAVE>, SaveKilometersAction, StaticMenuItemIcon<&bobbyicons::update>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_STATSCLEAR>, ClearCurrentStatsAction, StaticMenuItemIcon<&bobbyicons::reboot>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_STATSCLEAR>, ClearCurrentStatsAction, StaticMenuItemIcon<&bobbyicons::reboot>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<MainMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string StatisticsMenu::text() const
|
std::string StatisticsMenu::text() const
|
||||||
@ -197,5 +196,5 @@ std::string StatisticsMenu::text() const
|
|||||||
|
|
||||||
void StatisticsMenu::back()
|
void StatisticsMenu::back()
|
||||||
{
|
{
|
||||||
espgui::switchScreen<MainMenu>();
|
espgui::popScreen();
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,8 @@
|
|||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include <changevaluedisplay.h>
|
#include <changevaluedisplay.h>
|
||||||
#include <menuitem.h>
|
#include <menuitem.h>
|
||||||
#include <actions/switchscreenaction.h>
|
#include <actions/pushscreenaction.h>
|
||||||
|
#include <actions/popscreenaction.h>
|
||||||
#include <icons/back.h>
|
#include <icons/back.h>
|
||||||
#include <textwithvaluehelper.h>
|
#include <textwithvaluehelper.h>
|
||||||
|
|
||||||
@ -14,7 +15,6 @@
|
|||||||
#include "accessors/settingsaccessors.h"
|
#include "accessors/settingsaccessors.h"
|
||||||
#include "accessors/globalaccessors.h"
|
#include "accessors/globalaccessors.h"
|
||||||
#include "actions/tempomatmodeapplycurrentpeedaction.h"
|
#include "actions/tempomatmodeapplycurrentpeedaction.h"
|
||||||
#include "displays/menus/modessettingsmenu.h"
|
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
constexpr char TEXT_TEMPOMATMODESETTINGS[] = "Tempomat mode settings";
|
constexpr char TEXT_TEMPOMATMODESETTINGS[] = "Tempomat mode settings";
|
||||||
@ -27,16 +27,16 @@ using TempomatModeCruiseMotTgtChangeDisplay = espgui::makeComponent<
|
|||||||
BobbyChangeValueDisplay<int16_t>,
|
BobbyChangeValueDisplay<int16_t>,
|
||||||
espgui::StaticText<TEXT_NCRUISEMOTTGT>,
|
espgui::StaticText<TEXT_NCRUISEMOTTGT>,
|
||||||
TempomatModeCruiseMotTgtAccessor,
|
TempomatModeCruiseMotTgtAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<TempomatModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<TempomatModeSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
using TempomatModeModelModeChangeScreen = espgui::makeComponent<
|
using TempomatModeModelModeChangeScreen = espgui::makeComponent<
|
||||||
BobbyChangeValueDisplay<UnifiedModelMode>,
|
BobbyChangeValueDisplay<UnifiedModelMode>,
|
||||||
espgui::StaticText<TEXT_MODELMODE>,
|
espgui::StaticText<TEXT_MODELMODE>,
|
||||||
TempomatModeModelModeAccessor,
|
TempomatModeModelModeAccessor,
|
||||||
espgui::ConfirmActionInterface<espgui::SwitchScreenAction<TempomatModeSettingsMenu>>,
|
espgui::ConfirmActionInterface<espgui::PopScreenAction>,
|
||||||
espgui::BackActionInterface<espgui::SwitchScreenAction<TempomatModeSettingsMenu>>
|
espgui::BackActionInterface<espgui::PopScreenAction>
|
||||||
>;
|
>;
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
@ -45,9 +45,9 @@ using namespace espgui;
|
|||||||
TempomatModeSettingsMenu::TempomatModeSettingsMenu()
|
TempomatModeSettingsMenu::TempomatModeSettingsMenu()
|
||||||
{
|
{
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_APPLY, AvgSpeedAccessor>, TempomatModeApplyCurrentSpeedAction>>();
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_APPLY, AvgSpeedAccessor>, TempomatModeApplyCurrentSpeedAction>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_NCRUISEMOTTGT, TempomatModeCruiseMotTgtAccessor>, SwitchScreenAction<TempomatModeModelModeChangeScreen>>>();
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_NCRUISEMOTTGT, TempomatModeCruiseMotTgtAccessor>, PushScreenAction<TempomatModeModelModeChangeScreen>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODELMODE>, SwitchScreenAction<TempomatModeModelModeChangeScreen>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODELMODE>, PushScreenAction<TempomatModeModelModeChangeScreen>>>();
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<ModesSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string TempomatModeSettingsMenu::text() const
|
std::string TempomatModeSettingsMenu::text() const
|
||||||
@ -57,5 +57,5 @@ std::string TempomatModeSettingsMenu::text() const
|
|||||||
|
|
||||||
void TempomatModeSettingsMenu::back()
|
void TempomatModeSettingsMenu::back()
|
||||||
{
|
{
|
||||||
switchScreen<ModesSettingsMenu>();
|
popScreen();
|
||||||
}
|
}
|
||||||
|
@ -4,11 +4,12 @@
|
|||||||
#include <configwrapper.h>
|
#include <configwrapper.h>
|
||||||
#include <fmt/core.h>
|
#include <fmt/core.h>
|
||||||
#include <icons/back.h>
|
#include <icons/back.h>
|
||||||
|
#include <actions/dummyaction.h>
|
||||||
|
#include <actions/switchscreenaction.h>
|
||||||
|
#include <actions/popscreenaction.h>
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "globals.h"
|
#include "globals.h"
|
||||||
#include "actions/dummyaction.h"
|
|
||||||
#include "actions/switchscreenaction.h"
|
|
||||||
#include "displays/bobbymenudisplay.h"
|
#include "displays/bobbymenudisplay.h"
|
||||||
#include "bobbyerrorhandler.h"
|
#include "bobbyerrorhandler.h"
|
||||||
|
|
||||||
@ -57,7 +58,7 @@ private:
|
|||||||
ConfigWrapper<TEnum>* m_config;
|
ConfigWrapper<TEnum>* m_config;
|
||||||
};
|
};
|
||||||
|
|
||||||
template<typename TEnum, typename TMenu>
|
template<typename TEnum>
|
||||||
class TypeSafeChangeMenu :
|
class TypeSafeChangeMenu :
|
||||||
public BobbyMenuDisplay
|
public BobbyMenuDisplay
|
||||||
{
|
{
|
||||||
@ -71,7 +72,7 @@ public:
|
|||||||
iterateEnum<TEnum>::iterate([&](TEnum enum_value, const auto &string_value){
|
iterateEnum<TEnum>::iterate([&](TEnum enum_value, const auto &string_value){
|
||||||
constructMenuItem<TypesafeEnumSetterMenuItem<TEnum>>(enum_value, m_config);
|
constructMenuItem<TypesafeEnumSetterMenuItem<TEnum>>(enum_value, m_config);
|
||||||
});
|
});
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<TMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, PopScreenAction, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string text() const override
|
std::string text() const override
|
||||||
@ -81,7 +82,7 @@ public:
|
|||||||
|
|
||||||
void back() override
|
void back() override
|
||||||
{
|
{
|
||||||
espgui::switchScreen<TMenu>();
|
espgui::popScreen();
|
||||||
}
|
}
|
||||||
private:
|
private:
|
||||||
ConfigWrapper<TEnum>* m_config;
|
ConfigWrapper<TEnum>* m_config;
|
||||||
@ -102,7 +103,47 @@ public:
|
|||||||
|
|
||||||
void triggered() override
|
void triggered() override
|
||||||
{
|
{
|
||||||
espgui::switchScreen<typesafeenumchangemenu::TypeSafeChangeMenu<TEnum, TMenu>>(m_config);
|
espgui::switchScreen<typesafeenumchangemenu::TypeSafeChangeMenu<TEnum>>(m_config);
|
||||||
|
}
|
||||||
|
private:
|
||||||
|
ConfigWrapper<TEnum>* m_config;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<typename TEnum, const char *Ttext>
|
||||||
|
class PopScreenTypeSafeChangeMenuItem : public espgui::MenuItem
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
PopScreenTypeSafeChangeMenuItem(ConfigWrapper<TEnum>* config) : m_config{config} {}
|
||||||
|
|
||||||
|
static constexpr const char *STATIC_TEXT = Ttext;
|
||||||
|
std::string text() const override
|
||||||
|
{
|
||||||
|
return Ttext;
|
||||||
|
}
|
||||||
|
|
||||||
|
void triggered() override
|
||||||
|
{
|
||||||
|
espgui::popScreen();
|
||||||
|
}
|
||||||
|
private:
|
||||||
|
ConfigWrapper<TEnum>* m_config;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<typename TEnum, const char *Ttext>
|
||||||
|
class PushScreenTypeSafeChangeMenuItem : public espgui::MenuItem
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
PushScreenTypeSafeChangeMenuItem(ConfigWrapper<TEnum>* config) : m_config{config} {}
|
||||||
|
|
||||||
|
static constexpr const char *STATIC_TEXT = Ttext;
|
||||||
|
std::string text() const override
|
||||||
|
{
|
||||||
|
return Ttext;
|
||||||
|
}
|
||||||
|
|
||||||
|
void triggered() override
|
||||||
|
{
|
||||||
|
espgui::pushScreen<typesafeenumchangemenu::TypeSafeChangeMenu<TEnum>>(m_config);
|
||||||
}
|
}
|
||||||
private:
|
private:
|
||||||
ConfigWrapper<TEnum>* m_config;
|
ConfigWrapper<TEnum>* m_config;
|
||||||
|
@ -57,14 +57,9 @@ void MetersDisplay::buttonPressed(espgui::Button button)
|
|||||||
|
|
||||||
switch (button)
|
switch (button)
|
||||||
{
|
{
|
||||||
using espgui::Button;
|
using espgui::Button;
|
||||||
case Button::Left:
|
case Button::Right: pushScreen<MainMenu>(); break;
|
||||||
case Button::Right:
|
case Button::Up: switchScreen<StatusDisplay>(); break;
|
||||||
switchScreen<MainMenu>();
|
|
||||||
break;
|
|
||||||
case Button::Up:
|
|
||||||
switchScreen<StatusDisplay>();
|
|
||||||
break;
|
|
||||||
case Button::Down:
|
case Button::Down:
|
||||||
#ifdef FEATURE_BMS
|
#ifdef FEATURE_BMS
|
||||||
switchScreen<BmsDisplay>();
|
switchScreen<BmsDisplay>();
|
||||||
@ -72,5 +67,6 @@ void MetersDisplay::buttonPressed(espgui::Button button)
|
|||||||
switchScreen<StatusDisplay>();
|
switchScreen<StatusDisplay>();
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
|
default:;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -230,9 +230,7 @@ void StatusDisplay::buttonPressed(espgui::Button button)
|
|||||||
switch (button)
|
switch (button)
|
||||||
{
|
{
|
||||||
using espgui::Button;
|
using espgui::Button;
|
||||||
case Button::Right:
|
case Button::Right: pushScreen<MainMenu>(); break;
|
||||||
switchScreen<MainMenu>();
|
|
||||||
break;
|
|
||||||
case Button::Up:
|
case Button::Up:
|
||||||
if (simplified)
|
if (simplified)
|
||||||
return;
|
return;
|
||||||
|
@ -35,7 +35,7 @@ using namespace std::chrono_literals;
|
|||||||
namespace {
|
namespace {
|
||||||
espchrono::millis_clock::time_point lastStatsPush;
|
espchrono::millis_clock::time_point lastStatsPush;
|
||||||
std::optional<espchrono::millis_clock::time_point> lastStatsUpdate;
|
std::optional<espchrono::millis_clock::time_point> lastStatsUpdate;
|
||||||
}
|
} // namespace
|
||||||
|
|
||||||
extern "C" void app_main()
|
extern "C" void app_main()
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user