1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: interface of wxFilePickerCtrl
4 // Author: wxWidgets team
6 // Licence: wxWindows licence
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.
41 Use smaller version of the control with a small "..." button instead
42 of the normal "Browse" one. This flag is new since wxWidgets 2.9.3.
46 @beginEventEmissionTable{wxFileDirPickerEvent}
47 @event{EVT_FILEPICKER_CHANGED(id, func)}
48 The user changed the file selected in the control either using the
49 button or using text control (see wxFLP_USE_TEXTCTRL; note that in
50 this case the event is fired only if the user's input is valid,
51 e.g. an existing file path if wxFLP_FILE_MUST_EXIST was given).
56 @appearance{filepickerctrl.png}
58 @see wxFileDialog, wxFileDirPickerEvent
60 class wxFilePickerCtrl
: public wxPickerBase
64 Initializes the object and calls Create() with
67 wxFilePickerCtrl(wxWindow
* parent
, wxWindowID id
,
68 const wxString
& path
= wxEmptyString
,
69 const wxString
& message
= wxFileSelectorPromptStr
,
70 const wxString
& wildcard
= wxFileSelectorDefaultWildcardStr
,
71 const wxPoint
& pos
= wxDefaultPosition
,
72 const wxSize
& size
= wxDefaultSize
,
73 long style
= wxFLP_DEFAULT_STYLE
,
74 const wxValidator
& validator
= wxDefaultValidator
,
75 const wxString
& name
= wxFilePickerCtrlNameStr
);
78 Creates this widget with the given parameters.
81 Parent window, must not be non-@NULL.
83 The identifier for the control.
85 The initial file shown in the control. Must be a valid path to a file or
88 The message shown to the user in the wxFileDialog shown by the control.
90 A wildcard which defines user-selectable files (use the same syntax as for
91 wxFileDialog's wildcards).
97 The window style, see wxFLP_* flags.
99 Validator which can be used for additional data checks.
103 @return @true if the control was successfully created or @false if
106 bool Create(wxWindow
* parent
, wxWindowID id
,
107 const wxString
& path
= wxEmptyString
,
108 const wxString
& message
= wxFileSelectorPromptStr
,
109 const wxString
& wildcard
= wxFileSelectorDefaultWildcardStr
,
110 const wxPoint
& pos
= wxDefaultPosition
,
111 const wxSize
& size
= wxDefaultSize
,
112 long style
= wxFLP_DEFAULT_STYLE
,
113 const wxValidator
& validator
= wxDefaultValidator
,
114 const wxString
& name
= wxFilePickerCtrlNameStr
);
117 Similar to GetPath() but returns the path of the currently selected
118 file as a wxFileName object.
120 wxFileName
GetFileName() const;
123 Returns the absolute path of the currently selected file.
125 wxString
GetPath() const;
128 This method does the same thing as SetPath() but takes a wxFileName
129 object instead of a string.
131 void SetFileName(const wxFileName
& filename
);
134 Set the directory to show when starting to browse for files.
136 This function is mostly useful for the file picker controls which have
137 no selection initially to configure the directory that should be shown
138 if the user starts browsing for files as otherwise the directory of
139 initially selected file is used, which is usually the desired
140 behaviour and so the directory specified by this function is ignored in
145 void SetInitialDirectory(const wxString
& dir
);
148 Sets the absolute path of the currently selected file.
149 This must be a valid file if the @c wxFLP_FILE_MUST_EXIST style was given.
151 void SetPath(const wxString
& filename
);
157 @class wxDirPickerCtrl
159 This control allows the user to select a directory. The generic implementation
160 is a button which brings up a wxDirDialog when clicked. Native implementation
161 may differ but this is usually a (small) widget which give access to the
163 It is only available if @c wxUSE_DIRPICKERCTRL is set to 1 (the default).
166 @style{wxDIRP_DEFAULT_STYLE}
167 The default style: includes wxDIRP_DIR_MUST_EXIST and, under wxMSW
168 only, wxDIRP_USE_TEXTCTRL.
169 @style{wxDIRP_USE_TEXTCTRL}
170 Creates a text control to the left of the picker button which is
171 completely managed by the wxDirPickerCtrl and which can be used by
172 the user to specify a path (see SetPath). The text control is
173 automatically synchronized with button's value. Use functions
174 defined in wxPickerBase to modify the text control.
175 @style{wxDIRP_DIR_MUST_EXIST}
176 Creates a picker which allows to select only existing directories.
177 wxGTK control always adds this flag internally as it does not
179 @style{wxDIRP_CHANGE_DIR}
180 Change current working directory on each user directory selection change.
182 Use smaller version of the control with a small "..." button instead
183 of the normal "Browse" one. This flag is new since wxWidgets 2.9.3.
186 @beginEventEmissionTable{wxFileDirPickerEvent}
187 @event{EVT_DIRPICKER_CHANGED(id, func)}
188 The user changed the directory selected in the control either using the
189 button or using text control (see wxDIRP_USE_TEXTCTRL; note that in this
190 case the event is fired only if the user's input is valid, e.g. an
191 existing directory path).
197 @appearance{dirpickerctrl.png}
199 @see wxDirDialog, wxFileDirPickerEvent
201 class wxDirPickerCtrl
: public wxPickerBase
205 Initializes the object and calls Create() with
208 wxDirPickerCtrl(wxWindow
* parent
, wxWindowID id
,
209 const wxString
& path
= wxEmptyString
,
210 const wxString
& message
= wxDirSelectorPromptStr
,
211 const wxPoint
& pos
= wxDefaultPosition
,
212 const wxSize
& size
= wxDefaultSize
,
213 long style
= wxDIRP_DEFAULT_STYLE
,
214 const wxValidator
& validator
= wxDefaultValidator
,
215 const wxString
& name
= wxDirPickerCtrlNameStr
);
218 Creates the widgets with the given parameters.
221 Parent window, must not be non-@NULL.
223 The identifier for the control.
225 The initial directory shown in the control. Must be a valid path to a
226 directory or the empty string.
228 The message shown to the user in the wxDirDialog shown by the control.
234 The window style, see wxDIRP_* flags.
236 Validator which can be used for additional date checks.
240 @return @true if the control was successfully created or @false if
243 bool Create(wxWindow
* parent
, wxWindowID id
,
244 const wxString
& path
= wxEmptyString
,
245 const wxString
& message
= wxDirSelectorPromptStr
,
246 const wxPoint
& pos
= wxDefaultPosition
,
247 const wxSize
& size
= wxDefaultSize
,
248 long style
= wxDIRP_DEFAULT_STYLE
,
249 const wxValidator
& validator
= wxDefaultValidator
,
250 const wxString
& name
= wxDirPickerCtrlNameStr
);
253 Returns the absolute path of the currently selected directory as a
255 This function is equivalent to GetPath().
257 wxFileName
GetDirName() const;
260 Returns the absolute path of the currently selected directory.
262 wxString
GetPath() const;
265 Just like SetPath() but this function takes a wxFileName object.
267 void SetDirName(const wxFileName
& dirname
);
270 Set the directory to show when starting to browse for directories.
272 This function is mostly useful for the directory picker controls which
273 have no selection initially to configure the directory that should be
274 shown if the user starts browsing for directories as otherwise the
275 initially selected directory is used, which is usually the desired
276 behaviour and so the directory specified by this function is ignored in
281 void SetInitialDirectory(const wxString
& dir
);
284 Sets the absolute path of (the default converter uses current locale's
285 charset)the currently selected directory.
286 This must be a valid directory if @c wxDIRP_DIR_MUST_EXIST style was given.
288 void SetPath(const wxString
& dirname
);
294 @class wxFileDirPickerEvent
296 This event class is used for the events generated by
297 wxFilePickerCtrl and by wxDirPickerCtrl.
299 @beginEventTable{wxFileDirPickerEvent}
300 @event{EVT_FILEPICKER_CHANGED(id, func)}
301 Generated whenever the selected file changes.
302 @event{EVT_DIRPICKER_CHANGED(id, func)}
303 Generated whenever the selected directory changes.
309 @see wxFilePickerCtrl, wxDirPickerCtrl
311 class wxFileDirPickerEvent
: public wxCommandEvent
315 The constructor is not normally used by the user code.
317 wxFileDirPickerEvent(wxEventType type
, wxObject
* generator
,
319 const wxString
& path
);
322 Retrieve the absolute path of the file/directory the user has just selected.
324 wxString
GetPath() const;
327 Set the absolute path of the file/directory associated with the event.
329 void SetPath(const wxString
& path
);