Website Summary Files Commits Branches @commit @diff @stats
path: root / src / ConsoleInterface / Menu.cpp
diff options
context:
space:
mode:
1 files changed, 0 insertions, 90 deletions
-rw-r--r--src/ConsoleInterface/Menu.cpp90
diff --git a/src/ConsoleInterface/Menu.cpp b/src/ConsoleInterface/Menu.cpp
deleted file mode 100644
index 0b27d48..0000000
--- a/src/ConsoleInterface/Menu.cpp
+++ /dev/null
@@ -1,90 +0,0 @@
-#include "Menu.h"
-#include "Toolbox.hpp"
-#include <cstring>
-
-Menu::Menu() : Menu("Menu", false, false) {}
-
-Menu::Menu(const char* title, bool backExistsApp, bool isSubMenu) : menuOptions() {
- this->backExistsApp = backExistsApp;
- this->isSubMenu = isSubMenu;
- strcpy(this->title, title);
-}
-
-Menu::Menu(const char* title, bool backExistsApp, bool isSubMenu, const Command* commands, unsigned commandCount) {
- this->backExistsApp = backExistsApp;
- this->isSubMenu = isSubMenu;
- menuOptions = List<Command>(commands, commandCount);
- strcpy(this->title, title);
-}
-
-void Menu::addCommand(const Command& command) {
- menuOptions.add(command);
-}
-
-enum MessageType {
- NoPrint,
- Success,
- Warning,
- Error,
-};
-String msg;
-MessageType msgType;
-
-void Menu::registerError(const char* message) const {
- msg = message;
- msgType = Error;
-}
-
-void Menu::registerWarning(const char* message) const {
- msg = message;
- msgType = Warning;
-}
-
-void Menu::registerSuccess(const char* message) const {
- msg = message;
- msgType = Success;
-}
-
-void Menu::navigate() const {
- if (menuOptions.get_count() == 0) {
- printLine("Menu is empty!");
- return;
- }
-
- unsigned buffer = 1; // We immedeately read the value of buffer, so this is fine
-
- while (buffer != 0) {
- clear();
- if (isSubMenu)
- subTitleBox(title);
- else
- titleBox(title);
-
- switch(msgType) {
- case Error: errorBox(msg.get_cstr()); msgType = NoPrint; break;
- case Warning: warningBox(msg.get_cstr()); msgType = NoPrint; break;
- case Success: successBox(msg.get_cstr()); msgType = NoPrint; break;
- case NoPrint: printLine(""); break;
- }
- printLine("");
-
- resetOrderedList(0);
- if (backExistsApp)
- printOrderedListElem("Exit");
- else
- printOrderedListElem("Go Back");
-
- for (unsigned i = 0; i < menuOptions.get_count(); i++)
- printOrderedListElem(menuOptions[i].get_nameInMenu());
-
- _printInputBoxLabel("Execute No [0-");
- print(menuOptions.get_count());
- print("]: ");
- read(buffer);
-
- if (buffer > menuOptions.get_count())
- registerError("Invalid menu option!");
- else if (buffer > 0)
- menuOptions[buffer - 1].run();
- }
-}