- wxString filter2("");
- if ( defaultExtension && !filter )
- filter2 = wxString("*.") + wxString(defaultExtension) ;
- else if ( filter )
- filter2 = filter;
-
- wxString defaultDirString;
- if (defaultDir)
- defaultDirString = defaultDir;
- else
- defaultDirString = "";
-
- wxString defaultFilenameString;
- if (defaultFileName)
- defaultFilenameString = defaultFileName;
- else
- defaultFilenameString = "";
-
- wxFileDialog fileDialog(parent, title, defaultDirString, defaultFilenameString,
- filter2, flags, wxPoint(x, y));
-
- if ( fileDialog.ShowModal() == wxID_OK )
- {
- strcpy(wxBuffer, (const char *)fileDialog.GetPath());
- return wxBuffer;
- }
- else
- return NULL;
-};
-
-char* wxLoadFileSelector(const char *what, const char *extension, const char *default_name,
- wxWindow *parent )
+ // not only set the full path but also update filename and dir
+ m_path = path;
+ if ( !!path )
+ {
+ wxString ext;
+ wxSplitPath(path, &m_dir, &m_fileName, &ext);
+ if (!ext.IsEmpty())
+ {
+ m_fileName += wxT(".");
+ m_fileName += ext;
+ }
+ }
+}
+
+// ----------------------------------------------------------------------------
+// global functions
+// ----------------------------------------------------------------------------
+
+wxString
+wxFileSelectorEx(const wxChar *message,
+ const wxChar *default_path,
+ const wxChar *default_filename,
+ int *indexDefaultExtension,
+ const wxChar *wildcard,
+ int flags,
+ wxWindow *parent,
+ int x, int y)
+{
+ // TODO: implement this somehow
+ return wxFileSelector(message, default_path, default_filename, wxT(""),
+ wildcard, flags, parent, x, y);
+}
+
+wxString wxFileSelector( const wxChar *title,
+ const wxChar *defaultDir, const wxChar *defaultFileName,
+ const wxChar *defaultExtension, const wxChar *filter, int flags,
+ wxWindow *parent, int x, int y )