#include </home/zeitlin/src/wx/github/interface/wx/filedlg.h>
This class represents the file chooser dialog.
The path and filename are distinct elements of a full file pathname. If path is wxEmptyString, the current directory will be used. If filename is wxEmptyString, no default filename will be supplied. The wildcard determines what files are displayed in the file selector, and file extension supplies a type extension for the required filename.
The typical usage for the open file dialog is:
void MyFrame::OnOpen(wxCommandEvent& WXUNUSED(event)) { if (...current content has not been saved...) { if (wxMessageBox(_("Current content has not been saved!Proceed?"), _("Please confirm"), wxICON_QUESTION | wxYES_NO, this) == wxNO ) return; //else: proceed asking to the user the new file to open } wxFileDialog openFileDialog(this, _("Open XYZ file"), "", "", "XYZ files (*.xyz)|*.xyz", wxFD_OPEN|wxFD_FILE_MUST_EXIST); if (openFileDialog.ShowModal() == wxID_CANCEL) return; // the user changed idea... // proceed loading the file chosen by the user; // this can be done with e.g. wxWidgets input streams: wxFileInputStream input_stream(openFileDialog.GetPath()); if (!input_stream.IsOk()) { wxLogError("Cannot open file '%s'.", openFileDialog.GetPath()); return; } ... }
The typical usage for the save file dialog is instead somewhat simpler:
void MyFrame::OnSaveAs(wxCommandEvent& WXUNUSED(event)) { wxFileDialog saveFileDialog(this, _("Save XYZ file"), "", "", "XYZ files (*.xyz)|*.xyz", wxFD_SAVE|wxFD_OVERWRITE_PROMPT); if (saveFileDialog.ShowModal() == wxID_CANCEL) return; // the user changed idea... // save the current contents in the file; // this can be done with e.g. wxWidgets output streams: wxFileOutputStream output_stream(saveFileDialog.GetPath()); if (!output_stream.IsOk()) { wxLogError("Cannot save current contents in file '%s'.", saveFileDialog.GetPath()); return; } ... }
"BMP and GIF files (*.bmp;*.gif)|*.bmp;*.gif|PNG files (*.png)|*.png"
This class supports the following styles:
wxFD_OPEN
. wxFD_SAVE
. wxFD_OPEN
. wxFD_OPEN
style always behaves as if this style was specified, because it is impossible to choose a file that doesn't exist from a standard OS X file dialog. Public Types | |
typedef wxWindow *(* | ExtraControlCreatorFunction )(wxWindow *) |
The type of function used as an argument for SetExtraControlCreator(). | |
Public Member Functions | |
wxFileDialog (wxWindow *parent, const wxString &message=wxFileSelectorPromptStr, const wxString &defaultDir=wxEmptyString, const wxString &defaultFile=wxEmptyString, const wxString &wildcard=wxFileSelectorDefaultWildcardStr, long style=wxFD_DEFAULT_STYLE, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, const wxString &name=wxFileDialogNameStr) | |
Constructor. | |
virtual | ~wxFileDialog () |
Destructor. | |
virtual wxString | GetDirectory () const |
Returns the default directory. | |
wxWindow * | GetExtraControl () const |
If functions SetExtraControlCreator() and ShowModal() were called, returns the extra window. | |
virtual wxString | GetFilename () const |
Returns the default filename. | |
virtual void | GetFilenames (wxArrayString &filenames) const |
Fills the array filenames with the names of the files chosen. | |
virtual int | GetFilterIndex () const |
Returns the index into the list of filters supplied, optionally, in the wildcard parameter. | |
virtual wxString | GetMessage () const |
Returns the message that will be displayed on the dialog. | |
virtual wxString | GetPath () const |
Returns the full path (directory and filename) of the selected file. | |
virtual void | GetPaths (wxArrayString &paths) const |
Fills the array paths with the full paths of the files chosen. | |
virtual wxString | GetWildcard () const |
Returns the file dialog wildcard. | |
virtual void | SetDirectory (const wxString &directory) |
Sets the default directory. | |
bool | SetExtraControlCreator (ExtraControlCreatorFunction creator) |
Customize file dialog by adding extra window, which is typically placed below the list of files and above the buttons. | |
virtual void | SetFilename (const wxString &setfilename) |
Sets the default filename. | |
virtual void | SetFilterIndex (int filterIndex) |
Sets the default filter index, starting from zero. | |
virtual void | SetMessage (const wxString &message) |
Sets the message that will be displayed on the dialog. | |
virtual void | SetPath (const wxString &path) |
Sets the path (the combined directory and filename that will be returned when the dialog is dismissed). | |
virtual void | SetWildcard (const wxString &wildCard) |
Sets the wildcard, which can contain multiple file types, for example: "BMP files (*.bmp)|*.bmp|GIF files (*.gif)|*.gif". | |
virtual int | ShowModal () |
Shows the dialog, returning wxID_OK if the user pressed OK, and wxID_CANCEL otherwise. |
typedef wxWindow*(* wxFileDialog::ExtraControlCreatorFunction)(wxWindow *) |
The type of function used as an argument for SetExtraControlCreator().
wxFileDialog::wxFileDialog | ( | wxWindow * | parent, |
const wxString & | message = wxFileSelectorPromptStr , |
||
const wxString & | defaultDir = wxEmptyString , |
||
const wxString & | defaultFile = wxEmptyString , |
||
const wxString & | wildcard = wxFileSelectorDefaultWildcardStr , |
||
long | style = wxFD_DEFAULT_STYLE , |
||
const wxPoint & | pos = wxDefaultPosition , |
||
const wxSize & | size = wxDefaultSize , |
||
const wxString & | name = wxFileDialogNameStr |
||
) |
Constructor.
Use ShowModal() to show the dialog.
parent | Parent window. |
message | Message to show on the dialog. |
defaultDir | The default directory, or the empty string. |
defaultFile | The default filename, or the empty string. |
wildcard | A wildcard, such as "*.*" or "BMP files (*.bmp)|*.bmp|GIF files (*.gif)|*.gif". Note that the native Motif dialog has some limitations with respect to wildcards; see the Remarks section above. |
style | A dialog style. See wxFD_* styles for more info. |
pos | Dialog position. Not implemented. |
size | Dialog size. Not implemented. |
name | Dialog name. Not implemented. |
virtual wxFileDialog::~wxFileDialog | ( | ) | [virtual] |
Destructor.
virtual wxString wxFileDialog::GetDirectory | ( | ) | const [virtual] |
Returns the default directory.
wxWindow* wxFileDialog::GetExtraControl | ( | ) | const |
If functions SetExtraControlCreator() and ShowModal() were called, returns the extra window.
Otherwise returns NULL.
virtual wxString wxFileDialog::GetFilename | ( | ) | const [virtual] |
Returns the default filename.
virtual void wxFileDialog::GetFilenames | ( | wxArrayString & | filenames | ) | const [virtual] |
Fills the array filenames with the names of the files chosen.
This function should only be used with the dialogs which have wxFD_MULTIPLE
style, use GetFilename() for the others.
Note that under Windows, if the user selects shortcuts, the filenames include paths, since the application cannot determine the full path of each referenced file by appending the directory containing the shortcuts to the filename.
virtual int wxFileDialog::GetFilterIndex | ( | ) | const [virtual] |
Returns the index into the list of filters supplied, optionally, in the wildcard parameter.
Before the dialog is shown, this is the index which will be used when the dialog is first displayed.
After the dialog is shown, this is the index selected by the user.
virtual wxString wxFileDialog::GetMessage | ( | ) | const [virtual] |
Returns the message that will be displayed on the dialog.
virtual wxString wxFileDialog::GetPath | ( | ) | const [virtual] |
Returns the full path (directory and filename) of the selected file.
virtual void wxFileDialog::GetPaths | ( | wxArrayString & | paths | ) | const [virtual] |
Fills the array paths with the full paths of the files chosen.
This function should only be used with the dialogs which have wxFD_MULTIPLE
style, use GetPath() for the others.
virtual wxString wxFileDialog::GetWildcard | ( | ) | const [virtual] |
Returns the file dialog wildcard.
virtual void wxFileDialog::SetDirectory | ( | const wxString & | directory | ) | [virtual] |
Sets the default directory.
bool wxFileDialog::SetExtraControlCreator | ( | ExtraControlCreatorFunction | creator | ) |
Customize file dialog by adding extra window, which is typically placed below the list of files and above the buttons.
SetExtraControlCreator() can be called only once, before calling ShowModal().
The creator
function should take pointer to parent window (file dialog) and should return a window allocated with operator new.
Supported platforms: wxGTK, wxMSW, wxUniv.
virtual void wxFileDialog::SetFilename | ( | const wxString & | setfilename | ) | [virtual] |
Sets the default filename.
In wxGTK this will have little effect unless a default directory has previously been set.
virtual void wxFileDialog::SetFilterIndex | ( | int | filterIndex | ) | [virtual] |
Sets the default filter index, starting from zero.
virtual void wxFileDialog::SetMessage | ( | const wxString & | message | ) | [virtual] |
Sets the message that will be displayed on the dialog.
virtual void wxFileDialog::SetPath | ( | const wxString & | path | ) | [virtual] |
Sets the path (the combined directory and filename that will be returned when the dialog is dismissed).
virtual void wxFileDialog::SetWildcard | ( | const wxString & | wildCard | ) | [virtual] |
Sets the wildcard, which can contain multiple file types, for example: "BMP files (*.bmp)|*.bmp|GIF files (*.gif)|*.gif".
Note that the native Motif dialog has some limitations with respect to wildcards; see the Remarks section above.
virtual int wxFileDialog::ShowModal | ( | ) | [virtual] |
Shows the dialog, returning wxID_OK
if the user pressed OK, and wxID_CANCEL
otherwise.
Reimplemented from wxDialog.