forked from DCC-EX/CommandStation-EX
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmenumanagement.h
78 lines (67 loc) · 1.68 KB
/
menumanagement.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/*
* La Box Project
* MenuManagement Class
* The purpose of this class is to organize the operation menu.
* This is where the actions or choices selected by the user are executed.
*
* @Author : Cedric Bellec
* @Organization : Locoduino.org
*/
#ifndef MENUMANAGEMENT
#define MENUMANAGEMENT
#ifdef USE_HMI
#include "Adafruit_GFX.h"
#include "Adafruit_SSD1306.h"
#include "hmiConfig.h"
class hmi;
class menuObject;
class MenuManagement
{
public:
//----- Members
//----- functions
MenuManagement(hmi* screen);
void begin();
void update();
void BtnUpPressed();
void BtnDownPressed();
void BtnSelectPressed();
void resetMenu();
//----- menu for prog mode
menuObject* trainAddrRead;
menuObject* trainCVRead;
menuObject* trainCVWrite;
menuObject* trainIdent;
menuObject* shuttle;
menuObject* dcMode;
protected:
//----- Members
menuObject* listMenu[50];
menuObject* baseMenu;
menuObject* onOffLine;
menuObject* onOffLineOn;
menuObject* onOffLineOff;
menuObject* lstEvent;
menuObject* info;
menuObject* about;
menuObject* wifiInfo;
menuObject* exCommInfo;
menuObject* reset;
menuObject* resetConfirm;
menuObject* physicalMes;
menuObject* TrainView;
menuObject* V1Train;
menuObject* V2Trains;
menuObject* V3Trains;
int menuState;
menuObject* activeMenu ;
//menuObject* activeMenu_prev ;
Adafruit_SSD1306* display;
byte nbMenuItems;
//----- functions
//void addMenuInList(menuObject* item);
public:
void setMenu(menuObject* menu) { this->menuState = MENUTRAINADDRREAD; this->activeMenu = menu; this->update(); }
};
#endif
#endif