1 ///////////////////////////////////////////////////////////////////////////// 
   3 // Purpose:     interface of wxFilePickerCtrl 
   4 // Author:      wxWidgets team 
   6 // Licence:     wxWindows license 
   7 ///////////////////////////////////////////////////////////////////////////// 
  10     @class wxFilePickerCtrl 
  12     This control allows the user to select a file. The generic implementation is 
  13     a button which brings up a wxFileDialog when clicked. Native implementation 
  14     may differ but this is usually a (small) widget which give access to the 
  16     It is only available if @c wxUSE_FILEPICKERCTRL is set to 1 (the default). 
  19     @style{wxFLP_DEFAULT_STYLE} 
  20            The default style: includes wxFLP_OPEN | wxFLP_FILE_MUST_EXIST and, 
  21            under wxMSW only, wxFLP_USE_TEXTCTRL. 
  22     @style{wxFLP_USE_TEXTCTRL} 
  23            Creates a text control to the left of the picker button which is 
  24            completely managed by the wxFilePickerCtrl and which can be used by 
  25            the user to specify a path (see SetPath). The text control is 
  26            automatically synchronized with button's value. Use functions 
  27            defined in wxPickerBase to modify the text control. 
  29            Creates a picker which allows the user to select a file to open. 
  31            Creates a picker which allows the user to select a file to save. 
  32     @style{wxFLP_OVERWRITE_PROMPT} 
  33            Can be combined with wxFLP_SAVE only: ask confirmation to the user 
  34            before selecting a file. 
  35     @style{wxFLP_FILE_MUST_EXIST} 
  36            Can be combined with wxFLP_OPEN only: the selected file must be an 
  38     @style{wxFLP_CHANGE_DIR} 
  39            Change current working directory on each user file selection change. 
  43     @beginEventTable{wxFileDirPickerEvent} 
  44     @event{EVT_FILEPICKER_CHANGED(id, func)} 
  45         The user changed the file selected in the control either using the 
  46         button or using text control (see wxFLP_USE_TEXTCTRL; note that in 
  47         this case the event is fired only if the user's input is valid, 
  48         e.g. an existing file path if wxFLP_FILE_MUST_EXIST was given). 
  53     @appearance{filepickerctrl.png} 
  55     @see wxFileDialog, wxFileDirPickerEvent 
  57 class wxFilePickerCtrl 
: public wxPickerBase
 
  61         Initializes the object and calls Create() with 
  64     wxFilePickerCtrl(wxWindow
* parent
, wxWindowID id
, 
  65                      const wxString
& path 
= wxEmptyString
, 
  66                      const wxString
& message 
= wxFileSelectorPromptStr
, 
  67                      const wxString
& wildcard 
= wxFileSelectorDefaultWildcardStr
, 
  68                      const wxPoint
& pos 
= wxDefaultPosition
, 
  69                      const wxSize
& size 
= wxDefaultSize
, 
  70                      long style 
= wxFLP_DEFAULT_STYLE
, 
  71                      const wxValidator
& validator 
= wxDefaultValidator
, 
  72                      const wxString
& name 
= wxFilePickerCtrlNameStr
); 
  75         Creates this widget with the given parameters. 
  78             Parent window, must not be non-@NULL. 
  80             The identifier for the control. 
  82             The initial file shown in the control. Must be a valid path to a file or 
  85             The message shown to the user in the wxFileDialog shown by the control. 
  87             A wildcard which defines user-selectable files (use the same syntax as for 
  88             wxFileDialog's wildcards). 
  94             The window style, see wxFLP_* flags. 
  96             Validator which can be used for additional data checks. 
 100         @return @true if the control was successfully created or @false if 
 103     bool Create(wxWindow
* parent
, wxWindowID id
, 
 104                 const wxString
& path 
= wxEmptyString
, 
 105                 const wxString
& message 
= wxFileSelectorPromptStr
, 
 106                 const wxString
& wildcard 
= wxFileSelectorDefaultWildcardStr
, 
 107                 const wxPoint
& pos 
= wxDefaultPosition
, 
 108                 const wxSize
& size 
= wxDefaultSize
, 
 109                 long style 
= wxFLP_DEFAULT_STYLE
, 
 110                 const wxValidator
& validator 
= wxDefaultValidator
, 
 111                 const wxString
& name 
= wxFilePickerCtrlNameStr
); 
 114         Similar to GetPath() but returns the path of the currently selected 
 115         file as a wxFileName object. 
 117     wxFileName 
GetFileName() const; 
 120         Returns the absolute path of the currently selected file. 
 122     wxString 
GetPath() const; 
 125         This method does the same thing as SetPath() but takes a wxFileName 
 126         object instead of a string. 
 128     void SetFileName(const wxFileName
& filename
); 
 131         Sets the absolute path of the currently selected file. 
 132         This must be a valid file if the @c wxFLP_FILE_MUST_EXIST style was given. 
 134     void SetPath(const wxString
& filename
); 
 140     @class wxDirPickerCtrl 
 142     This control allows the user to select a directory. The generic implementation 
 143     is a button which brings up a wxDirDialog when clicked. Native implementation 
 144     may differ but this is usually a (small) widget which give access to the 
 146     It is only available if @c wxUSE_DIRPICKERCTRL is set to 1 (the default). 
 149     @style{wxDIRP_DEFAULT_STYLE} 
 150            The default style: includes wxDIRP_DIR_MUST_EXIST and, under wxMSW 
 151            only, wxDIRP_USE_TEXTCTRL. 
 152     @style{wxDIRP_USE_TEXTCTRL} 
 153            Creates a text control to the left of the picker button which is 
 154            completely managed by the wxDirPickerCtrl and which can be used by 
 155            the user to specify a path (see SetPath). The text control is 
 156            automatically synchronized with button's value. Use functions 
 157            defined in wxPickerBase to modify the text control. 
 158     @style{wxDIRP_DIR_MUST_EXIST} 
 159            Creates a picker which allows to select only existing directories. 
 160            wxGTK control always adds this flag internally as it does not 
 162     @style{wxDIRP_CHANGE_DIR} 
 163            Change current working directory on each user directory selection change. 
 166     @beginEventTable{wxFileDirPickerEvent} 
 167     @event{EVT_DIRPICKER_CHANGED(id, func)} 
 168         The user changed the directory selected in the control either using the 
 169         button or using text control (see wxDIRP_USE_TEXTCTRL; note that in this 
 170         case the event is fired only if the user's input is valid, e.g. an 
 171         existing directory path). 
 177     @appearance{dirpickerctrl.png} 
 179     @see wxDirDialog, wxFileDirPickerEvent 
 181 class wxDirPickerCtrl 
: public wxPickerBase
 
 185         Initializes the object and calls Create() with 
 188     wxDirPickerCtrl(wxWindow
* parent
, wxWindowID id
, 
 189                     const wxString
& path 
= wxEmptyString
, 
 190                     const wxString
& message 
= wxDirSelectorPromptStr
, 
 191                     const wxPoint
& pos 
= wxDefaultPosition
, 
 192                     const wxSize
& size 
= wxDefaultSize
, 
 193                     long style 
= wxDIRP_DEFAULT_STYLE
, 
 194                     const wxValidator
& validator 
= wxDefaultValidator
, 
 195                     const wxString
& name 
= wxDirPickerCtrlNameStr
); 
 198         Creates the widgets with the given parameters. 
 201             Parent window, must not be non-@NULL. 
 203             The identifier for the control. 
 205             The initial directory shown in the control. Must be a valid path to a 
 206             directory or the empty string. 
 208             The message shown to the user in the wxDirDialog shown by the control. 
 214             The window style, see wxDIRP_* flags. 
 216             Validator which can be used for additional date checks. 
 220         @return @true if the control was successfully created or @false if 
 223     bool Create(wxWindow
* parent
, wxWindowID id
, 
 224                 const wxString
& path 
= wxEmptyString
, 
 225                 const wxString
& message 
= wxDirSelectorPromptStr
, 
 226                 const wxPoint
& pos 
= wxDefaultPosition
, 
 227                 const wxSize
& size 
= wxDefaultSize
, 
 228                 long style 
= wxDIRP_DEFAULT_STYLE
, 
 229                 const wxValidator
& validator 
= wxDefaultValidator
, 
 230                 const wxString
& name 
= wxDirPickerCtrlNameStr
); 
 233         Returns the absolute path of the currently selected directory as a 
 235         This function is equivalent to GetPath(). 
 237     wxFileName 
GetDirName() const; 
 240         Returns the absolute path of the currently selected directory. 
 242     wxString 
GetPath() const; 
 245         Just like SetPath() but this function takes a wxFileName object. 
 247     void SetDirName(const wxFileName
& dirname
); 
 250         Sets the absolute path of  (the default converter uses current locale's 
 251         charset)the currently selected directory. 
 252         This must be a valid directory if @c wxDIRP_DIR_MUST_EXIST style was given. 
 254     void SetPath(const wxString
& dirname
); 
 260     @class wxFileDirPickerEvent 
 262     This event class is used for the events generated by 
 263     wxFilePickerCtrl and by wxDirPickerCtrl. 
 265     @beginEventTable{wxFileDirPickerEvent} 
 266     @event{EVT_FILEPICKER_CHANGED(id, func)} 
 267         Generated whenever the selected file changes. 
 268     @event{EVT_DIRPICKER_CHANGED(id, func)} 
 269         Generated whenever the selected directory changes. 
 275     @see wxFilePickerCtrl, wxDirPickerCtrl 
 277 class wxFileDirPickerEvent 
: public wxCommandEvent
 
 281         The constructor is not normally used by the user code. 
 283     wxFileDirPickerEvent(wxEventType type
, wxObject
* generator
, 
 285                          const wxString
& path
); 
 288         Retrieve the absolute path of the file/directory the user has just selected. 
 290     wxString 
GetPath() const; 
 293         Set the absolute path of the file/directory associated with the event. 
 295     void SetPath(const wxString
& path
);