- 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);
+ m_fileName += ext;
+ }
+}
+
+// ----------------------------------------------------------------------------
+// global functions
+// ----------------------------------------------------------------------------
+
+wxString wxFileSelector( const char *title,
+ const char *defaultDir, const char *defaultFileName,
+ const char *defaultExtension, const char *filter, int flags,
+ wxWindow *parent, int x, int y )
+{
+ wxString filter2;
+ if ( defaultExtension && !filter )
+ filter2 = wxString("*.") + wxString(defaultExtension) ;
+ else if ( filter )
+ filter2 = filter;
+
+ wxString defaultDirString;
+ if (defaultDir)
+ defaultDirString = defaultDir;
+
+ wxString defaultFilenameString;
+ if (defaultFileName)
+ defaultFilenameString = defaultFileName;
+
+ wxFileDialog fileDialog( parent, title, defaultDirString, defaultFilenameString, filter2, flags, wxPoint(x, y) );
+
+ if ( fileDialog.ShowModal() == wxID_OK )
+ {
+ return fileDialog.GetPath();
+ }
+ else
+ {
+ return wxEmptyString;
+ }
+}
+
+wxString wxLoadFileSelector( const char *what, const char *extension, const char *default_name, wxWindow *parent )