Подведи собственные итоги года совместно с YOUGAME и забери ценные призы! Перейти

Имгуи лист

nixware.cc
Участник
Участник
Статус
Оффлайн
Регистрация
26 Янв 2017
Сообщения
582
Реакции
227
Как сделать такой лист на имгуи?
unknown.png
 
Просто мне нужно туда конфиги засунуть
все просто:

добавляем своеобразный callback
Код:
Expand Collapse Copy
static auto vector_getter = [](void* vec, int idx, const char** out_text)
{
    auto& vector = *static_cast<std::vector<std::string>*>(vec);
    if (idx < 0 || idx >= static_cast<int>(vector.size())) { return false; }
    *out_text = vector.at(idx).c_str();
    return true;
};
обернем все:
Код:
Expand Collapse Copy
bool ListBox(const char* label, int* currIndex, std::vector<std::string>& values)
{
    if (values.empty())
       return false; 
    return ImGui::ListBox(label, currIndex, vector_getter,static_cast<void*>(&values), values.size());
}


теперь помещаем список файлов в контейнер(пример показан тут: https://yougame.biz/threads/33147/) и отрисовываем все в ListBox

Код:
Expand Collapse Copy
static int SelectedValue = 0;

ListBox("Cfg list",&SelectedValue,vNameFileList);

все)) теперь просто вызываешь выбранный тобой фаил:

Код:
Expand Collapse Copy
путь_к_папке_с_cfg + vNameFileList[SelectedValue].c_str();
 
Назад
Сверху Снизу