]>
Commit | Line | Data |
---|---|---|
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{wxMultiChoiceDialog}{wxmultichoicedialog} | |
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 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 | |
58 | uses it to set the background of a window. | |
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); | |
75 | myWindow->SetBackground(brush); | |
76 | myWindow->Clear(); | |
77 | myWindow->Refresh(); | |
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 wxWidgets 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). | |
99 | ||
100 | {\bf The generic font selector} | |
101 | ||
102 | Under non-MS Windows platforms, the font selector is simpler. | |
103 | Controls for font family, point size, style, weight, | |
104 | underlining and text foreground colour are provided, and | |
105 | a sample is shown upon a white background. The generic font selector | |
106 | is also available under MS Windows; use the name wxGenericFontDialog. | |
107 | ||
108 | {\bf Example} | |
109 | ||
110 | In the samples/dialogs directory, there is an example of using | |
111 | the wxFontDialog class. The application uses the returned font | |
112 | and colour for drawing text on a canvas. Here is an excerpt: | |
113 | ||
114 | \begin{verbatim} | |
115 | wxFontData data; | |
116 | data.SetInitialFont(canvasFont); | |
117 | data.SetColour(canvasTextColour); | |
118 | ||
119 | wxFontDialog dialog(this, &data); | |
120 | if (dialog.ShowModal() == wxID_OK) | |
121 | { | |
122 | wxFontData retData = dialog.GetFontData(); | |
123 | canvasFont = retData.GetChosenFont(); | |
124 | canvasTextColour = retData.GetColour(); | |
125 | myWindow->Refresh(); | |
126 | } | |
127 | \end{verbatim} | |
128 | ||
129 | \subsection{wxPrintDialog overview}\label{wxprintdialogoverview} | |
130 | ||
131 | Classes: \helpref{wxPrintDialog}{wxprintdialog}, \helpref{wxPrintData}{wxprintdata} | |
132 | ||
133 | This class represents the print and print setup common dialogs. | |
134 | You may obtain a \helpref{wxPrinterDC}{wxprinterdc} device context from | |
135 | a successfully dismissed print dialog. | |
136 | ||
137 | The samples/printing example shows how to use it: see \helpref{Printing overview}{printingoverview} for | |
138 | an excerpt from this example. | |
139 | ||
140 | \subsection{wxFileDialog overview}\label{wxfiledialogoverview} | |
141 | ||
142 | Classes: \helpref{wxFileDialog}{wxfiledialog} | |
143 | ||
144 | Pops up a file selector box. In Windows, this is the common file selector | |
145 | dialog. In X, this is a file selector box with somewhat less functionality. | |
146 | The path and filename are distinct elements of a full file pathname. | |
147 | If path is ``", the current directory will be used. If filename is ``", | |
148 | no default filename will be supplied. The wildcard determines what files | |
149 | are displayed in the file selector, and file extension supplies a type | |
150 | extension for the required filename. Flags may be a combination of wxOPEN, | |
151 | wxSAVE, wxOVERWRITE\_PROMPT, wxHIDE\_READONLY, wxFILE\_MUST\_EXIST or 0. | |
152 | ||
153 | Both the X and Windows versions implement a wildcard filter. Typing a | |
154 | filename containing wildcards (*, ?) in the filename text item, and | |
155 | clicking on Ok, will result in only those files matching the pattern being | |
156 | displayed. In the X version, supplying no default name will result in the | |
157 | wildcard filter being inserted in the filename text item; the filter is | |
158 | ignored if a default name is supplied. | |
159 | ||
160 | The wildcard may be a specification for multiple | |
161 | types of file with a description for each, such as: | |
162 | ||
163 | \begin{verbatim} | |
164 | "BMP files (*.bmp)|*.bmp|GIF files (*.gif)|*.gif" | |
165 | \end{verbatim} | |
166 | ||
167 | \subsection{wxDirDialog overview}\label{wxdirdialogoverview} | |
168 | ||
169 | Classes: \helpref{wxDirDialog}{wxdirdialog} | |
170 | ||
171 | This dialog shows a directory selector dialog, allowing the user to select a single | |
172 | directory. | |
173 | ||
174 | \subsection{wxTextEntryDialog overview}\label{wxtextentrydialogoverview} | |
175 | ||
176 | Classes: \helpref{wxTextEntryDialog}{wxtextentrydialog} | |
177 | ||
178 | This is a dialog with a text entry field. The value that the user | |
179 | entered is obtained using \helpref{wxTextEntryDialog::GetValue}{wxtextentrydialoggetvalue}. | |
180 | ||
181 | \subsection{wxMessageDialog overview}\label{wxmessagedialogoverview} | |
182 | ||
183 | Classes: \helpref{wxMessageDialog}{wxmessagedialog} | |
184 | ||
185 | This dialog shows a message, plus buttons that can be chosen from OK, Cancel, Yes, and No. | |
186 | Under Windows, an optional icon can be shown, such as an exclamation mark or question mark. | |
187 | ||
188 | The return value of \helpref{wxMessageDialog::ShowModal}{wxmessagedialogshowmodal} indicates | |
189 | which button the user pressed. | |
190 | ||
191 | \subsection{wxSingleChoiceDialog overview}\label{wxsinglechoicedialogoverview} | |
192 | ||
193 | Classes: \helpref{wxSingleChoiceDialog}{wxsinglechoicedialog} | |
194 | ||
195 | This dialog shows a list of choices, plus OK and (optionally) Cancel. The user can | |
196 | select one of them. The selection can be obtained from the dialog as an index, | |
197 | a string or client data. | |
198 | ||
199 | \subsection{wxMultiChoiceDialog overview}\label{wxmultichoicedialogoverview} | |
200 | ||
201 | Classes: \helpref{wxMultiChoiceDialog}{wxmultichoicedialog} | |
202 | ||
203 | This dialog shows a list of choices, plus OK and (optionally) Cancel. The user can | |
204 | select one or more of them. | |
205 |