Deluge Firmware 1.3.0
Build date: 2025.06.05
Loading...
Searching...
No Matches
enumeration.h
1#pragma once
2#include "gui/menu_item/value.h"
3
4namespace deluge::gui::menu_item {
5
9class Enumeration : public Value<int32_t> {
10public:
11 using Value::Value;
12 void beginSession(MenuItem* navigatedBackwardFrom) override;
13 void selectEncoderAction(int32_t offset) override;
14 virtual size_t size() = 0;
16 virtual bool wrapAround();
17 void renderInHorizontalMenu(int32_t startX, int32_t width, int32_t startY, int32_t height) override;
18
19protected:
20 void drawPixelsForOled() override = 0;
21 void drawValue() override;
25 virtual void getShortOption(StringBuf&);
26};
27
28} // namespace deluge::gui::menu_item
Definition d_stringbuf.h:16
An enumeration has a fixed number of items, with values from 1 to n (exclusive)
Definition enumeration.h:9
virtual void getShortOption(StringBuf &)
Definition enumeration.cpp:47
void beginSession(MenuItem *navigatedBackwardFrom) override
Begin an editing session with this menu item.
Definition enumeration.cpp:7
virtual bool wrapAround()
Should this menu wrap around?
Definition enumeration.cpp:12
void drawPixelsForOled() override=0
Paints the pixels below the standard title block.
void selectEncoderAction(int32_t offset) override
Handle select encoder movement.
Definition enumeration.cpp:18
Definition value.h:27