diff options
Autocommit at 01.05.2022 @ 10:16
1 files changed, 13 insertions, 1 deletions
| -rw-r--r-- | src/ConsoleInterface/Menu.cpp | 14 |
diff --git a/src/ConsoleInterface/Menu.cpp b/src/ConsoleInterface/Menu.cpp index 2589f5b..27471a6 100644 --- a/src/ConsoleInterface/Menu.cpp +++ b/src/ConsoleInterface/Menu.cpp @@ -1,10 +1,22 @@ #include "Menu.h" #include "Toolbox.h" +Menu::Menu(const Command* commands, unsigned commandCount) { + menuOptions = List<Command>(); + for (unsigned i = 0; i < commandCount; i++) + menuOptions.add(commands[i]); +} + void Menu::navigate() const { resetOrderedList(); for (unsigned i = 0; i < menuOptions.get_count(); i++) printOrderedListElem(menuOptions[i].get_nameInMenu()); - std::cout << "Execute No [0-" << menuOptions.get_count() << "]: "; + unsigned buffer = 0; + while (0 == buffer || buffer >= menuOptions.get_count()) { + std::cout << "Execute No [0-" << menuOptions.get_count() << "]: "; + std::cin >> buffer; + } + + menuOptions[buffer - 1].run(); } |
