14 virtual void OpenFile(
const std::string& title,
const std::string& defaultPathOrFile,
15 const std::vector<std::string>& filters,
const std::string& filterDescription,
bool allowMultiple) = 0;
17 virtual void SaveFile(
const std::string& title,
const std::string& defaultPathOrFile,
18 const std::vector<std::string>& filters,
const std::string& filterDescription) = 0;
20 virtual void SelectFolder(
const std::string& title,
const std::string& defaultPath) = 0;
28 void SetResult(
const std::string& result);
31 bool m_hasResult =
false;
32 std::string m_result =
"";
38 static std::string
RequestOpenFile(
const std::string& title,
const std::string& defaultPathOrFile,
39 const std::vector<std::string>& filters,
const std::string& filterDescription,
bool allowMultiple);
41 static std::string
RequestSaveFile(
const std::string& title,
const std::string& defaultPathOrFile,
42 const std::vector<std::string>& filters,
const std::string& filterDescription);
44 static std::string
RequestSelectFolder(
const std::string& title,
const std::string& defaultPath);
48 static bool ValidateImpl();
virtual void OpenFile(const std::string &title, const std::string &defaultPathOrFile, const std::vector< std::string > &filters, const std::string &filterDescription, bool allowMultiple)=0
void SetResult(const std::string &result)
virtual ~FileDialogImpl()=default
virtual bool DisplayAndGetResult(std::string &outPath)
std::string ConsumeResult()
virtual void SaveFile(const std::string &title, const std::string &defaultPathOrFile, const std::vector< std::string > &filters, const std::string &filterDescription)=0
virtual void SelectFolder(const std::string &title, const std::string &defaultPath)=0
static std::string RequestSelectFolder(const std::string &title, const std::string &defaultPath)
static std::string RequestOpenFile(const std::string &title, const std::string &defaultPathOrFile, const std::vector< std::string > &filters, const std::string &filterDescription, bool allowMultiple)
static std::string RequestSaveFile(const std::string &title, const std::string &defaultPathOrFile, const std::vector< std::string > &filters, const std::string &filterDescription)
static bool DisplayAndGetResult(std::string &outPath)