#pragma once #include #include #include #include #include #include class FileSelect { public: FileSelect(std::string defaultPath, std::vector filter = { "All Files", "*" }); bool render(std::string id); void setPath(std::string path, bool markChanged = false); bool pathIsValid(); std::string expandString(std::string input); std::string path = ""; private: void worker(); std::thread workerThread; std::vector _filter; std::string root = ""; bool pathValid = false; bool dialogOpen = false; char strPath[2048]; bool pathChanged = false; };