Again more refactorings
This commit is contained in:
@@ -0,0 +1,30 @@
|
|||||||
|
#include "cloudtexthelpers.h"
|
||||||
|
|
||||||
|
// 3rdparty lib includes
|
||||||
|
#include <fmt/core.h>
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "cloud.h"
|
||||||
|
|
||||||
|
#ifdef FEATURE_CLOUD
|
||||||
|
std::string CloudCreatedText::text() const
|
||||||
|
{
|
||||||
|
return fmt::format("created: {}", cloudClient ? "true" : "false");
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string CloudStartedText::text() const
|
||||||
|
{
|
||||||
|
std::string text = "started: ";
|
||||||
|
if (cloudClient)
|
||||||
|
text += cloudStarted ? "true" : "false";
|
||||||
|
return text;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string CloudConnectedText::text() const
|
||||||
|
{
|
||||||
|
std::string text = "connected: ";
|
||||||
|
if (cloudClient)
|
||||||
|
text += cloudClient.is_connected() ? "true" : "false";
|
||||||
|
return text;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
@@ -1,37 +1,24 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// 3rdparty lib includes
|
|
||||||
#include <fmt/core.h>
|
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "textinterface.h"
|
#include "textinterface.h"
|
||||||
#include "cloud.h"
|
|
||||||
|
|
||||||
namespace {
|
|
||||||
#ifdef FEATURE_CLOUD
|
#ifdef FEATURE_CLOUD
|
||||||
struct CloudCreatedText : public virtual TextInterface { public: std::string text() const override {
|
struct CloudCreatedText : public virtual espgui::TextInterface
|
||||||
return fmt::format("created: {}", cloudClient ? "true" : "false"); }};
|
|
||||||
|
|
||||||
struct CloudStartedText : public virtual TextInterface {
|
|
||||||
public:
|
|
||||||
std::string text() const override
|
|
||||||
{
|
{
|
||||||
std::string text = "started: ";
|
public:
|
||||||
if (cloudClient)
|
std::string text() const override;
|
||||||
text += cloudStarted ? "true" : "false";
|
|
||||||
return text;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct CloudConnectedText : public virtual TextInterface {
|
struct CloudStartedText : public virtual espgui::TextInterface
|
||||||
public:
|
|
||||||
std::string text() const override
|
|
||||||
{
|
{
|
||||||
std::string text = "connected: ";
|
public:
|
||||||
if (cloudClient)
|
std::string text() const override;
|
||||||
text += cloudClient.is_connected() ? "true" : "false";
|
};
|
||||||
return text;
|
|
||||||
}
|
struct CloudConnectedText : public virtual espgui::TextInterface
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
std::string text() const override;
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
}
|
|
||||||
|
@@ -15,10 +15,6 @@
|
|||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
#include "widgets/label.h"
|
#include "widgets/label.h"
|
||||||
|
|
||||||
namespace {
|
|
||||||
class MainMenu;
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
#ifdef FEATURE_GARAGE
|
#ifdef FEATURE_GARAGE
|
||||||
class GarageDisplay : public Display, public BackActionInterface<SwitchScreenAction<MainMenu>>
|
class GarageDisplay : public Display, public BackActionInterface<SwitchScreenAction<MainMenu>>
|
||||||
|
@@ -16,10 +16,6 @@
|
|||||||
#include "ledstrip.h"
|
#include "ledstrip.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace {
|
|
||||||
class MainMenu;
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
class Lockscreen : public Display, public DummyBack
|
class Lockscreen : public Display, public DummyBack
|
||||||
{
|
{
|
||||||
|
@@ -18,11 +18,6 @@
|
|||||||
#include "icons/back.h"
|
#include "icons/back.h"
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
|
|
||||||
//forward declares
|
|
||||||
namespace {
|
|
||||||
class MainMenu;
|
|
||||||
} // namespace
|
|
||||||
|
|
||||||
using namespace espgui;
|
using namespace espgui;
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
@@ -0,0 +1,72 @@
|
|||||||
|
#include "cloudsettingsmenu.h"
|
||||||
|
|
||||||
|
// 3rdparty lib includes
|
||||||
|
#include <fmt/core.h>
|
||||||
|
#include "menuitem.h"
|
||||||
|
#include "changevaluedisplay.h"
|
||||||
|
#include "actions/switchscreenaction.h"
|
||||||
|
#include "actions/toggleboolaction.h"
|
||||||
|
#include "actions/dummyaction.h"
|
||||||
|
#include "checkboxicon.h"
|
||||||
|
#include "icons/back.h"
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "cloudtexthelpers.h"
|
||||||
|
#include "accessors/settingsaccessors.h"
|
||||||
|
#include "cloud.h"
|
||||||
|
#include "displays/menus/settingsmenu.h"
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
using CloudTransmitTimeoutChangeScreen = espgui::makeComponent<
|
||||||
|
espgui::ChangeValueDisplay<int16_t>,
|
||||||
|
espgui::StaticText<TEXT_CLOUDTRANSMITTIMEOUT>,
|
||||||
|
CloudTransmitTimeoutAccessor,
|
||||||
|
espgui::BackActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>,
|
||||||
|
espgui::SwitchScreenAction<CloudSettingsMenu>
|
||||||
|
>;
|
||||||
|
|
||||||
|
struct CloudBufferLengthText : public virtual espgui::TextInterface
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
std::string text() const override
|
||||||
|
{
|
||||||
|
return fmt::format("buffer: {}", cloudBuffer.size());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
using CloudCollectRateChangeDisplay = espgui::makeComponent<
|
||||||
|
espgui::ChangeValueDisplay<int16_t>,
|
||||||
|
espgui::StaticText<TEXT_CLOUDCOLLECTRATE>,
|
||||||
|
CloudCollectRateAccessor,
|
||||||
|
espgui::BackActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>,
|
||||||
|
espgui::SwitchScreenAction<CloudSettingsMenu>
|
||||||
|
>;
|
||||||
|
|
||||||
|
using CloudSendRateChangeDisplay = espgui::makeComponent<
|
||||||
|
espgui::ChangeValueDisplay<int16_t>,
|
||||||
|
espgui::StaticText<TEXT_CLOUDSENDRATE>,
|
||||||
|
CloudSendRateAccessor,
|
||||||
|
espgui::BackActionInterface<espgui::SwitchScreenAction<CloudSettingsMenu>>,
|
||||||
|
espgui::SwitchScreenAction<CloudSettingsMenu>
|
||||||
|
>;
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
using namespace espgui;
|
||||||
|
|
||||||
|
CloudSettingsMenu::CloudSettingsMenu()
|
||||||
|
{
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDENABLED>, ToggleBoolAction, CheckboxIcon, CloudEnabledAccessor>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDTRANSMITTIMEOUT>, SwitchScreenAction<CloudTransmitTimeoutChangeScreen>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, CloudCreatedText, DisabledColor, DummyAction>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, CloudStartedText, DisabledColor, DummyAction>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, CloudConnectedText, DisabledColor, DummyAction>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, CloudBufferLengthText, DisabledColor, DummyAction>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDCOLLECTRATE>, SwitchScreenAction<CloudCollectRateChangeDisplay>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDSENDRATE>, SwitchScreenAction<CloudSendRateChangeDisplay>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CloudSettingsMenu::back()
|
||||||
|
{
|
||||||
|
switchScreen<SettingsMenu>();
|
||||||
|
}
|
||||||
|
@@ -1,76 +1,19 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include <fmt/core.h>
|
#include "menudisplay.h"
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "menudisplay.h"
|
|
||||||
#include "menuitem.h"
|
|
||||||
#include "changevaluedisplay.h"
|
|
||||||
#include "actions/switchscreenaction.h"
|
|
||||||
#include "actions/toggleboolaction.h"
|
|
||||||
#include "checkboxicon.h"
|
|
||||||
#include "cloudtexthelpers.h"
|
|
||||||
#include "accessors/settingsaccessors.h"
|
|
||||||
#include "icons/back.h"
|
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
#include "accessors/settingsaccessors.h"
|
|
||||||
#include "cloud.h"
|
|
||||||
|
|
||||||
namespace {
|
|
||||||
using CloudTransmitTimeoutChangeScreen = makeComponent<
|
|
||||||
ChangeValueDisplay<int16_t>,
|
|
||||||
StaticText<TEXT_CLOUDTRANSMITTIMEOUT>,
|
|
||||||
CloudTransmitTimeoutAccessor,
|
|
||||||
BackActionInterface<SwitchScreenAction<CloudSettingsMenu>>,
|
|
||||||
SwitchScreenAction<CloudSettingsMenu>
|
|
||||||
>;
|
|
||||||
|
|
||||||
struct CloudBufferLengthText : public virtual TextInterface {
|
|
||||||
public:
|
|
||||||
std::string text() const override
|
|
||||||
{
|
|
||||||
return fmt::format("buffer: {}", cloudBuffer.size());
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
using CloudCollectRateChangeDisplay = makeComponent<
|
|
||||||
ChangeValueDisplay<int16_t>,
|
|
||||||
StaticText<TEXT_CLOUDCOLLECTRATE>,
|
|
||||||
CloudCollectRateAccessor,
|
|
||||||
BackActionInterface<SwitchScreenAction<CloudSettingsMenu>>,
|
|
||||||
SwitchScreenAction<CloudSettingsMenu>
|
|
||||||
>;
|
|
||||||
|
|
||||||
using CloudSendRateChangeDisplay = makeComponent<
|
|
||||||
ChangeValueDisplay<int16_t>,
|
|
||||||
StaticText<TEXT_CLOUDSENDRATE>,
|
|
||||||
CloudSendRateAccessor,
|
|
||||||
BackActionInterface<SwitchScreenAction<CloudSettingsMenu>>,
|
|
||||||
SwitchScreenAction<CloudSettingsMenu>
|
|
||||||
>;
|
|
||||||
} // namespace
|
|
||||||
|
|
||||||
namespace {
|
|
||||||
#ifdef FEATURE_CLOUD
|
#ifdef FEATURE_CLOUD
|
||||||
class CloudSettingsMenu :
|
class CloudSettingsMenu :
|
||||||
public MenuDisplay,
|
public espgui::MenuDisplay,
|
||||||
public StaticText<TEXT_CLOUDSETTINGS>,
|
public espgui::StaticText<TEXT_CLOUDSETTINGS>
|
||||||
public BackActionInterface<SwitchScreenAction<SettingsMenu>>
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CloudSettingsMenu()
|
CloudSettingsMenu();
|
||||||
{
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDENABLED>, ToggleBoolAction, CheckboxIcon, CloudEnabledAccessor>>();
|
void back() override;
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDTRANSMITTIMEOUT>, SwitchScreenAction<CloudTransmitTimeoutChangeScreen>>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, CloudCreatedText, DisabledColor, DummyAction>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, CloudStartedText, DisabledColor, DummyAction>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, CloudConnectedText, DisabledColor, DummyAction>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, CloudBufferLengthText, DisabledColor, DummyAction>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDCOLLECTRATE>, SwitchScreenAction<CloudCollectRateChangeDisplay>>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_CLOUDSENDRATE>, SwitchScreenAction<CloudSendRateChangeDisplay>>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
} // namespace
|
|
||||||
|
@@ -18,26 +18,6 @@
|
|||||||
|
|
||||||
using namespace espgui;
|
using namespace espgui;
|
||||||
|
|
||||||
// forward declares
|
|
||||||
namespace {
|
|
||||||
class MainMenu;
|
|
||||||
class FrontCommandDebugMenu;
|
|
||||||
class BackCommandDebugMenu;
|
|
||||||
class FrontLeftMotorStateDebugMenu;
|
|
||||||
class FrontRightMotorStateDebugMenu;
|
|
||||||
class BackLeftMotorStateDebugMenu;
|
|
||||||
class BackRightMotorStateDebugMenu;
|
|
||||||
class FrontFeedbackDebugMenu;
|
|
||||||
class BackFeedbackDebugMenu;
|
|
||||||
class FrontLeftMotorFeedbackDebugMenu;
|
|
||||||
class FrontRightMotorFeedbackDebugMenu;
|
|
||||||
class BackLeftMotorFeedbackDebugMenu;
|
|
||||||
class BackRightMotorFeedbackDebugMenu;
|
|
||||||
class DynamicDebugMenu;
|
|
||||||
} // namespace
|
|
||||||
|
|
||||||
using namespace espgui;
|
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
class DebugMenu :
|
class DebugMenu :
|
||||||
public MenuDisplay,
|
public MenuDisplay,
|
||||||
|
@@ -0,0 +1,144 @@
|
|||||||
|
#include "defaultmodesettingsmenu.h"
|
||||||
|
|
||||||
|
// 3rdparty lib includes
|
||||||
|
#include "changevaluedisplay.h"
|
||||||
|
#include "menuitem.h"
|
||||||
|
#include "actions/toggleboolaction.h"
|
||||||
|
#include "actions/switchscreenaction.h"
|
||||||
|
#include "actions/dummyaction.h"
|
||||||
|
#include "checkboxicon.h"
|
||||||
|
#include "icons/back.h"
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "utils.h"
|
||||||
|
#include "changevaluedisplay_unifiedmodelmode.h"
|
||||||
|
#include "accessors/settingsaccessors.h"
|
||||||
|
#include "displays/menus/modessettingsmenu.h"
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
using DefaultModeModelModeChangeDisplay = espgui::makeComponent<
|
||||||
|
espgui::ChangeValueDisplay<UnifiedModelMode>,
|
||||||
|
espgui::StaticText<TEXT_MODELMODE>,
|
||||||
|
DefaultModeModelModeAccessor,
|
||||||
|
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
||||||
|
espgui::SwitchScreenAction<DefaultModeSettingsMenu>
|
||||||
|
>;
|
||||||
|
using DefaultModeHybridModelModeChangeDisplay = espgui::makeComponent<
|
||||||
|
espgui::ChangeValueDisplay<UnifiedModelMode>,
|
||||||
|
espgui::StaticText<TEXT_HYBRIDMODE>,
|
||||||
|
DefaultModeHybridModelModeAccessor,
|
||||||
|
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
||||||
|
espgui::SwitchScreenAction<DefaultModeSettingsMenu>
|
||||||
|
>;
|
||||||
|
using DefaultModeSmoothingChangeDisplay = espgui::makeComponent<
|
||||||
|
espgui::ChangeValueDisplay<int16_t>,
|
||||||
|
espgui::StaticText<TEXT_SMOOTHINGVAL>,
|
||||||
|
DefaultModeSmoothingAccessor,
|
||||||
|
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
||||||
|
espgui::SwitchScreenAction<DefaultModeSettingsMenu>
|
||||||
|
>;
|
||||||
|
using DefaultModeFwSmoothingLowerLimitChangeDisplay = espgui::makeComponent<
|
||||||
|
espgui::ChangeValueDisplay<int16_t>,
|
||||||
|
espgui::StaticText<TEXT_FWSMOOTHING_LIMIT>,
|
||||||
|
DefaultModeEnableFieldWeakSmoothingLowerLimitAccessor,
|
||||||
|
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
||||||
|
espgui::SwitchScreenAction<DefaultModeSettingsMenu>
|
||||||
|
>;
|
||||||
|
using DefaultModeFrontPercentageChangeDisplay = espgui::makeComponent<
|
||||||
|
espgui::ChangeValueDisplay<int16_t>,
|
||||||
|
espgui::StaticText<TEXT_FRONTPERCENTAGE>,
|
||||||
|
DefaultModeFrontPercentageAccessor,
|
||||||
|
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
||||||
|
espgui::SwitchScreenAction<DefaultModeSettingsMenu>
|
||||||
|
>;
|
||||||
|
using DefaultModeBackPercentageChangeDisplay = espgui::makeComponent<
|
||||||
|
espgui::ChangeValueDisplay<int16_t>,
|
||||||
|
espgui::StaticText<TEXT_BACKPERCENTAGE>,
|
||||||
|
DefaultModeBackPercentageAccessor,
|
||||||
|
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
||||||
|
espgui::SwitchScreenAction<DefaultModeSettingsMenu>
|
||||||
|
>;
|
||||||
|
using DefaultModeAddSchwelleChangeDisplay = espgui::makeComponent<
|
||||||
|
espgui::ChangeValueDisplay<int16_t>,
|
||||||
|
espgui::StaticText<TEXT_ADDSCHWELLE>,
|
||||||
|
DefaultModeAddSchwelleAccessor,
|
||||||
|
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
||||||
|
espgui::SwitchScreenAction<DefaultModeSettingsMenu>
|
||||||
|
>;
|
||||||
|
using DefaultModeGas1WertChangeDisplay = espgui::makeComponent<
|
||||||
|
espgui::ChangeValueDisplay<int16_t>,
|
||||||
|
espgui::StaticText<TEXT_ADDGASVAL>,
|
||||||
|
DefaultModeGas1WertAccessor,
|
||||||
|
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
||||||
|
espgui::SwitchScreenAction<DefaultModeSettingsMenu>
|
||||||
|
>;
|
||||||
|
using DefaultModeGas2WertChangeDisplay = espgui::makeComponent<
|
||||||
|
espgui::ChangeValueDisplay<int16_t>,
|
||||||
|
espgui::StaticText<TEXT_SUBGASVAL>,
|
||||||
|
DefaultModeGas2WertAccessor,
|
||||||
|
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
||||||
|
espgui::SwitchScreenAction<DefaultModeSettingsMenu>
|
||||||
|
>;
|
||||||
|
using DefaultModeBrems1WertChangeDisplay = espgui::makeComponent<
|
||||||
|
espgui::ChangeValueDisplay<int16_t>,
|
||||||
|
espgui::StaticText<TEXT_ADDBRAKEVAL>,
|
||||||
|
DefaultModeBrems1WertAccessor,
|
||||||
|
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
||||||
|
espgui::SwitchScreenAction<DefaultModeSettingsMenu>
|
||||||
|
>;
|
||||||
|
using DefaultModeBrems2WertChangeDisplay = espgui::makeComponent<
|
||||||
|
espgui::ChangeValueDisplay<int16_t>,
|
||||||
|
espgui::StaticText<TEXT_SUBBRAKEVAL>,
|
||||||
|
DefaultModeBrems2WertAccessor,
|
||||||
|
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
||||||
|
espgui::SwitchScreenAction<DefaultModeSettingsMenu>
|
||||||
|
>;
|
||||||
|
using DefaultModeHybridActivationLimitChangeDisplay = espgui::makeComponent<
|
||||||
|
espgui::ChangeValueDisplay<int16_t>,
|
||||||
|
espgui::StaticText<TEXT_HYBRIDACTIVATIONLIMIT>,
|
||||||
|
DefaultModeHybridActivationLimitAccessor,
|
||||||
|
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
||||||
|
espgui::SwitchScreenAction<DefaultModeSettingsMenu>
|
||||||
|
>;
|
||||||
|
using DefaultModeHybridDeactivationLimitChangeDisplay = espgui::makeComponent<
|
||||||
|
espgui::ChangeValueDisplay<int16_t>,
|
||||||
|
espgui::StaticText<TEXT_HYBRIDDEACTIVATIONLIMIT>,
|
||||||
|
DefaultModeHybridDeactivationLimitAccessor,
|
||||||
|
espgui::BackActionInterface<espgui::SwitchScreenAction<DefaultModeSettingsMenu>>,
|
||||||
|
espgui::SwitchScreenAction<DefaultModeSettingsMenu>
|
||||||
|
>;
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
using namespace espgui;
|
||||||
|
|
||||||
|
DefaultModeSettingsMenu::DefaultModeSettingsMenu()
|
||||||
|
{
|
||||||
|
auto diff = std::abs(settings.hybrid.activationLimit - settings.hybrid.deactivationLimit);
|
||||||
|
if (diff < 20) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LIMITS_TO_NEAR>, StaticFont<2>, StaticColor<TFT_RED>, DummyAction>>(); }
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODELMODE>, SwitchScreenAction<DefaultModeModelModeChangeDisplay>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_HYBRIDMODE>, SwitchScreenAction<DefaultModeHybridModelModeChangeDisplay>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SQUAREGAS>, ToggleBoolAction, CheckboxIcon, DefaultModeSquareGasAccessor>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SQUAREBREMS>, ToggleBoolAction, CheckboxIcon, DefaultModeSquareBremsAccessor>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLESMOOTHINGUP>, ToggleBoolAction, CheckboxIcon, DefaultModeEnableSmoothingUpAccessor>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLESMOOTHINGDOWN>, ToggleBoolAction, CheckboxIcon, DefaultModeEnableSmoothingDownAccessor>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLEFWSMOOTHINGUP>, ToggleBoolAction, CheckboxIcon, DefaultModeEnableFieldWeakSmoothingUpAccessor>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLEFWSMOOTHINGDOWN>, ToggleBoolAction, CheckboxIcon, DefaultModeEnableFieldWeakSmoothingDownAccessor>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_HYBRIDENABLE>, ToggleBoolAction, CheckboxIcon, DefaultModeEnableHybridAccessor>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_FWSMOOTHING_LIMIT, DefaultModeEnableFieldWeakSmoothingLowerLimitAccessor>, SwitchScreenAction<DefaultModeFwSmoothingLowerLimitChangeDisplay>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SMOOTHINGVAL, DefaultModeSmoothingAccessor>, SwitchScreenAction<DefaultModeSmoothingChangeDisplay>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_FRONTPERCENTAGE, DefaultModeFrontPercentageAccessor>, SwitchScreenAction<DefaultModeFrontPercentageChangeDisplay>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_BACKPERCENTAGE, DefaultModeBackPercentageAccessor>, SwitchScreenAction<DefaultModeBackPercentageChangeDisplay>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_ADDSCHWELLE, DefaultModeAddSchwelleAccessor>, SwitchScreenAction<DefaultModeAddSchwelleChangeDisplay>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SUBGASVAL, DefaultModeGas2WertAccessor>, SwitchScreenAction<DefaultModeGas2WertChangeDisplay>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SUBBRAKEVAL, DefaultModeBrems2WertAccessor>, SwitchScreenAction<DefaultModeBrems2WertChangeDisplay>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_ADDGASVAL, DefaultModeGas1WertAccessor>, SwitchScreenAction<DefaultModeGas1WertChangeDisplay>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_ADDBRAKEVAL, DefaultModeBrems1WertAccessor>, SwitchScreenAction<DefaultModeBrems1WertChangeDisplay>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_HYBRIDACTIVATIONLIMIT, DefaultModeHybridActivationLimitAccessor>, SwitchScreenAction<DefaultModeHybridActivationLimitChangeDisplay>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_HYBRIDDEACTIVATIONLIMIT, DefaultModeHybridDeactivationLimitAccessor>, SwitchScreenAction<DefaultModeHybridDeactivationLimitChangeDisplay>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<ModesSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
|
}
|
||||||
|
|
||||||
|
void DefaultModeSettingsMenu::back()
|
||||||
|
{
|
||||||
|
switchScreen<ModesSettingsMenu>();
|
||||||
|
}
|
||||||
|
@@ -1,153 +1,17 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <TFT_eSPI.h>
|
// 3rdparty lib includes
|
||||||
|
#include "menudisplay.h"
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "menudisplay.h"
|
|
||||||
#include "utils.h"
|
|
||||||
#include "changevaluedisplay.h"
|
|
||||||
#include "changevaluedisplay_unifiedmodelmode.h"
|
|
||||||
#include "menuitem.h"
|
|
||||||
#include "actions/toggleboolaction.h"
|
|
||||||
#include "actions/switchscreenaction.h"
|
|
||||||
#include "actions/dummyaction.h"
|
|
||||||
#include "checkboxicon.h"
|
|
||||||
#include "icons/back.h"
|
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
#include "accessors/settingsaccessors.h"
|
|
||||||
|
|
||||||
// forward declares
|
|
||||||
namespace {
|
|
||||||
class DefaultModeSettingsMenu;
|
|
||||||
class ModesSettingsMenu;
|
|
||||||
} // namespace
|
|
||||||
|
|
||||||
using namespace espgui;
|
|
||||||
|
|
||||||
namespace {
|
|
||||||
using DefaultModeModelModeChangeDisplay = makeComponent<
|
|
||||||
ChangeValueDisplay<UnifiedModelMode>,
|
|
||||||
StaticText<TEXT_MODELMODE>,
|
|
||||||
DefaultModeModelModeAccessor,
|
|
||||||
BackActionInterface<SwitchScreenAction<DefaultModeSettingsMenu>>,
|
|
||||||
SwitchScreenAction<DefaultModeSettingsMenu>
|
|
||||||
>;
|
|
||||||
using DefaultModeHybridModelModeChangeDisplay = makeComponent<
|
|
||||||
ChangeValueDisplay<UnifiedModelMode>,
|
|
||||||
StaticText<TEXT_HYBRIDMODE>,
|
|
||||||
DefaultModeHybridModelModeAccessor,
|
|
||||||
BackActionInterface<SwitchScreenAction<DefaultModeSettingsMenu>>,
|
|
||||||
SwitchScreenAction<DefaultModeSettingsMenu>
|
|
||||||
>;
|
|
||||||
using DefaultModeSmoothingChangeDisplay = makeComponent<
|
|
||||||
ChangeValueDisplay<int16_t>,
|
|
||||||
StaticText<TEXT_SMOOTHINGVAL>,
|
|
||||||
DefaultModeSmoothingAccessor,
|
|
||||||
BackActionInterface<SwitchScreenAction<DefaultModeSettingsMenu>>,
|
|
||||||
SwitchScreenAction<DefaultModeSettingsMenu>
|
|
||||||
>;
|
|
||||||
using DefaultModeFwSmoothingLowerLimitChangeDisplay = makeComponent<
|
|
||||||
ChangeValueDisplay<int16_t>,
|
|
||||||
StaticText<TEXT_FWSMOOTHING_LIMIT>,
|
|
||||||
DefaultModeEnableFieldWeakSmoothingLowerLimitAccessor,
|
|
||||||
BackActionInterface<SwitchScreenAction<DefaultModeSettingsMenu>>,
|
|
||||||
SwitchScreenAction<DefaultModeSettingsMenu>
|
|
||||||
>;
|
|
||||||
using DefaultModeFrontPercentageChangeDisplay = makeComponent<
|
|
||||||
ChangeValueDisplay<int16_t>,
|
|
||||||
StaticText<TEXT_FRONTPERCENTAGE>,
|
|
||||||
DefaultModeFrontPercentageAccessor,
|
|
||||||
BackActionInterface<SwitchScreenAction<DefaultModeSettingsMenu>>,
|
|
||||||
SwitchScreenAction<DefaultModeSettingsMenu>
|
|
||||||
>;
|
|
||||||
using DefaultModeBackPercentageChangeDisplay = makeComponent<
|
|
||||||
ChangeValueDisplay<int16_t>,
|
|
||||||
StaticText<TEXT_BACKPERCENTAGE>,
|
|
||||||
DefaultModeBackPercentageAccessor,
|
|
||||||
BackActionInterface<SwitchScreenAction<DefaultModeSettingsMenu>>,
|
|
||||||
SwitchScreenAction<DefaultModeSettingsMenu>
|
|
||||||
>;
|
|
||||||
using DefaultModeAddSchwelleChangeDisplay = makeComponent<
|
|
||||||
ChangeValueDisplay<int16_t>,
|
|
||||||
StaticText<TEXT_ADDSCHWELLE>,
|
|
||||||
DefaultModeAddSchwelleAccessor,
|
|
||||||
BackActionInterface<SwitchScreenAction<DefaultModeSettingsMenu>>,
|
|
||||||
SwitchScreenAction<DefaultModeSettingsMenu>
|
|
||||||
>;
|
|
||||||
using DefaultModeGas1WertChangeDisplay = makeComponent<
|
|
||||||
ChangeValueDisplay<int16_t>,
|
|
||||||
StaticText<TEXT_ADDGASVAL>,
|
|
||||||
DefaultModeGas1WertAccessor,
|
|
||||||
BackActionInterface<SwitchScreenAction<DefaultModeSettingsMenu>>,
|
|
||||||
SwitchScreenAction<DefaultModeSettingsMenu>
|
|
||||||
>;
|
|
||||||
using DefaultModeGas2WertChangeDisplay = makeComponent<
|
|
||||||
ChangeValueDisplay<int16_t>,
|
|
||||||
StaticText<TEXT_SUBGASVAL>,
|
|
||||||
DefaultModeGas2WertAccessor,
|
|
||||||
BackActionInterface<SwitchScreenAction<DefaultModeSettingsMenu>>,
|
|
||||||
SwitchScreenAction<DefaultModeSettingsMenu>
|
|
||||||
>;
|
|
||||||
using DefaultModeBrems1WertChangeDisplay = makeComponent<
|
|
||||||
ChangeValueDisplay<int16_t>,
|
|
||||||
StaticText<TEXT_ADDBRAKEVAL>,
|
|
||||||
DefaultModeBrems1WertAccessor,
|
|
||||||
BackActionInterface<SwitchScreenAction<DefaultModeSettingsMenu>>,
|
|
||||||
SwitchScreenAction<DefaultModeSettingsMenu>
|
|
||||||
>;
|
|
||||||
using DefaultModeBrems2WertChangeDisplay = makeComponent<
|
|
||||||
ChangeValueDisplay<int16_t>,
|
|
||||||
StaticText<TEXT_SUBBRAKEVAL>,
|
|
||||||
DefaultModeBrems2WertAccessor,
|
|
||||||
BackActionInterface<SwitchScreenAction<DefaultModeSettingsMenu>>,
|
|
||||||
SwitchScreenAction<DefaultModeSettingsMenu>
|
|
||||||
>;
|
|
||||||
using DefaultModeHybridActivationLimitChangeDisplay = makeComponent<
|
|
||||||
ChangeValueDisplay<int16_t>,
|
|
||||||
StaticText<TEXT_HYBRIDACTIVATIONLIMIT>,
|
|
||||||
DefaultModeHybridActivationLimitAccessor,
|
|
||||||
BackActionInterface<SwitchScreenAction<DefaultModeSettingsMenu>>,
|
|
||||||
SwitchScreenAction<DefaultModeSettingsMenu>
|
|
||||||
>;
|
|
||||||
using DefaultModeHybridDeactivationLimitChangeDisplay = makeComponent<
|
|
||||||
ChangeValueDisplay<int16_t>,
|
|
||||||
StaticText<TEXT_HYBRIDDEACTIVATIONLIMIT>,
|
|
||||||
DefaultModeHybridDeactivationLimitAccessor,
|
|
||||||
BackActionInterface<SwitchScreenAction<DefaultModeSettingsMenu>>,
|
|
||||||
SwitchScreenAction<DefaultModeSettingsMenu>
|
|
||||||
>;
|
|
||||||
|
|
||||||
class DefaultModeSettingsMenu :
|
class DefaultModeSettingsMenu :
|
||||||
public MenuDisplay,
|
public espgui::MenuDisplay,
|
||||||
public StaticText<TEXT_DEFAULTMODESETTIGNS>,
|
public espgui::StaticText<TEXT_DEFAULTMODESETTIGNS>
|
||||||
public BackActionInterface<SwitchScreenAction<ModesSettingsMenu>>
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
DefaultModeSettingsMenu()
|
DefaultModeSettingsMenu();
|
||||||
{
|
|
||||||
auto diff = std::abs(settings.hybrid.activationLimit - settings.hybrid.deactivationLimit);
|
void back() override;
|
||||||
if (diff < 20) { constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LIMITS_TO_NEAR>, StaticFont<2>, StaticColor<TFT_RED>, DummyAction>>(); }
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODELMODE>, SwitchScreenAction<DefaultModeModelModeChangeDisplay>>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_HYBRIDMODE>, SwitchScreenAction<DefaultModeHybridModelModeChangeDisplay>>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SQUAREGAS>, ToggleBoolAction, CheckboxIcon, DefaultModeSquareGasAccessor>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_SQUAREBREMS>, ToggleBoolAction, CheckboxIcon, DefaultModeSquareBremsAccessor>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLESMOOTHINGUP>, ToggleBoolAction, CheckboxIcon, DefaultModeEnableSmoothingUpAccessor>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLESMOOTHINGDOWN>, ToggleBoolAction, CheckboxIcon, DefaultModeEnableSmoothingDownAccessor>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLEFWSMOOTHINGUP>, ToggleBoolAction, CheckboxIcon, DefaultModeEnableFieldWeakSmoothingUpAccessor>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_ENABLEFWSMOOTHINGDOWN>, ToggleBoolAction, CheckboxIcon, DefaultModeEnableFieldWeakSmoothingDownAccessor>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_HYBRIDENABLE>, ToggleBoolAction, CheckboxIcon, DefaultModeEnableHybridAccessor>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_FWSMOOTHING_LIMIT, DefaultModeEnableFieldWeakSmoothingLowerLimitAccessor>, SwitchScreenAction<DefaultModeFwSmoothingLowerLimitChangeDisplay>>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SMOOTHINGVAL, DefaultModeSmoothingAccessor>, SwitchScreenAction<DefaultModeSmoothingChangeDisplay>>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_FRONTPERCENTAGE, DefaultModeFrontPercentageAccessor>, SwitchScreenAction<DefaultModeFrontPercentageChangeDisplay>>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_BACKPERCENTAGE, DefaultModeBackPercentageAccessor>, SwitchScreenAction<DefaultModeBackPercentageChangeDisplay>>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_ADDSCHWELLE, DefaultModeAddSchwelleAccessor>, SwitchScreenAction<DefaultModeAddSchwelleChangeDisplay>>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SUBGASVAL, DefaultModeGas2WertAccessor>, SwitchScreenAction<DefaultModeGas2WertChangeDisplay>>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_SUBBRAKEVAL, DefaultModeBrems2WertAccessor>, SwitchScreenAction<DefaultModeBrems2WertChangeDisplay>>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_ADDGASVAL, DefaultModeGas1WertAccessor>, SwitchScreenAction<DefaultModeGas1WertChangeDisplay>>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_ADDBRAKEVAL, DefaultModeBrems1WertAccessor>, SwitchScreenAction<DefaultModeBrems1WertChangeDisplay>>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_HYBRIDACTIVATIONLIMIT, DefaultModeHybridActivationLimitAccessor>, SwitchScreenAction<DefaultModeHybridActivationLimitChangeDisplay>>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_HYBRIDDEACTIVATIONLIMIT, DefaultModeHybridDeactivationLimitAccessor>, SwitchScreenAction<DefaultModeHybridDeactivationLimitChangeDisplay>>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<ModesSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
} // namespace
|
|
||||||
|
@@ -8,15 +8,6 @@
|
|||||||
#include "icons/back.h"
|
#include "icons/back.h"
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
|
|
||||||
// forward declares
|
|
||||||
namespace {
|
|
||||||
class StarfieldDisplay;
|
|
||||||
class PingPongDisplay;
|
|
||||||
class SpiroDisplay;
|
|
||||||
class GameOfLifeDisplay;
|
|
||||||
class MainMenu;
|
|
||||||
} // namespace
|
|
||||||
|
|
||||||
using namespace espgui;
|
using namespace espgui;
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
@@ -8,11 +8,6 @@
|
|||||||
#include "icons/back.h"
|
#include "icons/back.h"
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
|
|
||||||
// forward declares
|
|
||||||
namespace {
|
|
||||||
class ModesSettingsMenu;
|
|
||||||
} // namespace
|
|
||||||
|
|
||||||
using namespace espgui;
|
using namespace espgui;
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
@@ -10,12 +10,6 @@
|
|||||||
#include "displays/splitgraphdisplay.h"
|
#include "displays/splitgraphdisplay.h"
|
||||||
#include "statistics.h"
|
#include "statistics.h"
|
||||||
|
|
||||||
// forward declares
|
|
||||||
namespace {
|
|
||||||
class MainMenu;
|
|
||||||
class GraphsMenu;
|
|
||||||
} // namespace
|
|
||||||
|
|
||||||
using namespace espgui;
|
using namespace espgui;
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
@@ -12,12 +12,6 @@
|
|||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
#include "accessors/settingsaccessors.h"
|
#include "accessors/settingsaccessors.h"
|
||||||
|
|
||||||
// forward declares
|
|
||||||
namespace {
|
|
||||||
class LarsmModeSettingsMenu;
|
|
||||||
class ModesSettingsMenu;
|
|
||||||
} // namespace
|
|
||||||
|
|
||||||
using namespace espgui;
|
using namespace espgui;
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
@@ -0,0 +1,31 @@
|
|||||||
|
#include "modessettingsmenu.h"
|
||||||
|
|
||||||
|
// 3rdparty lib includes
|
||||||
|
#include "menuitem.h"
|
||||||
|
#include "actions/switchscreenaction.h"
|
||||||
|
#include "icons/back.h"
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "displays/menus/defaultmodesettingsmenu.h"
|
||||||
|
#include "displays/menus/tempomatmodesettingsmenu.h"
|
||||||
|
#include "displays/menus/larsmmodesettingsmenu.h"
|
||||||
|
#include "displays/menus/gametrakmodesettingsmenu.h"
|
||||||
|
#include "displays/menus/settingsmenu.h"
|
||||||
|
|
||||||
|
using namespace espgui;
|
||||||
|
|
||||||
|
ModesSettingsMenu::ModesSettingsMenu()
|
||||||
|
{
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DEFAULTMODESETTIGNS>, SwitchScreenAction<DefaultModeSettingsMenu>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_TEMPOMATMODESETTINGS>, SwitchScreenAction<TempomatModeSettingsMenu>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LARSMMODESETTINGS>, SwitchScreenAction<LarsmModeSettingsMenu>>>();
|
||||||
|
#ifdef FEATURE_GAMETRAK
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GAMETRAKMODESETTINGS>, SwitchScreenAction<GametrakModeSettingsMenu>>>();
|
||||||
|
#endif
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ModesSettingsMenu::back()
|
||||||
|
{
|
||||||
|
switchScreen<SettingsMenu>();
|
||||||
|
}
|
||||||
|
@@ -2,29 +2,16 @@
|
|||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "menudisplay.h"
|
#include "menudisplay.h"
|
||||||
#include "menuitem.h"
|
|
||||||
#include "actions/switchscreenaction.h"
|
// local includes
|
||||||
#include "icons/back.h"
|
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
|
|
||||||
using namespace espgui;
|
|
||||||
|
|
||||||
namespace {
|
|
||||||
class ModesSettingsMenu :
|
class ModesSettingsMenu :
|
||||||
public MenuDisplay,
|
public espgui::MenuDisplay,
|
||||||
public StaticText<TEXT_MODESSETTINGS>,
|
public espgui::StaticText<TEXT_MODESSETTINGS>
|
||||||
public BackActionInterface<SwitchScreenAction<SettingsMenu>>
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
ModesSettingsMenu()
|
ModesSettingsMenu();
|
||||||
{
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DEFAULTMODESETTIGNS>, SwitchScreenAction<DefaultModeSettingsMenu>>>();
|
void back() override;
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_TEMPOMATMODESETTINGS>, SwitchScreenAction<TempomatModeSettingsMenu>>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_LARSMMODESETTINGS>, SwitchScreenAction<LarsmModeSettingsMenu>>>();
|
|
||||||
#ifdef FEATURE_GAMETRAK
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_GAMETRAKMODESETTINGS>, SwitchScreenAction<GametrakModeSettingsMenu>>>();
|
|
||||||
#endif
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
} // namespace
|
|
||||||
|
@@ -11,11 +11,6 @@
|
|||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
|
|
||||||
// forward declares
|
|
||||||
namespace {
|
|
||||||
class MainMenu;
|
|
||||||
} // namespace
|
|
||||||
|
|
||||||
using namespace espgui;
|
using namespace espgui;
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
@@ -12,11 +12,6 @@
|
|||||||
#include "presets.h"
|
#include "presets.h"
|
||||||
#include "globals.h"
|
#include "globals.h"
|
||||||
|
|
||||||
// forward declares
|
|
||||||
namespace {
|
|
||||||
class MainMenu;
|
|
||||||
} // namespace
|
|
||||||
|
|
||||||
using namespace espgui;
|
using namespace espgui;
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
@@ -7,11 +7,6 @@
|
|||||||
#include "icons/back.h"
|
#include "icons/back.h"
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
|
|
||||||
// forward declares
|
|
||||||
namespace {
|
|
||||||
class MainMenu;
|
|
||||||
} // namespace
|
|
||||||
|
|
||||||
using namespace espgui;
|
using namespace espgui;
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
@@ -15,11 +15,6 @@
|
|||||||
#include "modes/remotecontrolmode.h"
|
#include "modes/remotecontrolmode.h"
|
||||||
#include "modes/gametrakmode.h"
|
#include "modes/gametrakmode.h"
|
||||||
|
|
||||||
// forward declares
|
|
||||||
namespace {
|
|
||||||
class MainMenu;
|
|
||||||
} // namespace
|
|
||||||
|
|
||||||
using namespace espgui;
|
using namespace espgui;
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
@@ -0,0 +1,48 @@
|
|||||||
|
#include "tempomatmodesettingsmenu.h"
|
||||||
|
|
||||||
|
// 3rdparty lib includes
|
||||||
|
#include "changevaluedisplay.h"
|
||||||
|
#include "menuitem.h"
|
||||||
|
#include "actions/switchscreenaction.h"
|
||||||
|
#include "icons/back.h"
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "utils.h"
|
||||||
|
#include "changevaluedisplay_unifiedmodelmode.h"
|
||||||
|
#include "accessors/settingsaccessors.h"
|
||||||
|
#include "accessors/globalaccessors.h"
|
||||||
|
#include "actions/tempomatmodeapplycurrentpeedaction.h"
|
||||||
|
#include "displays/menus/modessettingsmenu.h"
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
using TempomatModeCruiseMotTgtChangeDisplay = espgui::makeComponent<
|
||||||
|
espgui::ChangeValueDisplay<int16_t>,
|
||||||
|
espgui::StaticText<TEXT_NCRUISEMOTTGT>,
|
||||||
|
TempomatModeCruiseMotTgtAccessor,
|
||||||
|
espgui::BackActionInterface<espgui::SwitchScreenAction<TempomatModeSettingsMenu>>,
|
||||||
|
espgui::SwitchScreenAction<TempomatModeSettingsMenu>
|
||||||
|
>;
|
||||||
|
|
||||||
|
using TempomatModeModelModeChangeScreen = espgui::makeComponent<
|
||||||
|
espgui::ChangeValueDisplay<UnifiedModelMode>,
|
||||||
|
espgui::StaticText<TEXT_MODELMODE>,
|
||||||
|
TempomatModeModelModeAccessor,
|
||||||
|
espgui::BackActionInterface<espgui::SwitchScreenAction<TempomatModeSettingsMenu>>,
|
||||||
|
espgui::SwitchScreenAction<TempomatModeSettingsMenu>
|
||||||
|
>;
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
using namespace espgui;
|
||||||
|
|
||||||
|
TempomatModeSettingsMenu::TempomatModeSettingsMenu()
|
||||||
|
{
|
||||||
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_APPLY, AvgSpeedAccessor>, TempomatModeApplyCurrentSpeedAction>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_NCRUISEMOTTGT, TempomatModeCruiseMotTgtAccessor>, SwitchScreenAction<TempomatModeModelModeChangeScreen>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODELMODE>, SwitchScreenAction<TempomatModeModelModeChangeScreen>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<ModesSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
|
}
|
||||||
|
|
||||||
|
void TempomatModeSettingsMenu::back()
|
||||||
|
{
|
||||||
|
switchScreen<ModesSettingsMenu>();
|
||||||
|
}
|
||||||
|
@@ -1,55 +1,17 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// local includes
|
// 3rdparty lib includes
|
||||||
#include "menudisplay.h"
|
#include "menudisplay.h"
|
||||||
#include "utils.h"
|
|
||||||
#include "changevaluedisplay.h"
|
// local includes
|
||||||
#include "changevaluedisplay_unifiedmodelmode.h"
|
|
||||||
#include "menuitem.h"
|
|
||||||
#include "actions/switchscreenaction.h"
|
|
||||||
#include "icons/back.h"
|
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
#include "accessors/settingsaccessors.h"
|
|
||||||
#include "accessors/globalaccessors.h"
|
|
||||||
#include "actions/tempomatmodeapplycurrentpeedaction.h"
|
|
||||||
|
|
||||||
// forward declares
|
|
||||||
namespace {
|
|
||||||
class TempomatModeSettingsMenu;
|
|
||||||
class ModesSettingsMenu;
|
|
||||||
} // namespace
|
|
||||||
|
|
||||||
using namespace espgui;
|
|
||||||
|
|
||||||
namespace {
|
|
||||||
using DefaultModeCruiseMotTgtChangeDisplay = makeComponent<
|
|
||||||
ChangeValueDisplay<int16_t>,
|
|
||||||
StaticText<TEXT_NCRUISEMOTTGT>,
|
|
||||||
TempomatModeCruiseMotTgtAccessor,
|
|
||||||
BackActionInterface<SwitchScreenAction<DefaultModeSettingsMenu>>,
|
|
||||||
SwitchScreenAction<DefaultModeSettingsMenu>
|
|
||||||
>;
|
|
||||||
|
|
||||||
using TempomatModeModelModeChangeScreen = makeComponent<
|
|
||||||
ChangeValueDisplay<UnifiedModelMode>,
|
|
||||||
StaticText<TEXT_MODELMODE>,
|
|
||||||
TempomatModeModelModeAccessor,
|
|
||||||
BackActionInterface<SwitchScreenAction<TempomatModeSettingsMenu>>,
|
|
||||||
SwitchScreenAction<TempomatModeSettingsMenu>
|
|
||||||
>;
|
|
||||||
|
|
||||||
class TempomatModeSettingsMenu :
|
class TempomatModeSettingsMenu :
|
||||||
public MenuDisplay,
|
public espgui::MenuDisplay,
|
||||||
public StaticText<TEXT_TEMPOMATMODESETTINGS>,
|
public espgui::StaticText<TEXT_TEMPOMATMODESETTINGS>
|
||||||
public BackActionInterface<SwitchScreenAction<ModesSettingsMenu>>
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
TempomatModeSettingsMenu()
|
TempomatModeSettingsMenu();
|
||||||
{
|
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_APPLY, AvgSpeedAccessor>, TempomatModeApplyCurrentSpeedAction>>();
|
void back() override;
|
||||||
constructMenuItem<makeComponent<MenuItem, TextWithValueHelper<TEXT_NCRUISEMOTTGT, TempomatModeCruiseMotTgtAccessor>, SwitchScreenAction<TempomatModeModelModeChangeScreen>>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_MODELMODE>, SwitchScreenAction<TempomatModeModelModeChangeScreen>>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<ModesSettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
} // namespace
|
|
||||||
|
@@ -0,0 +1,103 @@
|
|||||||
|
#include "timesettingsmenu.h"
|
||||||
|
|
||||||
|
// 3rdparty lib includes
|
||||||
|
#include <espchrono.h>
|
||||||
|
#include <fmt/core.h>
|
||||||
|
#include "changevaluedisplay.h"
|
||||||
|
#include "changevaluedisplay_daylightsavingmode.h"
|
||||||
|
#include "changevaluedisplay_sntp_sync_mode_t.h"
|
||||||
|
#include "actions/toggleboolaction.h"
|
||||||
|
#include "actions/switchscreenaction.h"
|
||||||
|
#include "actions/dummyaction.h"
|
||||||
|
#include "checkboxicon.h"
|
||||||
|
#include "icons/back.h"
|
||||||
|
#include "espstrutils.h"
|
||||||
|
|
||||||
|
// local includes
|
||||||
|
#include "utils.h"
|
||||||
|
#include "accessors/settingsaccessors.h"
|
||||||
|
#include "displays/menus/settingsmenu.h"
|
||||||
|
|
||||||
|
class CurrentUtcDateTimeText : public virtual espgui::TextInterface
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
std::string text() const override
|
||||||
|
{
|
||||||
|
return fmt::format("utc: {}", espchrono::toString(espchrono::toDateTime(espchrono::utc_clock::now())));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
class CurrentLocalDateTimeText : public virtual espgui::TextInterface
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
std::string text() const override
|
||||||
|
{
|
||||||
|
return fmt::format("local: {}", espchrono::toString(espchrono::toDateTime(espchrono::local_clock::now())));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
using TimezoneOffsetChangeDisplay = espgui::makeComponent<
|
||||||
|
espgui::ChangeValueDisplay<int32_t>,
|
||||||
|
espgui::StaticText<TEXT_OFFSET>,
|
||||||
|
TimezoneOffsetAccessor,
|
||||||
|
espgui::BackActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>,
|
||||||
|
espgui::SwitchScreenAction<TimeSettingsMenu>
|
||||||
|
>;
|
||||||
|
|
||||||
|
using DaylightSavingModeChangeDisplay = espgui::makeComponent<
|
||||||
|
espgui::ChangeValueDisplay<espchrono::DayLightSavingMode>,
|
||||||
|
espgui::StaticText<TEXT_DAYLIGHTSAVINGMODE>,
|
||||||
|
DaylightSavingModeAccessor,
|
||||||
|
espgui::BackActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>,
|
||||||
|
espgui::SwitchScreenAction<TimeSettingsMenu>
|
||||||
|
>;
|
||||||
|
|
||||||
|
#ifdef FEATURE_NTP
|
||||||
|
using TimeSyncModeChangeDisplay = espgui::makeComponent<
|
||||||
|
espgui::ChangeValueDisplay<sntp_sync_mode_t>,
|
||||||
|
espgui::StaticText<TEXT_NTPMODE>,
|
||||||
|
TimeSyncModeAccessor,
|
||||||
|
espgui::BackActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>,
|
||||||
|
espgui::SwitchScreenAction<TimeSettingsMenu>
|
||||||
|
>;
|
||||||
|
|
||||||
|
using TimeSyncIntervalChangeDisplay = espgui::makeComponent<
|
||||||
|
espgui::ChangeValueDisplay<int32_t>,
|
||||||
|
espgui::StaticText<TEXT_NTPINTERVAL>,
|
||||||
|
TimeSyncIntervalAccessor,
|
||||||
|
espgui::BackActionInterface<espgui::SwitchScreenAction<TimeSettingsMenu>>,
|
||||||
|
espgui::SwitchScreenAction<TimeSettingsMenu>
|
||||||
|
>;
|
||||||
|
|
||||||
|
class NtpSyncStatusText : public virtual espgui::TextInterface
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
std::string text() const override
|
||||||
|
{
|
||||||
|
return fmt::format("Status: {}", espcpputils::toString(sntp_get_sync_status()));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
using namespace espgui;
|
||||||
|
|
||||||
|
TimeSettingsMenu::TimeSettingsMenu()
|
||||||
|
{
|
||||||
|
constructMenuItem<makeComponent<MenuItem, CurrentUtcDateTimeText, StaticFont<2>, DummyAction>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, CurrentLocalDateTimeText, StaticFont<2>, DummyAction>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_OFFSET>, SwitchScreenAction<TimezoneOffsetChangeDisplay>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DAYLIGHTSAVINGMODE>, SwitchScreenAction<DaylightSavingModeChangeDisplay>>>();
|
||||||
|
#ifdef FEATURE_NTP
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NTPENABLED>, ToggleBoolAction, CheckboxIcon, TimeServerEnabledAccessor>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NTPSERVER>, DummyAction>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NTPMODE>, SwitchScreenAction<TimeSyncModeChangeDisplay>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NTPINTERVAL>, SwitchScreenAction<TimeSyncIntervalChangeDisplay>>>();
|
||||||
|
constructMenuItem<makeComponent<MenuItem, NtpSyncStatusText, DummyAction>>();
|
||||||
|
#endif
|
||||||
|
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
||||||
|
}
|
||||||
|
|
||||||
|
void TimeSettingsMenu::back()
|
||||||
|
{
|
||||||
|
switchScreen<SettingsMenu>();
|
||||||
|
}
|
||||||
|
@@ -1,89 +1,17 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// 3rdparty lib includes
|
// 3rdparty lib includes
|
||||||
#include <espchrono.h>
|
#include "menudisplay.h"
|
||||||
#include <fmt/core.h>
|
|
||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "changevaluedisplay.h"
|
|
||||||
#include "changevaluedisplay_daylightsavingmode.h"
|
|
||||||
#include "changevaluedisplay_sntp_sync_mode_t.h"
|
|
||||||
#include "menudisplay.h"
|
|
||||||
#include "utils.h"
|
|
||||||
#include "actions/toggleboolaction.h"
|
|
||||||
#include "actions/switchscreenaction.h"
|
|
||||||
#include "checkboxicon.h"
|
|
||||||
#include "icons/back.h"
|
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
#include "accessors/settingsaccessors.h"
|
|
||||||
#include "espstrutils.h"
|
|
||||||
|
|
||||||
using namespace espgui;
|
|
||||||
|
|
||||||
namespace {
|
|
||||||
class CurrentUtcDateTimeText : public virtual TextInterface { public:
|
|
||||||
std::string text() const override { return fmt::format("utc: {}", espchrono::toString(espchrono::toDateTime(espchrono::utc_clock::now()))); }};
|
|
||||||
|
|
||||||
class CurrentLocalDateTimeText : public virtual TextInterface { public:
|
|
||||||
std::string text() const override { return fmt::format("local: {}", espchrono::toString(espchrono::toDateTime(espchrono::local_clock::now()))); }};
|
|
||||||
|
|
||||||
using TimezoneOffsetChangeDisplay = makeComponent<
|
|
||||||
ChangeValueDisplay<int32_t>,
|
|
||||||
StaticText<TEXT_OFFSET>,
|
|
||||||
TimezoneOffsetAccessor,
|
|
||||||
BackActionInterface<SwitchScreenAction<TimeSettingsMenu>>,
|
|
||||||
SwitchScreenAction<TimeSettingsMenu>
|
|
||||||
>;
|
|
||||||
|
|
||||||
using DaylightSavingModeChangeDisplay = makeComponent<
|
|
||||||
ChangeValueDisplay<espchrono::DayLightSavingMode>,
|
|
||||||
StaticText<TEXT_DAYLIGHTSAVINGMODE>,
|
|
||||||
DaylightSavingModeAccessor,
|
|
||||||
BackActionInterface<SwitchScreenAction<TimeSettingsMenu>>,
|
|
||||||
SwitchScreenAction<TimeSettingsMenu>
|
|
||||||
>;
|
|
||||||
|
|
||||||
#ifdef FEATURE_NTP
|
|
||||||
using TimeSyncModeChangeDisplay = makeComponent<
|
|
||||||
ChangeValueDisplay<sntp_sync_mode_t>,
|
|
||||||
StaticText<TEXT_NTPMODE>,
|
|
||||||
TimeSyncModeAccessor,
|
|
||||||
BackActionInterface<SwitchScreenAction<TimeSettingsMenu>>,
|
|
||||||
SwitchScreenAction<TimeSettingsMenu>
|
|
||||||
>;
|
|
||||||
|
|
||||||
using TimeSyncIntervalChangeDisplay = makeComponent<
|
|
||||||
ChangeValueDisplay<int32_t>,
|
|
||||||
StaticText<TEXT_NTPINTERVAL>,
|
|
||||||
TimeSyncIntervalAccessor,
|
|
||||||
BackActionInterface<SwitchScreenAction<TimeSettingsMenu>>,
|
|
||||||
SwitchScreenAction<TimeSettingsMenu>
|
|
||||||
>;
|
|
||||||
|
|
||||||
class NtpSyncStatusText : public virtual TextInterface { public:
|
|
||||||
std::string text() const override { return fmt::format("Status: {}", espcpputils::toString(sntp_get_sync_status())); }};
|
|
||||||
#endif
|
|
||||||
|
|
||||||
class TimeSettingsMenu :
|
class TimeSettingsMenu :
|
||||||
public MenuDisplay,
|
public espgui::MenuDisplay,
|
||||||
public StaticText<TEXT_TIME>,
|
public espgui::StaticText<TEXT_TIME>
|
||||||
public BackActionInterface<SwitchScreenAction<SettingsMenu>>
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
TimeSettingsMenu()
|
TimeSettingsMenu();
|
||||||
{
|
|
||||||
constructMenuItem<makeComponent<MenuItem, CurrentUtcDateTimeText, StaticFont<2>, DummyAction>>();
|
void back() override;
|
||||||
constructMenuItem<makeComponent<MenuItem, CurrentLocalDateTimeText, StaticFont<2>, DummyAction>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_OFFSET>, SwitchScreenAction<TimezoneOffsetChangeDisplay>>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_DAYLIGHTSAVINGMODE>, SwitchScreenAction<DaylightSavingModeChangeDisplay>>>();
|
|
||||||
#ifdef FEATURE_NTP
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NTPENABLED>, ToggleBoolAction, CheckboxIcon, TimeServerEnabledAccessor>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NTPSERVER>, DummyAction>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NTPMODE>, SwitchScreenAction<TimeSyncModeChangeDisplay>>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_NTPINTERVAL>, SwitchScreenAction<TimeSyncIntervalChangeDisplay>>>();
|
|
||||||
constructMenuItem<makeComponent<MenuItem, NtpSyncStatusText, DummyAction>>();
|
|
||||||
#endif
|
|
||||||
constructMenuItem<makeComponent<MenuItem, StaticText<TEXT_BACK>, SwitchScreenAction<SettingsMenu>, StaticMenuItemIcon<&espgui::icons::back>>>();
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
} // namespace
|
|
||||||
|
@@ -9,10 +9,6 @@
|
|||||||
#include "globals.h"
|
#include "globals.h"
|
||||||
#include "texts.h"
|
#include "texts.h"
|
||||||
|
|
||||||
namespace {
|
|
||||||
class MainMenu;
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
class PoweroffDisplay : public Display, public DummyConfirm, public DummyBack
|
class PoweroffDisplay : public Display, public DummyConfirm, public DummyBack
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user