Website Summary Files Commits Branches @commit @diff @stats
path: root / src / ConsoleInterface / Menu.cpp
diff options
context:
space:
mode:
1 files changed, 10 insertions, 11 deletions
-rw-r--r--src/ConsoleInterface/Menu.cpp21
diff --git a/src/ConsoleInterface/Menu.cpp b/src/ConsoleInterface/Menu.cpp
index cfed9fa..9c24d41 100644
--- a/src/ConsoleInterface/Menu.cpp
+++ b/src/ConsoleInterface/Menu.cpp
@@ -17,23 +17,22 @@ void Menu::navigate() const {
return;
}
- resetOrderedList(0);
- printOrderedListElem("Go Back");
- for (unsigned i = 0; i < menuOptions.get_count(); i++)
- printOrderedListElem(menuOptions[i].get_nameInMenu());
+ unsigned buffer = 1; // We immedeately read the value of buffer, so this is fine
- unsigned buffer = 0; // 0 is optionless continue, 1 is exit, others are options
+ while (buffer != 0) {
+ resetOrderedList(0);
+ printOrderedListElem("Go Back");
+ for (unsigned i = 0; i < menuOptions.get_count(); i++)
+ printOrderedListElem(menuOptions[i].get_nameInMenu());
- while (buffer != 1) {
- print("Execute No [0-");
+ _printInputBoxLabel("Execute No [0-");
print(menuOptions.get_count());
print("]: ");
read(buffer);
- buffer++;
- if (buffer - 2 > menuOptions.get_count())
+ if (buffer > menuOptions.get_count())
printError("Invalid menu option!");
- else
- menuOptions[buffer - 2].run();
+ else if (buffer > 0)
+ menuOptions[buffer - 1].run();
}
}