Website Summary Files Commits Branches @commit @diff @stats
path: root / src / ConsoleInterface / Menu.cpp
diff options
context:
space:
mode:
1 files changed, 23 insertions, 15 deletions
-rw-r--r--src/ConsoleInterface/Menu.cpp38
diff --git a/src/ConsoleInterface/Menu.cpp b/src/ConsoleInterface/Menu.cpp
index 9b4e98e..4ecf236 100644
--- a/src/ConsoleInterface/Menu.cpp
+++ b/src/ConsoleInterface/Menu.cpp
@@ -17,20 +17,28 @@ void Menu::addCommand(const Command& command) {
menuOptions.add(command);
}
-bool error = false;
-String errMessage;
+enum MessageType {
+ NoPrint,
+ Success,
+ Warning,
+ Error,
+};
+String msg;
+MessageType msgType;
void Menu::registerError(const char* message) const {
- error = true;
- errMessage = message;
+ msg = message;
+ msgType = Error;
}
-bool success = false;
-String succMessage;
+void Menu::registerWarning(const char* message) const {
+ msg = message;
+ msgType = Warning;
+}
void Menu::registerSuccess(const char* message) const {
- success = true;
- succMessage = message;
+ msg = message;
+ msgType = Success;
}
void Menu::navigate() const {
@@ -49,13 +57,13 @@ void Menu::navigate() const {
for (unsigned i = 0; i < menuOptions.get_count(); i++)
printOrderedListElem(menuOptions[i].get_nameInMenu());
- if (error) {
- printError(errMessage.get_cstr());
- error = false;
- }
- if (success) {
- printSuccess(succMessage.get_cstr());
- success = false;
+ if (msgType != NoPrint) {
+ switch(msgType) {
+ case Error: printError(msg.get_cstr()); break;
+ case Warning: printWarning(msg.get_cstr()); break;
+ case Success: printSuccess(msg.get_cstr()); break;
+ }
+ msgType = NoPrint;
}
_printInputBoxLabel("Execute No [0-");