Website Summary Files Commits Branches @commit @diff @stats
path: root / src / Generic / ConsoleInterface / Menu.h
blob: 2501871e6a9eecb8a3aaef4e01d2407882c095ed (plain) (blame)
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
#ifndef HEADER_CONSOLEINTERFACE_MENU
#define HEADER_CONSOLEINTERFACE_MENU

#include "Command.h"
#include "../List/List.hpp"

class Menu {
	char title[256];
	List<Command> menuOptions;

	bool backExistsApp;
	bool isSubMenu;

public:
	Menu();
	Menu(const char* title, bool backExistsApp, bool isSubMenu);
	Menu(const char* title, bool backExistsApp, bool isSubMenu, const Command* commands, unsigned commandCount);

	void addCommand(const Command& command);

	void registerError(const char* message) const;
	void registerWarning(const char* message) const;
	void registerSuccess(const char* message) const;
	void navigate() const;
};

#endif