diff options
Autocommit at 05.05.2022 @ 18:03
4 files changed, 15 insertions, 2 deletions
| -rw-r--r-- | src/ConsoleInterface/Menu.cpp | 11 | ||||
| -rw-r--r-- | src/ConsoleInterface/Menu.h | 1 | ||||
| -rw-r--r-- | src/String/String.cpp | 4 | ||||
| -rw-r--r-- | src/String/String.h | 1 |
diff --git a/src/ConsoleInterface/Menu.cpp b/src/ConsoleInterface/Menu.cpp index 4112ed2..07be42e 100644 --- a/src/ConsoleInterface/Menu.cpp +++ b/src/ConsoleInterface/Menu.cpp @@ -17,6 +17,14 @@ void Menu::addCommand(const Command& command) { menuOptions.add(command); } +bool error = false; +String errMessage; + +void Menu::registerError(const char* message) { + error = true; + errMessage = message; +} + void Menu::navigate() const { if (menuOptions.get_count() == 0) { printLine("Menu is empty!"); @@ -24,7 +32,6 @@ void Menu::navigate() const { } unsigned buffer = 1; // We immedeately read the value of buffer, so this is fine - bool error = false; while (buffer != 0) { printTitle(title); @@ -35,7 +42,7 @@ void Menu::navigate() const { printOrderedListElem(menuOptions[i].get_nameInMenu()); if (error) { - printError("Invalid menu option!"); + printError(errMessage.get_cstr()); error = false; } diff --git a/src/ConsoleInterface/Menu.h b/src/ConsoleInterface/Menu.h index 3ee4b0b..a4ee3c6 100644 --- a/src/ConsoleInterface/Menu.h +++ b/src/ConsoleInterface/Menu.h @@ -14,6 +14,7 @@ public: Menu(const char* title, const Command* commands, unsigned commandCount); void addCommand(const Command& command); + void registerError(const char* message); void navigate() const; }; diff --git a/src/String/String.cpp b/src/String/String.cpp index 61f577f..055f48e 100644 --- a/src/String/String.cpp +++ b/src/String/String.cpp @@ -21,6 +21,10 @@ String::String(const char* str) { strcpy(this->str, str); } +const char* String::get_cstr() const { + return str; +} + String::String() : String("") {} String::String(const String& other) { diff --git a/src/String/String.h b/src/String/String.h index b205c60..85bb284 100644 --- a/src/String/String.h +++ b/src/String/String.h @@ -10,6 +10,7 @@ class String { public: String(const char* str); + const char* get_cstr() const; String(); String(const String& other); |
