35 lines
634 B
C++
35 lines
634 B
C++
#pragma once
|
|
#include <imgui.h>
|
|
#include <imgui_internal.h>
|
|
#include <stdint.h>
|
|
#include <string>
|
|
|
|
#ifdef _WIN32
|
|
#include <Windows.h>
|
|
#include <ShlObj_core.h>
|
|
#include <thread>
|
|
#endif
|
|
|
|
class FolderSelect {
|
|
public:
|
|
FolderSelect(std::string defaultPath);
|
|
bool render(std::string id);
|
|
void setPath(std::string path);
|
|
bool pathIsValid();
|
|
|
|
std::string expandString(std::string input);
|
|
|
|
std::string path = "";
|
|
|
|
|
|
private:
|
|
#ifdef _WIN32
|
|
void windowsWorker();
|
|
std::thread workerThread;
|
|
#endif
|
|
|
|
bool pathValid = false;
|
|
bool dialogOpen = false;
|
|
char strPath[2048];
|
|
bool pathChanged = false;
|
|
}; |