From 6c31ce8db2f8b969f030e5d9d04c9ae511333a06 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sun, 8 May 2022 16:12:55 +0300 Subject: Documented ConsoleInterface --- src/Generic/ConsoleInterface/Menu.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/Generic/ConsoleInterface/Menu.h') diff --git a/src/Generic/ConsoleInterface/Menu.h b/src/Generic/ConsoleInterface/Menu.h index 2501871..e0ea685 100644 --- a/src/Generic/ConsoleInterface/Menu.h +++ b/src/Generic/ConsoleInterface/Menu.h @@ -1,9 +1,19 @@ #ifndef HEADER_CONSOLEINTERFACE_MENU #define HEADER_CONSOLEINTERFACE_MENU +/*! \file Menu.h + * \brief Stores the declaration of class Menu + */ + #include "Command.h" #include "../List/List.hpp" +/*! \brief Handles navigation between multiple commands + * + * Shows the title, then below it an Error/Warning/Success message if set, + * lists all command options as an enumerated list, takes command index + * and calls the chosen command's run() function. + */ class Menu { char title[256]; List menuOptions; @@ -12,15 +22,24 @@ class Menu { bool isSubMenu; public: + //! Sets name as "Menu", leaves all flags to false and creates an empty Command list Menu(); + //! Copies title, saves flags and creates and empty Command list Menu(const char* title, bool backExistsApp, bool isSubMenu); + //! Copies title, saves flags and copies commands Menu(const char* title, bool backExistsApp, bool isSubMenu, const Command* commands, unsigned commandCount); + //! Adds a command to the internal Command list void addCommand(const Command& command); + //! Tell Menu to show an error message next time it prints void registerError(const char* message) const; + //! Tell Menu to show a warning message next time it prints void registerWarning(const char* message) const; + //! Tell Menu to show a success message next time it prints void registerSuccess(const char* message) const; + + //! Lists commands and after user input executes an appropriate command run() function void navigate() const; }; -- cgit v1.3.1-23-gd82d