]> git.saurik.com Git - wxWidgets.git/blame - interface/settings.h
fixed links to global variables; fixed categories; use @see instead of @seealso
[wxWidgets.git] / interface / settings.h
CommitLineData
23324ae1
FM
1/////////////////////////////////////////////////////////////////////////////
2// Name: settings.h
3// Purpose: documentation for wxSystemSettings class
4// Author: wxWidgets team
5// RCS-ID: $Id$
6// Licence: wxWindows license
7/////////////////////////////////////////////////////////////////////////////
8
9/**
10 @class wxSystemSettings
11 @wxheader{settings.h}
7c913512 12
23324ae1
FM
13 wxSystemSettings allows the application to ask for details about
14 the system. This can include settings such as standard colours, fonts,
15 and user interface element sizes.
7c913512 16
23324ae1
FM
17 @library{wxcore}
18 @category{misc}
7c913512 19
23324ae1
FM
20 @seealso
21 wxFont, wxColour
22*/
23class wxSystemSettings : public wxObject
24{
25public:
26 /**
27 Default constructor. You don't need to create an instance of wxSystemSettings
28 since all of its functions are static.
29 */
30 wxSystemSettings();
31
32 /**
33 Returns a system colour.
4cc4bfaf 34 @a index can be one of:
23324ae1
FM
35
36 @b wxSYS_COLOUR_SCROLLBAR
37
23324ae1
FM
38 The scrollbar grey area.
39
40 @b wxSYS_COLOUR_BACKGROUND
41
23324ae1
FM
42 The desktop colour.
43
44 @b wxSYS_COLOUR_ACTIVECAPTION
45
23324ae1
FM
46 Active window caption.
47
48 @b wxSYS_COLOUR_INACTIVECAPTION
49
23324ae1
FM
50 Inactive window caption.
51
52 @b wxSYS_COLOUR_MENU
53
23324ae1
FM
54 Menu background.
55
56 @b wxSYS_COLOUR_WINDOW
57
23324ae1
FM
58 Window background.
59
60 @b wxSYS_COLOUR_WINDOWFRAME
61
23324ae1
FM
62 Window frame.
63
64 @b wxSYS_COLOUR_MENUTEXT
65
23324ae1
FM
66 Menu text.
67
68 @b wxSYS_COLOUR_WINDOWTEXT
69
23324ae1
FM
70 Text in windows.
71
72 @b wxSYS_COLOUR_CAPTIONTEXT
73
23324ae1
FM
74 Text in caption, size box and scrollbar arrow box.
75
76 @b wxSYS_COLOUR_ACTIVEBORDER
77
23324ae1
FM
78 Active window border.
79
80 @b wxSYS_COLOUR_INACTIVEBORDER
81
23324ae1
FM
82 Inactive window border.
83
84 @b wxSYS_COLOUR_APPWORKSPACE
85
23324ae1
FM
86 Background colour MDI applications.
87
88 @b wxSYS_COLOUR_HIGHLIGHT
89
23324ae1
FM
90 Item(s) selected in a control.
91
92 @b wxSYS_COLOUR_HIGHLIGHTTEXT
93
23324ae1
FM
94 Text of item(s) selected in a control.
95
96 @b wxSYS_COLOUR_BTNFACE
97
23324ae1
FM
98 Face shading on push buttons.
99
100 @b wxSYS_COLOUR_BTNSHADOW
101
23324ae1
FM
102 Edge shading on push buttons.
103
104 @b wxSYS_COLOUR_GRAYTEXT
105
23324ae1
FM
106 Greyed (disabled) text.
107
108 @b wxSYS_COLOUR_BTNTEXT
109
23324ae1
FM
110 Text on push buttons.
111
112 @b wxSYS_COLOUR_INACTIVECAPTIONTEXT
113
23324ae1
FM
114 Colour of text in active captions.
115
116 @b wxSYS_COLOUR_BTNHIGHLIGHT
117
23324ae1
FM
118 Highlight colour for buttons (same as wxSYS_COLOUR_3DHILIGHT).
119
120 @b wxSYS_COLOUR_3DDKSHADOW
121
23324ae1
FM
122 Dark shadow for three-dimensional display elements.
123
124 @b wxSYS_COLOUR_3DLIGHT
125
23324ae1
FM
126 Light colour for three-dimensional display elements.
127
128 @b wxSYS_COLOUR_INFOTEXT
129
23324ae1
FM
130 Text colour for tooltip controls.
131
132 @b wxSYS_COLOUR_INFOBK
133
23324ae1
FM
134 Background colour for tooltip controls.
135
136 @b wxSYS_COLOUR_DESKTOP
137
23324ae1
FM
138 Same as wxSYS_COLOUR_BACKGROUND.
139
140 @b wxSYS_COLOUR_3DFACE
141
23324ae1
FM
142 Same as wxSYS_COLOUR_BTNFACE.
143
144 @b wxSYS_COLOUR_3DSHADOW
145
23324ae1
FM
146 Same as wxSYS_COLOUR_BTNSHADOW.
147
148 @b wxSYS_COLOUR_3DHIGHLIGHT
149
23324ae1
FM
150 Same as wxSYS_COLOUR_BTNHIGHLIGHT.
151
152 @b wxSYS_COLOUR_3DHILIGHT
153
23324ae1
FM
154 Same as wxSYS_COLOUR_BTNHIGHLIGHT.
155
156 @b wxSYS_COLOUR_BTNHILIGHT
157
23324ae1
FM
158 Same as wxSYS_COLOUR_BTNHIGHLIGHT.
159 */
160 static wxColour GetColour(wxSystemColour index);
161
162 /**
163 Returns a system font.
4cc4bfaf 164 @a index can be one of:
23324ae1
FM
165
166 @b wxSYS_OEM_FIXED_FONT
167
23324ae1
FM
168 Original equipment manufacturer dependent fixed-pitch font.
169
170 @b wxSYS_ANSI_FIXED_FONT
171
23324ae1
FM
172 Windows fixed-pitch font.
173
174 @b wxSYS_ANSI_VAR_FONT
175
23324ae1
FM
176 Windows variable-pitch (proportional) font.
177
178 @b wxSYS_SYSTEM_FONT
179
23324ae1
FM
180 System font.
181
182 @b wxSYS_DEVICE_DEFAULT_FONT
183
23324ae1
FM
184 Device-dependent font (Windows NT only).
185
186 @b wxSYS_DEFAULT_GUI_FONT
187
23324ae1
FM
188 Default font for user interface
189 objects such as menus and dialog boxes. Note that with modern GUIs nothing
190 guarantees that the same font is used for all GUI elements, so some controls
191 might use a different font by default.
192 */
193 static wxFont GetFont(wxSystemFont index);
194
195 /**
196 Returns the value of a system metric, or -1 if the metric is not supported on
197 the current system.
4cc4bfaf 198 The value of @a win determines if the metric returned is a global value or
23324ae1
FM
199 a wxWindow based value, in which case it might determine the widget, the
200 display the window is on, or something similar. The window given should be as
201 close to the
202 metric as possible (e.g a wxTopLevelWindow in case of the wxSYS_CAPTION_Y
203 metric).
4cc4bfaf 204 @a index can be one of:
23324ae1
FM
205
206 @b wxSYS_MOUSE_BUTTONS
207
23324ae1
FM
208 Number of buttons on mouse, or zero if no mouse was installed.
209
210 @b wxSYS_BORDER_X
211
23324ae1
FM
212 Width of single border.
213
214 @b wxSYS_BORDER_Y
215
23324ae1
FM
216 Height of single border.
217
218 @b wxSYS_CURSOR_X
219
23324ae1
FM
220 Width of cursor.
221
222 @b wxSYS_CURSOR_Y
223
23324ae1
FM
224 Height of cursor.
225
226 @b wxSYS_DCLICK_X
227
23324ae1
FM
228 Width in pixels of rectangle within which two successive mouse
229 clicks must fall to generate a double-click.
230
231 @b wxSYS_DCLICK_Y
232
23324ae1
FM
233 Height in pixels of rectangle within which two successive mouse
234 clicks must fall to generate a double-click.
235
236 @b wxSYS_DCLICK_MSEC
237
23324ae1
FM
238 Maximal time, in milliseconds, which may
239 pass between subsequent clicks for a double click to be generated.
240
241 @b wxSYS_DRAG_X
242
23324ae1
FM
243 Width in pixels of a rectangle centered on a drag point
244 to allow for limited movement of the mouse pointer before a drag operation
245 begins.
246
247 @b wxSYS_DRAG_Y
248
23324ae1
FM
249 Height in pixels of a rectangle centered on a drag point
250 to allow for limited movement of the mouse pointer before a drag operation
251 begins.
252
253 @b wxSYS_EDGE_X
254
7c913512 255 Width of a 3D border, in pixels.
23324ae1
FM
256
257 @b wxSYS_EDGE_Y
258
7c913512 259 Height of a 3D border, in pixels.
23324ae1
FM
260
261 @b wxSYS_HSCROLL_ARROW_X
262
23324ae1
FM
263 Width of arrow bitmap on horizontal scrollbar.
264
265 @b wxSYS_HSCROLL_ARROW_Y
266
23324ae1
FM
267 Height of arrow bitmap on horizontal scrollbar.
268
269 @b wxSYS_HTHUMB_X
270
23324ae1
FM
271 Width of horizontal scrollbar thumb.
272
273 @b wxSYS_ICON_X
274
23324ae1
FM
275 The default width of an icon.
276
277 @b wxSYS_ICON_Y
278
23324ae1
FM
279 The default height of an icon.
280
281 @b wxSYS_ICONSPACING_X
282
23324ae1
FM
283 Width of a grid cell for items in large icon view,
284 in pixels. Each item fits into a rectangle of this size when arranged.
285
286 @b wxSYS_ICONSPACING_Y
287
23324ae1
FM
288 Height of a grid cell for items in large icon view,
289 in pixels. Each item fits into a rectangle of this size when arranged.
290
291 @b wxSYS_WINDOWMIN_X
292
23324ae1
FM
293 Minimum width of a window.
294
295 @b wxSYS_WINDOWMIN_Y
296
23324ae1
FM
297 Minimum height of a window.
298
299 @b wxSYS_SCREEN_X
300
23324ae1
FM
301 Width of the screen in pixels.
302
303 @b wxSYS_SCREEN_Y
304
23324ae1
FM
305 Height of the screen in pixels.
306
307 @b wxSYS_FRAMESIZE_X
308
23324ae1
FM
309 Width of the window frame for a wxTHICK_FRAME window.
310
311 @b wxSYS_FRAMESIZE_Y
312
23324ae1
FM
313 Height of the window frame for a wxTHICK_FRAME window.
314
315 @b wxSYS_SMALLICON_X
316
23324ae1
FM
317 Recommended width of a small icon (in window captions, and small icon view).
318
319 @b wxSYS_SMALLICON_Y
320
23324ae1
FM
321 Recommended height of a small icon (in window captions, and small icon view).
322
323 @b wxSYS_HSCROLL_Y
324
23324ae1
FM
325 Height of horizontal scrollbar in pixels.
326
327 @b wxSYS_VSCROLL_X
328
23324ae1
FM
329 Width of vertical scrollbar in pixels.
330
331 @b wxSYS_VSCROLL_ARROW_X
332
23324ae1
FM
333 Width of arrow bitmap on a vertical scrollbar.
334
335 @b wxSYS_VSCROLL_ARROW_Y
336
23324ae1
FM
337 Height of arrow bitmap on a vertical scrollbar.
338
339 @b wxSYS_VTHUMB_Y
340
23324ae1
FM
341 Height of vertical scrollbar thumb.
342
343 @b wxSYS_CAPTION_Y
344
23324ae1
FM
345 Height of normal caption area.
346
347 @b wxSYS_MENU_Y
348
23324ae1
FM
349 Height of single-line menu bar.
350
351 @b wxSYS_NETWORK_PRESENT
352
23324ae1
FM
353 1 if there is a network present, 0 otherwise.
354
355 @b wxSYS_PENWINDOWS_PRESENT
356
23324ae1
FM
357 1 if PenWindows is installed, 0 otherwise.
358
359 @b wxSYS_SHOW_SOUNDS
360
23324ae1
FM
361 Non-zero if the user requires an application to present information visually in
362 situations
363 where it would otherwise present the information only in audible form; zero
364 otherwise.
365
366 @b wxSYS_SWAP_BUTTONS
367
23324ae1
FM
368 Non-zero if the meanings of the left and right mouse buttons are swapped; zero
369 otherwise.
370
4cc4bfaf
FM
371 @a win is a pointer to the window for which the metric is requested.
372 Specifying the @a win parameter is encouraged, because some metrics on some
23324ae1
FM
373 ports are not supported without one,
374 or they might be capable of reporting better values if given one. If a window
375 does not make sense for a metric,
376 one should still be given, as for example it might determine which displays
377 cursor width is requested with
378 wxSYS_CURSOR_X.
379 */
4cc4bfaf 380 static int GetMetric(wxSystemMetric index, wxWindow* win = NULL);
23324ae1
FM
381
382 /**
383 Returns the screen type. The return value is one of:
384
23324ae1
FM
385 @b wxSYS_SCREEN_NONE
386
23324ae1
FM
387 Undefined screen type
388
389 @b wxSYS_SCREEN_TINY
390
23324ae1
FM
391 Tiny screen, less than 320x240
392
393 @b wxSYS_SCREEN_PDA
394
23324ae1
FM
395 PDA screen, 320x240 or more but less than 640x480
396
397 @b wxSYS_SCREEN_SMALL
398
23324ae1
FM
399 Small screen, 640x480 or more but less than 800x600
400
401 @b wxSYS_SCREEN_DESKTOP
402
23324ae1
FM
403 Desktop screen, 800x600 or more
404 */
405 static wxSystemScreenType GetScreenType();
406};