From d01238def9403291528436aae7f0be9bcc8a921c Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sat, 28 May 2022 20:10:00 +0300 Subject: Autocommit at 28.05.2022 @ 20:10 --- src/Generic/ConsoleInterface/Menu.cpp | 90 ++--------------------------------- 1 file changed, 3 insertions(+), 87 deletions(-) (limited to 'src/Generic/ConsoleInterface/Menu.cpp') diff --git a/src/Generic/ConsoleInterface/Menu.cpp b/src/Generic/ConsoleInterface/Menu.cpp index 3ab857e..39084a1 100644 --- a/src/Generic/ConsoleInterface/Menu.cpp +++ b/src/Generic/ConsoleInterface/Menu.cpp @@ -2,81 +2,7 @@ #include "Toolbox.hpp" #include -Menu::Menu() : Menu("Menu", false, false) {} - -/*! \param title C-style string, class stores at most 255 characters (last character is always terminating zero) - * \param backExistsApp Flag whether or not to list the 0-th option as "Exit", rather than "Go Back" - * \param isSubMenu Flag whether or not to show the title as a subTitle or not - */ -Menu::Menu(const char* title, bool backExistsApp, bool isSubMenu) : menuOptions() { - this->backExistsApp = backExistsApp; - this->isSubMenu = isSubMenu; - strncpy(this->title, title, 255); - this->title[255] = '\0'; -} - -/*! \param title C-style string, class stores at most 255 characters (last character is always terminating zero) - * \param backExistsApp Flag whether or not to list the 0-th option as "Exit", rather than "Go Back" - * \param isSubMenu Flag whether or not to show the title as a subTitle or not - * \param commands Pointer to an array of Command instances - * \param commandCount Number of elements that "commands" points to - */ -Menu::Menu(const char* title, bool backExistsApp, bool isSubMenu, const Command* commands, unsigned commandCount) { - this->backExistsApp = backExistsApp; - this->isSubMenu = isSubMenu; - menuOptions = List(commands, commandCount); - strncpy(this->title, title, 255); - this->title[255] = '\0'; -} - -void Menu::addCommand(const Command& command) { - menuOptions.add(command); -} - -enum MessageType { - NoPrint, - Success, - Warning, - Error, -}; -const char* msg; -MessageType msgType; - -/*! \param message C-style string, saves to pointer for later reuse when showing the message. - * - * Stores the message pointer in a global variable (in the cpp file) and - * sets it's type as an Error in another global variable (in the cpp file). - * - * The next time the whole Menu is shown, the message will appear below the title. - */ -void Menu::registerError(const char* message) const { - msg = message; - msgType = Error; -} - -/*! \param message C-style string, saves to pointer for later reuse when showing the message. - * - * Stores the message pointer in a global variable (in the cpp file) and - * sets it's type as a Warning in another global variable (in the cpp file). - * - * The next time the whole Menu is shown, the message will appear below the title. - */ -void Menu::registerWarning(const char* message) const { - msg = message; - msgType = Warning; -} - -/*! \param message C-style string, saves to pointer for later reuse when showing the message. - * - * Stores the message pointer in a global variable (in the cpp file) and - * sets it's type as Success in another global variable (in the cpp file). - * - * The next time the whole Menu is shown, the message will appear below the title. - */ -void Menu::registerSuccess(const char* message) const { - msg = message; - msgType = Success; -} +Menu::Menu() : menuOptions() {} /*! * Prints the title, then an Error/Warning/Sucess message (if set), @@ -100,18 +26,8 @@ void Menu::navigate() const { while (buffer != 0) { clear(); - if (isSubMenu) - subTitleBox(title); - else - titleBox(title); - - switch(msgType) { - case Error: errorBox(msg); msgType = NoPrint; break; - case Warning: warningBox(msg); msgType = NoPrint; break; - case Success: successBox(msg); msgType = NoPrint; break; - case NoPrint: printLine(""); break; - } - printLine(""); + print("> "); + readLine(); resetOrderedList(0); if (backExistsApp) -- cgit v1.3.1-23-gd82d