Version: 2.9.4
Public Types | Public Member Functions
wxFileDialog Class Reference

#include </home/zeitlin/src/wx/github/interface/wx/filedlg.h>

Inheritance diagram for wxFileDialog:

Detailed Description

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;
        }
        
        ...
    }
注意:
All implementations of the wxFileDialog provide a wildcard filter. Typing a filename containing wildcards (*, ?) in the filename text item, and clicking on Ok, will result in only those files matching the pattern being displayed. The wildcard may be a specification for multiple types of file with a description for each, such as:
         "BMP and GIF files (*.bmp;*.gif)|*.bmp;*.gif|PNG files (*.png)|*.png"
It must be noted that wildcard support in the native Motif file dialog is quite limited: only one file type is supported, and it is displayed without the descriptive test; "BMP files (*.bmp)|*.bmp" is displayed as "*.bmp", and both "BMP files (*.bmp)|*.bmp|GIF files (*.gif)|*.gif" and "Image files|*.bmp;*.gif" are errors.

Styles

This class supports the following styles:

Library:  wxCore
Category:  Common Dialogs
参照:
wxFileDialog Overview, wxFileSelector()

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.
wxWindowGetExtraControl () 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.

List of all members.


Member Typedef Documentation

The type of function used as an argument for SetExtraControlCreator().

Since:
2.9.0

Constructor & Destructor Documentation

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.

Parameters:
parentParent window.
messageMessage to show on the dialog.
defaultDirThe default directory, or the empty string.
defaultFileThe default filename, or the empty string.
wildcardA 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.
styleA dialog style. See wxFD_* styles for more info.
posDialog position. Not implemented.
sizeDialog size. Not implemented.
nameDialog name. Not implemented.
virtual wxFileDialog::~wxFileDialog ( ) [virtual]

Destructor.


Member Function Documentation

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.

Since:
2.9.0
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.

Since:
2.9.0
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.

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines