OSCR
Open Source Cartridge Reader
Loading...
Searching...
No Matches
OSCR::UI::MenuBase Class Reference

A base interface for handling menus. More...

#include <ui/interfaces.h>

Inheritance diagram for OSCR::UI::MenuBase:
OSCR::UI::MenuRenderer OSCR::UI::FlashTemplateMenu OSCR::UI::IntegerTemplateMenu< T, Enable > OSCR::UI::Menu OSCR::UI::MenuOptionsMenu< optionCount, optionLength >

Public Member Functions

 MenuBase (char const *menuTitle, uint8_t entryCount, MenuMode menuBaseMode, uint8_t entryLength=((uint8_t) 31))
 MenuBase (__FlashStringHelper const *menuTitle, uint8_t entryCount, MenuMode menuBaseMode, uint8_t entryLength=((uint8_t) 31))
Public Member Functions inherited from OSCR::UI::MenuRenderer
 MenuRenderer (char const *menuTitle)
 MenuRenderer (char const *menuTitle, uint16_t entryCount)
 MenuRenderer (__FlashStringHelper const *menuTitle)
 MenuRenderer (__FlashStringHelper const *menuTitle, uint16_t entryCount)
uint16_t getPage ()
uint16_t getPageCount ()
bool isLast ()
uint16_t getPageEntryCount ()
uint16_t getPageEntryOffset ()
uint16_t getEntryIndex ()
void gotoPage (uint16_t page)
void navNext ()
void navPrev ()
void nextPage ()
void prevPage ()
void render ()
uint16_t select ()

Protected Member Functions

void setup ()
bool onConfirm ()
Protected Member Functions inherited from OSCR::UI::MenuRenderer
void navigate (NavDir direction)
void onSelectionChange ()
virtual void onPageChange ()=0

Protected Attributes

MenuMode menuMode
uint8_t entryLengthMax
Protected Attributes inherited from OSCR::UI::MenuRenderer
char title [30] = {}
uint16_t count
uint16_t totalPages
uint16_t pageEntriesLast
uint16_t currentPage = 1
uint16_t selection = 0
bool rendered = false
char pageEntries [((uint8_t) 32)][((uint8_t) 31)]

Detailed Description

A base interface for handling menus.

Create a base menu interface from an array of choices.

Note
Available memory on embedded microcontrollers is limited. You should consider using OSCR::UI::menu() instead of implementing this class directly.

Member Function Documentation

◆ onConfirm()

bool OSCR::UI::MenuBase::onConfirm ( )
protectedvirtual

◆ setup()

void OSCR::UI::MenuBase::setup ( )
protectedvirtual

The documentation for this class was generated from the following files:
  • C:/Developer/Projects/OSCR/oscr-firmware/include/ui/interfaces.h
  • ui/interfaces.cpp