From 72709189edf800d52fe29eea59880bce28becc82 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Sat, 13 Mar 2021 08:42:18 -0500 Subject: Rendered some menu options #7 --- src/menu.h | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/menu.h (limited to 'src/menu.h') diff --git a/src/menu.h b/src/menu.h new file mode 100644 index 0000000..1b91b88 --- /dev/null +++ b/src/menu.h @@ -0,0 +1,37 @@ +#ifndef MENU_H_3F6E62B3 +#define MENU_H_3F6E62B3 + +#include +#include +#include + +enum class MenuType { + Command +}; + +struct MenuItem { + MenuType type = MenuType::Command; + std::string text; +}; + +class MenuBuilder { +public: + + MenuBuilder& Command(std::string text) { + result_.type = MenuType::Command; + result_.text = std::move(text); + return *this; + } + + MenuItem Build() const { + return result_; + } + +private: + + MenuItem result_; +}; + +std::vector CreateMenu(const std::vector& builders); + +#endif /* end of include guard: MENU_H_3F6E62B3 */ -- cgit 1.4.1