diff options
Autocommit at 05.05.2022 @ 14:53
3 files changed, 9 insertions, 6 deletions
| -rw-r--r-- | src/ConsoleInterface/Menu.cpp | 7 | ||||
| -rw-r--r-- | src/ConsoleInterface/Toolbox.cpp | 4 | ||||
| -rw-r--r-- | src/ConsoleInterface/Toolbox.hpp | 4 |
diff --git a/src/ConsoleInterface/Menu.cpp b/src/ConsoleInterface/Menu.cpp index bf746e4..cfed9fa 100644 --- a/src/ConsoleInterface/Menu.cpp +++ b/src/ConsoleInterface/Menu.cpp @@ -29,8 +29,11 @@ void Menu::navigate() const { print(menuOptions.get_count()); print("]: "); read(buffer); + buffer++; - if (++buffer > 0) - menuOptions[buffer - 1].run(); + if (buffer - 2 > menuOptions.get_count()) + printError("Invalid menu option!"); + else + menuOptions[buffer - 2].run(); } } diff --git a/src/ConsoleInterface/Toolbox.cpp b/src/ConsoleInterface/Toolbox.cpp index 84842e4..20f07db 100644 --- a/src/ConsoleInterface/Toolbox.cpp +++ b/src/ConsoleInterface/Toolbox.cpp @@ -10,12 +10,12 @@ void _printOrderedListBeginning() { std::cout << orderedListIndex++ << ". "; } -void inputBoxLabel(const char* label) { +void _printInputBoxLabel(const char* label) { std::cout << "+ " << label; } void inputLineBox(const char* label, char* output, unsigned maxWidth) { - inputBoxLabel(label); + _printInputBoxLabel(label); std::cin.getline(output, maxWidth); } diff --git a/src/ConsoleInterface/Toolbox.hpp b/src/ConsoleInterface/Toolbox.hpp index 1d360cb..b75b597 100644 --- a/src/ConsoleInterface/Toolbox.hpp +++ b/src/ConsoleInterface/Toolbox.hpp @@ -46,11 +46,11 @@ void printOrderedListElem(const T& elem) { void resetOrderedList(int starter = 1); -void inputBoxLabel(const char* label); +void _printInputBoxLabel(const char* label); template <typename T> void inputBox(const char* label, T* output) { - inputBoxLabel(label); + _printInputBoxLabel(label); std::cin >> *output; } |
