mirror of
https://github.com/meshtastic/firmware.git
synced 2026-01-05 17:40:51 +00:00
47 lines
1.1 KiB
C
47 lines
1.1 KiB
C
|
|
#ifdef MESHTASTIC_INCLUDE_INKHUD
|
||
|
|
|
||
|
|
/*
|
||
|
|
|
||
|
|
One item of a MenuPage, in InkHUD::MenuApplet
|
||
|
|
|
||
|
|
Added to MenuPages in InkHUD::showPage
|
||
|
|
|
||
|
|
- May open a submenu or exit
|
||
|
|
- May perform an action
|
||
|
|
- May toggle a bool value, shown by a checkbox
|
||
|
|
|
||
|
|
*/
|
||
|
|
|
||
|
|
#pragma once
|
||
|
|
|
||
|
|
#include "configuration.h"
|
||
|
|
|
||
|
|
#include "./MenuAction.h"
|
||
|
|
#include "./MenuPage.h"
|
||
|
|
|
||
|
|
namespace NicheGraphics::InkHUD
|
||
|
|
{
|
||
|
|
|
||
|
|
// One item of a MenuPage
|
||
|
|
class MenuItem
|
||
|
|
{
|
||
|
|
public:
|
||
|
|
std::string label;
|
||
|
|
MenuAction action = NO_ACTION;
|
||
|
|
MenuPage nextPage = EXIT;
|
||
|
|
bool *checkState = nullptr;
|
||
|
|
|
||
|
|
// Various constructors, depending on the intended function of the item
|
||
|
|
|
||
|
|
MenuItem(const char *label, MenuPage nextPage) : label(label), nextPage(nextPage) {}
|
||
|
|
MenuItem(const char *label, MenuAction action) : label(label), action(action) {}
|
||
|
|
MenuItem(const char *label, MenuAction action, MenuPage nextPage) : label(label), action(action), nextPage(nextPage) {}
|
||
|
|
MenuItem(const char *label, MenuAction action, MenuPage nextPage, bool *checkState)
|
||
|
|
: label(label), action(action), nextPage(nextPage), checkState(checkState)
|
||
|
|
{
|
||
|
|
}
|
||
|
|
};
|
||
|
|
|
||
|
|
} // namespace NicheGraphics::InkHUD
|
||
|
|
|
||
|
|
#endif
|