Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: AdaFruit_RGBLCDShield MCP23017 mbed RTclock
Fork of MCP_test by
MenuManager.h@13:9641bc42db92, 2014-08-11 (annotated)
- Committer:
- vtraveller
- Date:
- Mon Aug 11 19:11:43 2014 +0000
- Revision:
- 13:9641bc42db92
- Child:
- 17:731a47339cb8
Created a scrollable menu system based on modules to work against the Adafruit RGB LCD library.; Modules can be created and installed as menu items with display, cursor and edit capabilities.
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| vtraveller | 13:9641bc42db92 | 1 | #ifndef __MENUMANAGER_H__ |
| vtraveller | 13:9641bc42db92 | 2 | #define __MENUMANAGER_H__ |
| vtraveller | 13:9641bc42db92 | 3 | |
| vtraveller | 13:9641bc42db92 | 4 | class MenuManager |
| vtraveller | 13:9641bc42db92 | 5 | { |
| vtraveller | 13:9641bc42db92 | 6 | protected: |
| vtraveller | 13:9641bc42db92 | 7 | enum EModes |
| vtraveller | 13:9641bc42db92 | 8 | { |
| vtraveller | 13:9641bc42db92 | 9 | eModeMenu = 0, |
| vtraveller | 13:9641bc42db92 | 10 | eModeSelect, |
| vtraveller | 13:9641bc42db92 | 11 | eModeChange, |
| vtraveller | 13:9641bc42db92 | 12 | eModeLast |
| vtraveller | 13:9641bc42db92 | 13 | }; |
| vtraveller | 13:9641bc42db92 | 14 | |
| vtraveller | 13:9641bc42db92 | 15 | public: |
| vtraveller | 13:9641bc42db92 | 16 | MenuManager |
| vtraveller | 13:9641bc42db92 | 17 | ( |
| vtraveller | 13:9641bc42db92 | 18 | Module ** in_pModules, |
| vtraveller | 13:9641bc42db92 | 19 | size_t in_nModules, |
| vtraveller | 13:9641bc42db92 | 20 | Adafruit_RGBLCDShield & in_cLCD |
| vtraveller | 13:9641bc42db92 | 21 | ); |
| vtraveller | 13:9641bc42db92 | 22 | void loop(); |
| vtraveller | 13:9641bc42db92 | 23 | |
| vtraveller | 13:9641bc42db92 | 24 | protected: |
| vtraveller | 13:9641bc42db92 | 25 | void changeModule(bool in_bUp); |
| vtraveller | 13:9641bc42db92 | 26 | void createChars(); |
| vtraveller | 13:9641bc42db92 | 27 | void initialise(); |
| vtraveller | 13:9641bc42db92 | 28 | void processKeys(uint8_t in_nKeys); |
| vtraveller | 13:9641bc42db92 | 29 | void setCursor |
| vtraveller | 13:9641bc42db92 | 30 | ( |
| vtraveller | 13:9641bc42db92 | 31 | bool in_bCursor, |
| vtraveller | 13:9641bc42db92 | 32 | bool in_bBlink |
| vtraveller | 13:9641bc42db92 | 33 | ); |
| vtraveller | 13:9641bc42db92 | 34 | void showModules(bool in_bRefresh = false); |
| vtraveller | 13:9641bc42db92 | 35 | void showTracking(bool in_bShow); |
| vtraveller | 13:9641bc42db92 | 36 | void updateDisplay(); |
| vtraveller | 13:9641bc42db92 | 37 | |
| vtraveller | 13:9641bc42db92 | 38 | protected: |
| vtraveller | 13:9641bc42db92 | 39 | Module ** m_pModules; |
| vtraveller | 13:9641bc42db92 | 40 | size_t m_nModules; |
| vtraveller | 13:9641bc42db92 | 41 | Adafruit_RGBLCDShield & m_cLCD; |
| vtraveller | 13:9641bc42db92 | 42 | EModes m_eMode; |
| vtraveller | 13:9641bc42db92 | 43 | size_t m_nMenuPos; |
| vtraveller | 13:9641bc42db92 | 44 | size_t m_nIndex; |
| vtraveller | 13:9641bc42db92 | 45 | int m_nCursorX, m_nCursorY; |
| vtraveller | 13:9641bc42db92 | 46 | }; |
| vtraveller | 13:9641bc42db92 | 47 | |
| vtraveller | 13:9641bc42db92 | 48 | #endif /* __MENUMANAGER_H__ */ |
