1 #ifndef NEO_FILEDIALOG_H
2 #define NEO_FILEDIALOG_H
11 FD_FILEMUSTEXIST = 0x00000001,
12 FD_PATHMUSTEXIST = 0x00000002,
13 FD_FORCEFILESYSTEM = 0x00000004,
14 FD_CREATEPROMPT = 0x00000008,
15 FD_OVERWRITEPROMPT = 0x00000010,
16 FD_STRICTFILETYPES = 0x00000020,
17 FD_KEEPWORKINGDIR = 0x00000040,
18 FD_NOVALIDATE = 0x00000080,
19 FD_ALLOWMULTISELECT = 0x00000100,
20 FD_NOREADONLYRETURN = 0x00000200,
34 typedef DWORD FD_FLAGS;
42 FileTypeFilter& Add(
const tstring& type,
const tstring& description);
43 size_t GetCount()
const {
return _filter.size(); }
44 const tstring& GetType(
size_t i)
const {
return _filter[i].first; }
45 const tstring& GetDescription(
size_t i)
const {
return _filter[i].second; }
47 std::vector<std::pair<tstring, tstring>> _filter;
59 virtual tstring GetResult() = 0;
60 virtual std::vector<tstring> GetResults() = 0;
97 FD_FLAGS _removedFlags;
99 UINT _fileFilterIndex;
125 HWND GetParentHandle()
const {
return _parent; }
126 FileDialogEvents* GetEvents()
const {
return _events; }
132 const tstring&
GetResult()
const {
return resultFiles.front(); }
135 const std::vector<tstring>&
GetResults()
const {
return resultFiles; }
141 void ChangeFlags(FD_FLAGS add, FD_FLAGS
remove = 0);
156 void SetTitle(
const tstring& title);
172 const GUID* _identifier;
174 std::vector<tstring> resultFiles;
void SetDefaultExtension(const tstring &ext)
Default extension will be appended to the result if no extension is present.
Definition: FileDialog.inl:405
void ChangeFlags(FD_FLAGS add, FD_FLAGS remove=0)
Add or remove flags from the dialog.
Definition: FileDialog.inl:374
FileDialog(HWND parent, FileDialogEvents *events=0)
Definition: FileDialog.inl:335
const FileDialogOptions & GetOptions() const
Get one solid block of options.
Definition: FileDialog.h:162
void SetFolder(const tstring &folder)
Overrides the default starting folder.
Definition: FileDialog.inl:395
Definition: FileDialog.h:54
MODE
Definition: FileDialog.h:86
const std::vector< tstring > & GetResults() const
Retrieves multiple result after ShowModal() has finished. Only for OpenFileDialog().
Definition: FileDialog.h:135
Definition: FileDialog.h:199
Definition: FileDialog.h:189
void SetFilename(const tstring &filename)
Filename inside the textbox of the dialog.
Definition: FileDialog.inl:390
int ShowModal()
The dialog is created here.
Definition: FileDialog.inl:349
const GUID * GetIdentifier() const
The file dialog can remember different starting directories based on the identifier.
Definition: FileDialog.h:122
virtual void OnInitIFileDialog(IFileDialog *dialog)
Definition: FileDialog.h:167
void SetTitle(const tstring &title)
Title text of the dialog.
Definition: FileDialog.inl:400
Definition: FileDialog.h:39
Definition: FileDialog.h:109
void SetMode(FileDialogOptions::MODE mode)
Switch the general operation mode. Will be used by subclasses on construction.
Definition: FileDialog.inl:369
void SetFilterIndex(UINT index)
Index corresponds to the filter from SetFilter()
Definition: FileDialog.inl:385
Definition: FileDialog.h:179
Definition: FileDialog.h:80
const tstring & GetResult() const
Retrieves the result after ShowModal() has finished.
Definition: FileDialog.h:132
virtual bool OnFileOk(FileDialog *dialog, ActiveFileDialogIF *dialogImpl)
Definition: FileDialog.h:77
void SetFilter(const FileTypeFilter &filter)
Sets a filter for the allowed file types in the dialog.
Definition: FileDialog.inl:380
select a directory
Definition: FileDialog.h:90
Definition: FileDialog.h:69
select a file to save
Definition: FileDialog.h:89
select a file to open
Definition: FileDialog.h:88
void SetIdentifier(REFGUID id)
The file dialog can remember different starting directories based on the identifier.
Definition: FileDialog.inl:344