1 #include <Interface/Menu/MenuAlphabetic.hpp> 2 #include <Misc/Utils.hpp> 3 #include <Flow/InputManager.hpp> 7 MenuAlphabetic::MenuAlphabetic(
int x,
int y,
int width,
int height):
8 Menu(x, y, width, height)
16 return Utils::String::caseInsensitiveSmallerString(x->
label, y->
label);
31 std::vector<MenuItem*>::iterator firstItem = this->item.begin();
35 for (
size_t i = 0; i < (this->item.size()); i++)
36 if (this->item[i] == NULL)
43 std::sort(firstItem + 1,
52 void MenuAlphabetic::handleInput()
58 char key = std::tolower(InputManager::pressedKey);
60 if (key >=
'a' && key <=
'z')
65 int startingIndex = 0;
67 for (
size_t i = 0; i < this->item.size(); i++)
68 if (this->item[i] == NULL)
76 for (
size_t i = startingIndex + 1; i < this->item.size(); i++)
77 if (std::tolower(this->item[i]->label[0]) == key)
90 int startingIndex = 0;
92 for (
size_t i = 0; i < this->item.size(); i++)
93 if (this->item[i] == NULL)
int between(int min, int max)
Random number between min and max.