1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: interface of wxFileCtrl
4 // Author: wxWidgets team
6 // Licence: wxWindows license
7 /////////////////////////////////////////////////////////////////////////////
13 This control allows the user to select a file. two implemetations exist, one
14 for Gtk and another generic one for anything other than Gtk.
15 It is only available if @c wxUSE_FILECTRL is set to 1.
18 @style{wxFC_DEFAULT_STYLE}:
19 The default style: wxFC_OPEN
21 Creates an file control suitable for opening files. Cannot be
22 combined with wxFC_SAVE.
24 Creates an file control suitable for saving files. Cannot be
25 combined with wxFC_OPEN.
26 @style{wxFC_MULTIPLE}:
27 For open control only, Allows selecting multiple files. Cannot be
28 combined with wxFC_SAVE
29 @style{wxFC_NOSHOWHIDDEN}:
30 Hides the "Show Hidden Files" checkbox (Generic only)
38 class wxFileCtrl
: public wxWindow
44 Parent window, must not be non-@NULL.
46 The identifier for the control.
47 @param defaultDirectory
48 The initial directory shown in the control. Must be
49 a valid path to a directory or the empty string.
50 In case it is the empty string, the current working directory is used.
51 @param defaultFilename
52 The default filename, or the empty string.
54 A wildcard specifying which files can be selected,
55 such as "*.*" or "BMP files (*.bmp)|*.bmp|GIF files (*.gif)|*.gif".
57 The window style, see wxFC_* flags.
65 @returns @true if the control was successfully created or @false if
69 wxFileCtrl(wxWindow
* parent
, wxWindowID id
,
70 const wxString
& defaultDirectory
= wxEmptyString
,
71 const wxString
& defaultFilename
= wxEmptyString
,
72 const wxPoint
& wildCard
= wxFileSelectorDefaultWildcardStr
,
73 long style
= wxFC_DEFAULT_STYLE
,
74 const wxPoint
& pos
= wxDefaultPosition
,
75 const wxSize
& size
= wxDefaultSize
,
76 const wxString
& name
= "filectrl");
80 Create function for two-step construction. See wxFileCtrl() for details.
82 bool Create(wxWindow
* parent
, wxWindowID id
,
83 const wxString
& defaultDirectory
= wxEmptyString
,
84 const wxString
& defaultFilename
= wxEmptyString
,
85 const wxPoint
& wildCard
= wxFileSelectorDefaultWildcardStr
,
86 long style
= wxFC_DEFAULT_STYLE
,
87 const wxPoint
& pos
= wxDefaultPosition
,
88 const wxSize
& size
= wxDefaultSize
,
89 const wxString
& name
= "filectrl");
92 Returns the current directory of the file control (i.e. the directory shown by
95 wxString
GetDirectory() const;
98 Returns the currently selected filename.
99 For the controls having the @c wxFC_MULTIPLE style, use GetFilenames()
102 wxString
GetFilename() const;
105 Fills the array @a filenames with the filenames only of selected items. This
106 function should only be used with the controls having the @c wxFC_MULTIPLE
108 use GetFilename() for the others.
110 @remarks filenames is emptied first.
112 void GetFilenames(wxArrayString
& filenames
) const;
115 Returns the zero-based index of the currently selected filter.
117 int GetFilterIndex() const;
120 Returns the full path (directory and filename) of the currently selected file.
121 For the controls having the @c wxFC_MULTIPLE style, use GetPaths()
124 wxString
GetPath() const;
127 Fills the array @a paths with the full paths of the files chosen. This
128 function should be used with the controls having the @c wxFC_MULTIPLE style,
129 use GetPath() otherwise.
131 @remarks paths is emptied first.
133 void GetPaths(wxArrayString
& paths
) const;
136 Returns the current wildcard.
138 wxString
GetWildcard() const;
141 Sets(changes) the current directory displayed in the control.
143 @returns Returns @true on success, @false otherwise.
145 bool SetDirectory(const wxString
& directory
);
148 Selects a certain file.
150 @returns Returns @true on success, @false otherwise
152 bool SetFilename(const wxString
& filename
);
155 Sets the current filter index, starting from zero.
157 void SetFilterIndex(int filterIndex
);
160 Sets the wildcard, which can contain multiple file types, for example:
161 "BMP files (*.bmp)|*.bmp|GIF files (*.gif)|*.gif"
163 void SetWildcard(const wxString
& wildCard
);
166 Sets whether hidden files and folders are shown or not.
168 void ShowHidden(const bool show
);
174 @class wxFileCtrlEvent
175 @wxheader{filectrl.h}
177 A file control event holds information about events associated with
183 class wxFileCtrlEvent
: public wxCommandEvent
189 wxFileCtrlEvent(wxEventType type
, wxObject evtObject
, int id
);
192 Returns the current directory.
193 In case of a @b EVT_FILECTRL_FOLDERCHANGED, this method returns the new
196 wxString
GetDirectory() const;
199 Returns the file selected(assuming it is only one file).
201 wxString
GetFile() const;
204 Returns the files selected.
205 In case of a @b EVT_FILECTRL_SELECTIONCHANGED, this method returns the
206 files selected after the event.
208 wxArrayString
GetFiles() const;
211 Sets the files changed by this event.
213 wxFileCtrlEvent::SetFiles(const wxArrayString files
);