More bugfix + folder selection in recorder

This commit is contained in:
Ryzerth
2020-12-05 22:42:12 +01:00
parent 92b77904f6
commit 9b8c1a3072
17 changed files with 76 additions and 30 deletions

View File

@ -0,0 +1,43 @@
#include <gui/widgets/menu.h>
#include <imgui/imgui.h>
Menu::Menu() {
}
void Menu::registerEntry(std::string name, void (*drawHandler)(void* ctx), void* ctx) {
MenuItem_t item;
item.drawHandler = drawHandler;
item.ctx = ctx;
items[name] = item;
if (!isInOrderList(name)) {
order.push_back(name);
}
}
void Menu::removeEntry(std::string name) {
items.erase(name);
}
void Menu::draw() {
MenuItem_t item;
for (std::string name : order) {
if (items.find(name) == items.end()) {
continue;
}
item = items[name];
if (ImGui::CollapsingHeader(name.c_str(), ImGuiTreeNodeFlags_DefaultOpen)) {
item.drawHandler(item.ctx);
ImGui::Spacing();
}
}
}
bool Menu::isInOrderList(std::string name) {
for (std::string _name : order) {
if (_name == name) {
return true;
}
}
return false;
}