From 07fbeaaccc82465b5b6eb5c8e435da10ebb369a3 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sun, 1 May 2022 10:16:13 +0300 Subject: Autocommit at 01.05.2022 @ 10:16 --- src/ConsoleInterface/Menu.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'src/ConsoleInterface/Menu.cpp') 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(); + 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(); } -- cgit v1.3.1-23-gd82d