Don't prepend directory to filename for shortcuts
[wxWidgets.git] / docs / latex / wx / filedlg.tex
1 \section{\class{wxFileDialog}}\label{wxfiledialog}
2
3 This class represents the file chooser dialog.
4
5 \wxheading{Derived from}
6
7 \helpref{wxDialog}{wxdialog}\\
8 \helpref{wxWindow}{wxwindow}\\
9 \helpref{wxEvtHandler}{wxevthandler}\\
10 \helpref{wxObject}{wxobject}
11
12 \wxheading{Include files}
13
14 <wx/filedlg.h>
15
16 \wxheading{See also}
17
18 \helpref{wxFileDialog overview}{wxfiledialogoverview}, \helpref{wxFileSelector}{wxfileselector}
19
20 \wxheading{Remarks}
21
22 Pops up a file selector box. In Windows, this is the common file selector
23 dialog. In X, this is a file selector box with somewhat less functionality.
24 The path and filename are distinct elements of a full file pathname.
25 If path is ``", the current directory will be used. If filename is ``",
26 no default filename will be supplied. The wildcard determines what files
27 are displayed in the file selector, and file extension supplies a type
28 extension for the required filename. Flags may be a combination of wxOPEN,
29 wxSAVE, wxOVERWRITE\_PROMPT, wxHIDE\_READONLY, wxFILE\_MUST\_EXIST, wxMULTIPLE or 0.
30
31 Both the X and Windows versions implement a wildcard filter. Typing a
32 filename containing wildcards (*, ?) in the filename text item, and
33 clicking on Ok, will result in only those files matching the pattern being
34 displayed. The wildcard may be a specification for multiple
35 types of file with a description for each, such as:
36
37 \begin{verbatim}
38 "BMP files (*.bmp)|*.bmp|GIF files (*.gif)|*.gif"
39 \end{verbatim}
40
41 It must be noted that wildcard support in the native Motif file
42 dialog is quite limited: only one alternative is supported,
43 and it is displayed without the descriptive test; ``BMP files (*.bmp)|*.bmp''
44 is displayed as ``*.bmp'', and both
45 ``BMP files (*.bmp)|*.bmp|GIF files (*.gif)|*.gif'' and
46 ``Image files|*.bmp;*.gif'' are errors.
47
48 \latexignore{\rtfignore{\wxheading{Members}}}
49
50 \membersection{wxFileDialog::wxFileDialog}\label{wxfiledialogconstr}
51
52 \func{}{wxFileDialog}{\param{wxWindow* }{parent}, \param{const wxString\& }{message = "Choose a file"},\rtfsp
53 \param{const wxString\& }{defaultDir = ""}, \param{const wxString\& }{defaultFile = ``"},\rtfsp
54 \param{const wxString\& }{wildcard = ``*.*"}, \param{long }{style = 0}, \param{const wxPoint\& }{pos = wxDefaultPosition}}
55
56 Constructor. Use \helpref{wxFileDialog::ShowModal}{wxfiledialogshowmodal} to show the dialog.
57
58 \wxheading{Parameters}
59
60 \docparam{parent}{Parent window.}
61
62 \docparam{message}{Message to show on the dialog.}
63
64 \docparam{defaultDir}{The default directory, or the empty string.}
65
66 \docparam{defaultFile}{The default filename, or the empty string.}
67
68 \docparam{wildcard}{A wildcard, such as ``*.*" or ``BMP files (*.bmp)|*.bmp|GIF files (*.gif)|*.gif".
69
70 Note that the native Motif dialog has some limitations with respect to
71 wildcards; see the Remarks section above.}
72
73 \docparam{style}{A dialog style. A bitlist of:
74
75 \twocolwidtha{5cm}
76 \begin{twocollist}
77 \twocolitem{{\bf wxOPEN}}{This is an open dialog.}
78 \twocolitem{{\bf wxSAVE}}{This is a save dialog.}
79 \twocolitem{{\bf wxHIDE\_READONLY}}{For open dialog only: hide the checkbox allowing to open the file in read-only mode.}
80 \twocolitem{{\bf wxOVERWRITE\_PROMPT}}{For save dialog only: prompt for a confirmation if a file will be overwritten.}
81 \twocolitem{{\bf wxMULTIPLE}}{For open dialog only: allows selecting multiple files.}
82 \twocolitem{{\bf wxCHANGE\_DIR}}{Change the current working directory to the directory where the file(s) chosen by the user are.}
83 \end{twocollist}%
84 }
85
86 \docparam{pos}{Dialog position. Not implemented.}
87
88 {\bf NB:} Previous versions of wxWindows used {\tt wxCHANGE\_DIR} by default
89 under MS Windows which allowed the program to simply remember the last
90 directory where user selected the files to open/save. This (desired)
91 functionality must be implemented in the program itself now (manually remember
92 the last path used and pass it to the dialog the next time it is called) or
93 by using this flag.
94
95 \membersection{wxFileDialog::\destruct{wxFileDialog}}
96
97 \func{}{\destruct{wxFileDialog}}{\void}
98
99 Destructor.
100
101 \membersection{wxFileDialog::GetDirectory}\label{wxfiledialoggetdirectory}
102
103 \constfunc{wxString}{GetDirectory}{\void}
104
105 Returns the default directory.
106
107 \membersection{wxFileDialog::GetFilename}\label{wxfiledialoggetfilename}
108
109 \constfunc{wxString}{GetFilename}{\void}
110
111 Returns the default filename.
112
113 \membersection{wxFileDialog::GetFilenames}\label{wxfiledialoggetfilenames}
114
115 \constfunc{void}{GetFilenames}{\param{wxArrayString\& }{filenames}}
116
117 Fills the array {\it filenames} with the names of the files chosen. This
118 function should only be used with the dialogs which have {\tt wxMULTIPLE} style,
119 use \helpref{GetFilename}{wxfiledialoggetfilename} for the others.
120
121 Note that under Windows, if the user selects shortcuts, the filenames
122 include paths, since the application cannot determine the full path
123 of each referenced file by appending the directory containing the shortcuts
124 to the filename.
125
126 \membersection{wxFileDialog::GetFilterIndex}\label{wxfiledialoggetfilterindex}
127
128 \constfunc{int}{GetFilterIndex}{\void}
129
130 Returns the index into the list of filters supplied, optionally, in the wildcard parameter.
131 Before the dialog is shown, this is the index which will be used when the dialog is first displayed.
132 After the dialog is shown, this is the index selected by the user.
133
134 \membersection{wxFileDialog::GetMessage}\label{wxfiledialoggetmessage}
135
136 \constfunc{wxString}{GetMessage}{\void}
137
138 Returns the message that will be displayed on the dialog.
139
140 \membersection{wxFileDialog::GetPath}\label{wxfiledialoggetpath}
141
142 \constfunc{wxString}{GetPath}{\void}
143
144 Returns the full path (directory and filename) of the selected file.
145
146 \membersection{wxFileDialog::GetPaths}\label{wxfiledialoggetpaths}
147
148 \constfunc{void}{GetPaths}{\param{wxArrayString\& }{paths}}
149
150 Fills the array {\it paths} with the full paths of the files chosen. This
151 function should only be used with the dialogs which have {\tt wxMULTIPLE} style,
152 use \helpref{GetPath}{wxfiledialoggetpath} for the others.
153
154 \membersection{wxFileDialog::GetStyle}\label{wxfiledialoggetstyle}
155
156 \constfunc{long}{GetStyle}{\void}
157
158 Returns the dialog style.
159
160 \membersection{wxFileDialog::GetWildcard}\label{wxfiledialoggetwildcard}
161
162 \constfunc{wxString}{GetWildcard}{\void}
163
164 Returns the file dialog wildcard.
165
166 \membersection{wxFileDialog::SetDirectory}\label{wxfiledialogsetdirectory}
167
168 \func{void}{SetDirectory}{\param{const wxString\& }{directory}}
169
170 Sets the default directory.
171
172 \membersection{wxFileDialog::SetFilename}\label{wxfiledialogsetfilename}
173
174 \func{void}{SetFilename}{\param{const wxString\& }{setfilename}}
175
176 Sets the default filename.
177
178 \membersection{wxFileDialog::SetFilterIndex}\label{wxfiledialogsetfilterindex}
179
180 \func{void}{SetFilterIndex}{\param{int }{filterIndex}}
181
182 Sets the default filter index, starting from zero.
183
184 \membersection{wxFileDialog::SetMessage}\label{wxfiledialogsetmessage}
185
186 \func{void}{SetMessage}{\param{const wxString\& }{message}}
187
188 Sets the message that will be displayed on the dialog.
189
190 \membersection{wxFileDialog::SetPath}\label{wxfiledialogsetpath}
191
192 \func{void}{SetPath}{\param{const wxString\& }{path}}
193
194 Sets the path (the combined directory and filename that will be returned when the dialog is dismissed).
195
196 \membersection{wxFileDialog::SetStyle}\label{wxfiledialogsetstyle}
197
198 \func{void}{SetStyle}{\param{long }{style}}
199
200 Sets the dialog style. See \helpref{wxFileDialog::wxFileDialog}{wxfiledialogconstr} for details.
201
202 \membersection{wxFileDialog::SetWildcard}\label{wxfiledialogsetwildcard}
203
204 \func{void}{SetWildcard}{\param{const wxString\& }{wildCard}}
205
206 Sets the wildcard, which can contain multiple file types, for example:
207
208 ``BMP files (*.bmp)|*.bmp|GIF files (*.gif)|*.gif"
209
210 Note that the native Motif dialog has some limitations with respect to
211 wildcards; see the Remarks section above.
212
213 \membersection{wxFileDialog::ShowModal}\label{wxfiledialogshowmodal}
214
215 \func{int}{ShowModal}{\void}
216
217 Shows the dialog, returning wxID\_OK if the user pressed OK, and wxID\_CANCEL
218 otherwise.
219
220