]>
Commit | Line | Data |
---|---|---|
a660d684 KB |
1 | \section{Common dialogs overview}\label{commondialogsoverview} |
2 | ||
3 | Classes: \helpref{wxColourDialog}{wxcolourdialog}, \helpref{wxFontDialog}{wxfontdialog}, | |
4 | \rtfsp\helpref{wxPrintDialog}{wxprintdialog}, \helpref{wxFileDialog}{wxfiledialog},\rtfsp | |
5 | \helpref{wxDirDialog}{wxdirdialog}, \helpref{wxTextEntryDialog}{wxtextentrydialog},\rtfsp | |
6 | \helpref{wxMessageDialog}{wxmessagedialog}, \helpref{wxSingleChoiceDialog}{wxsinglechoicedialog},\rtfsp | |
7 | \helpref{wxMultipleChoiceDialog}{wxmultiplechoicedialog} | |
8 | ||
9 | Common dialog classes and functions encapsulate commonly-needed dialog box requirements. | |
10 | They are all `modal', grabbing the flow of control until the user dismisses the dialog, | |
11 | to make them easy to use within an application. | |
12 | ||
13 | Some dialogs have both platform-dependent and platform-independent implementations, | |
14 | so that if underlying windowing systems that do not provide the required functionality, | |
15 | the generic classes and functions can stand in. For example, under MS Windows, wxColourDialog | |
16 | uses the standard colour selector. There is also an equivalent called wxGenericColourDialog | |
17 | for other platforms, and a macro defines wxColourDialog to be the same as wxGenericColourDialog | |
18 | on non-MS Windows platforms. However, under MS Windows, the generic dialog can also be | |
19 | used, for testing or other purposes. | |
20 | ||
21 | \subsection{wxColourDialog overview}\label{wxcolourdialogoverview} | |
22 | ||
23 | Classes: \helpref{wxColourDialog}{wxcolourdialog}, \helpref{wxColourData}{wxcolourdata} | |
24 | ||
25 | The wxColourDialog presents a colour selector to the user, and returns | |
26 | with colour information. | |
27 | ||
28 | {\bf The MS Windows colour selector} | |
29 | ||
30 | Under Windows, the native colour selector common dialog is used. This | |
31 | presents a dialog box with three main regions: at the top left, a | |
32 | palette of 48 commonly-used colours is shown. Under this, there is a | |
33 | palette of 16 `custom colours' which can be set by the application if | |
34 | desired. Additionally, the user may open up the dialog box to show | |
35 | a right-hand panel containing controls to select a precise colour, and add | |
36 | it to the custom colour palette. | |
37 | ||
38 | {\bf The generic colour selector} | |
39 | ||
40 | Under non-MS Windows platforms, the colour selector is a simulation of | |
41 | most of the features of the MS Windows selector. Two palettes of 48 | |
42 | standard and 16 custom colours are presented, with the right-hand area | |
43 | containing three sliders for the user to select a colour from red, | |
44 | green and blue components. This colour may be added to the custom colour | |
45 | palette, and will replace either the currently selected custom colour, | |
46 | or the first one in the palette if none is selected. The RGB colour sliders | |
47 | are not optional in the generic colour selector. The generic colour | |
48 | selector is also available under MS Windows; use the name | |
49 | wxGenericColourDialog. | |
50 | ||
51 | {\bf Example} | |
52 | ||
53 | In the samples/dialogs directory, there is an example of using | |
54 | the wxColourDialog class. Here is an excerpt, which | |
55 | sets various parameters of a wxColourData object, including | |
56 | a grey scale for the custom colours. If the user did not cancel | |
57 | the dialog, the application retrieves the selected colour and | |
fe604ccd | 58 | uses it to set the background of a window. |
a660d684 KB |
59 | |
60 | \begin{verbatim} | |
61 | wxColourData data; | |
62 | data.SetChooseFull(TRUE); | |
63 | for (int i = 0; i < 16; i++) | |
64 | { | |
65 | wxColour colour(i*16, i*16, i*16); | |
66 | data.SetCustomColour(i, colour); | |
67 | } | |
68 | ||
69 | wxColourDialog dialog(this, &data); | |
70 | if (dialog.ShowModal() == wxID_OK) | |
71 | { | |
72 | wxColourData retData = dialog.GetColourData(); | |
73 | wxColour col = retData.GetColour(); | |
74 | wxBrush brush(col, wxSOLID); | |
fe604ccd JS |
75 | myWindow->SetBackground(brush); |
76 | myWindow->Clear(); | |
77 | myWindow->Refresh(); | |
a660d684 KB |
78 | } |
79 | \end{verbatim} | |
80 | ||
81 | ||
82 | \subsection{wxFontDialog overview}\label{wxfontdialogoverview} | |
83 | ||
84 | Classes: \helpref{wxFontDialog}{wxfontdialog}, \helpref{wxFontData}{wxfontdata} | |
85 | ||
86 | The wxFontDialog presents a font selector to the user, and returns | |
87 | with font and colour information. | |
88 | ||
89 | {\bf The MS Windows font selector} | |
90 | ||
91 | Under Windows, the native font selector common dialog is used. This | |
92 | presents a dialog box with controls for font name, point size, style, weight, | |
93 | underlining, strikeout and text foreground colour. A sample of the | |
94 | font is shown on a white area of the dialog box. Note that | |
95 | in the translation from full MS Windows fonts to wxWindows font | |
96 | conventions, strikeout is ignored and a font family (such as | |
97 | Swiss or Modern) is deduced from the actual font name (such as Arial | |
98 | or Courier). The full range of Windows fonts cannot be used in wxWindows | |
99 | at present. | |
100 | ||
101 | {\bf The generic font selector} | |
102 | ||
103 | Under non-MS Windows platforms, the font selector is simpler. | |
104 | Controls for font family, point size, style, weight, | |
105 | underlining and text foreground colour are provided, and | |
106 | a sample is shown upon a white background. The generic font selector | |
107 | is also available under MS Windows; use the name wxGenericFontDialog. | |
108 | ||
109 | In both cases, the application is responsible for deleting the | |
110 | new font returned from calling wxFontDialog::Show (if any). | |
111 | This returned font is guaranteed to be a new object and not | |
112 | one currently in use in the application. | |
113 | ||
114 | {\bf Example} | |
115 | ||
116 | In the samples/dialogs directory, there is an example of using | |
117 | the wxFontDialog class. The application uses the returned font | |
118 | and colour for drawing text on a canvas. Here is an excerpt: | |
119 | ||
120 | \begin{verbatim} | |
121 | wxFontData data; | |
122 | data.SetInitialFont(canvasFont); | |
123 | data.SetColour(canvasTextColour); | |
124 | ||
125 | wxFontDialog dialog(this, &data); | |
126 | if (dialog.ShowModal() == wxID_OK) | |
127 | { | |
128 | wxFontData retData = dialog.GetFontData(); | |
129 | canvasFont = retData.GetChosenFont(); | |
130 | canvasTextColour = retData.GetColour(); | |
fe604ccd | 131 | myWindow->Refresh(); |
a660d684 KB |
132 | } |
133 | \end{verbatim} | |
134 | ||
135 | \subsection{wxPrintDialog overview}\label{wxprintdialogoverview} | |
136 | ||
137 | Classes: \helpref{wxPrintDialog}{wxprintdialog}, \helpref{wxPrintData}{wxprintdata} | |
138 | ||
139 | This class represents the print and print setup common dialogs. | |
140 | You may obtain a \helpref{wxPrinterDC}{wxprinterdc} device context from | |
141 | a successfully dismissed print dialog. | |
142 | ||
143 | The samples/printing example shows how to use it: see \helpref{Printing overview}{printingoverview} for | |
144 | an excerpt from this example. | |
145 | ||
146 | \subsection{wxFileDialog overview}\label{wxfiledialogoverview} | |
147 | ||
148 | Classes: \helpref{wxFileDialog}{wxfiledialog} | |
149 | ||
150 | Pops up a file selector box. In Windows, this is the common file selector | |
151 | dialog. In X, this is a file selector box with somewhat less functionality. | |
152 | The path and filename are distinct elements of a full file pathname. | |
153 | If path is ``", the current directory will be used. If filename is ``", | |
154 | no default filename will be supplied. The wildcard determines what files | |
155 | are displayed in the file selector, and file extension supplies a type | |
156 | extension for the required filename. Flags may be a combination of wxOPEN, | |
cddfbd9f | 157 | wxSAVE, wxOVERWRITE\_PROMPT, wxHIDE\_READONLY, wxFILE\_MUST\_EXIST or 0. |
a660d684 KB |
158 | |
159 | Both the X and Windows versions implement a wildcard filter. Typing a | |
160 | filename containing wildcards (*, ?) in the filename text item, and | |
161 | clicking on Ok, will result in only those files matching the pattern being | |
162 | displayed. In the X version, supplying no default name will result in the | |
163 | wildcard filter being inserted in the filename text item; the filter is | |
164 | ignored if a default name is supplied. | |
165 | ||
cddfbd9f | 166 | The wildcard may be a specification for multiple |
a660d684 KB |
167 | types of file with a description for each, such as: |
168 | ||
169 | \begin{verbatim} | |
2b5f62a0 | 170 | "BMP files (*.bmp)|*.bmp|GIF files (*.gif)|*.gif" |
a660d684 KB |
171 | \end{verbatim} |
172 | ||
173 | \subsection{wxDirDialog overview}\label{wxdirdialogoverview} | |
174 | ||
175 | Classes: \helpref{wxDirDialog}{wxdirdialog} | |
176 | ||
177 | This dialog shows a directory selector dialog, allowing the user to select a single | |
178 | directory. | |
179 | ||
180 | \subsection{wxTextEntryDialog overview}\label{wxtextentrydialogoverview} | |
181 | ||
182 | Classes: \helpref{wxTextEntryDialog}{wxtextentrydialog} | |
183 | ||
184 | This is a dialog with a text entry field. The value that the user | |
185 | entered is obtained using \helpref{wxTextEntryDialog::GetValue}{wxtextentrydialoggetvalue}. | |
186 | ||
187 | \subsection{wxMessageDialog overview}\label{wxmessagedialogoverview} | |
188 | ||
189 | Classes: \helpref{wxMessageDialog}{wxmessagedialog} | |
190 | ||
191 | This dialog shows a message, plus buttons that can be chosen from OK, Cancel, Yes, and No. | |
192 | Under Windows, an optional icon can be shown, such as an exclamation mark or question mark. | |
193 | ||
194 | The return value of \helpref{wxMessageDialog::ShowModal}{wxmessagedialogshowmodal} indicates | |
195 | which button the user pressed. | |
196 | ||
197 | \subsection{wxSingleChoiceDialog overview}\label{wxsinglechoicedialogoverview} | |
198 | ||
199 | Classes: \helpref{wxSingleChoiceDialog}{wxsinglechoicedialog} | |
200 | ||
201 | This dialog shows a list of choices, plus OK and (optionally) Cancel. The user can | |
202 | select one of them. The selection can be obtained from the dialog as an index, | |
203 | a string or client data. | |
204 | ||
205 | \subsection{wxMultipleChoiceDialog overview}\label{wxmultiplechoicedialogoverview} | |
206 | ||
207 | Classes: \helpref{wxMultipleChoiceDialog}{wxmultiplechoicedialog} | |
208 | ||
209 | This dialog shows a list of choices, plus OK and (optionally) Cancel. The user can | |
5b6aa0ff JS |
210 | select one or more of them. |
211 | ||
a660d684 | 212 |