diff options
author | Star Rauchenberger <fefferburbia@gmail.com> | 2021-03-13 12:24:05 -0500 |
---|---|---|
committer | Star Rauchenberger <fefferburbia@gmail.com> | 2021-03-13 15:34:50 -0500 |
commit | fce37403bbc29521b2b5bd983291b3730f8ad7b4 (patch) | |
tree | c7bdf0fa62f6d67f85b97a7cda746da31470def2 /src/menu.cpp | |
parent | c6b5e936ff9869d8a3de9ea41db784a4cb46a818 (diff) | |
download | tanetane-fce37403bbc29521b2b5bd983291b3730f8ad7b4.tar.gz tanetane-fce37403bbc29521b2b5bd983291b3730f8ad7b4.tar.bz2 tanetane-fce37403bbc29521b2b5bd983291b3730f8ad7b4.zip |
Added submenus
#7
Diffstat (limited to 'src/menu.cpp')
-rw-r--r-- | src/menu.cpp | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/src/menu.cpp b/src/menu.cpp index 4da4574..cfb0dd6 100644 --- a/src/menu.cpp +++ b/src/menu.cpp | |||
@@ -1,12 +1,25 @@ | |||
1 | #include "menu.h" | 1 | #include "menu.h" |
2 | 2 | ||
3 | std::vector<MenuItem> CreateMenu(const std::vector<MenuBuilder>& builders) { | 3 | Menu::Menu(const std::vector<MenuBuilder>& builders) { |
4 | std::vector<MenuItem> result; | 4 | items_.reserve(builders.size()); |
5 | result.reserve(builders.size()); | ||
6 | 5 | ||
7 | for (const MenuBuilder& builder : builders) { | 6 | for (const MenuBuilder& builder : builders) { |
8 | result.push_back(builder.Build()); | 7 | items_.push_back(builder.Build()); |
9 | } | 8 | } |
9 | } | ||
10 | |||
11 | void Menu::moveCursorUp() { | ||
12 | cursor_--; | ||
10 | 13 | ||
11 | return result; | 14 | if (cursor_ < 0) { |
15 | cursor_ = items_.size() - 1; | ||
16 | } | ||
17 | } | ||
18 | |||
19 | void Menu::moveCursorDown() { | ||
20 | cursor_++; | ||
21 | |||
22 | if (cursor_ >= items_.size()) { | ||
23 | cursor_ = 0; | ||
24 | } | ||
12 | } | 25 | } |