]> git.saurik.com Git - wxWidgets.git/blob - docs/latex/wx/settings.tex
Mark GetMinSize() as virtual and explain why.
[wxWidgets.git] / docs / latex / wx / settings.tex
1 \section{\class{wxSystemSettings}}\label{wxsystemsettings}
2
3 wxSystemSettings allows the application to ask for details about
4 the system. This can include settings such as standard colours, fonts,
5 and user interface element sizes.
6
7 \wxheading{Derived from}
8
9 \helpref{wxObject}{wxobject}
10
11 \wxheading{Include files}
12
13 <wx/settings.h>
14
15 \wxheading{See also}
16
17 \helpref{wxFont}{wxfont}, \helpref{wxColour}{wxcolour}
18
19 \latexignore{\rtfignore{\wxheading{Members}}}
20
21 \membersection{wxSystemSettings::wxSystemSettings}\label{wxsystemsettingsctor}
22
23 \func{}{wxSystemSettings}{\void}
24
25 Default constructor. You don't need to create an instance of wxSystemSettings
26 since all of its functions are static.
27
28 \membersection{wxSystemSettings::GetColour}\label{wxsystemsettingsgetcolour}
29
30 \func{static wxColour}{GetColour}{\param{wxSystemColour}{ index}}
31
32 Returns a system colour.
33
34 {\it index} can be one of:
35
36 \twocolwidtha{7cm}
37 \begin{twocollist}\itemsep=0pt
38 \twocolitem{{\bf wxSYS\_COLOUR\_SCROLLBAR}}{The scrollbar grey area.}
39 \twocolitem{{\bf wxSYS\_COLOUR\_BACKGROUND}}{The desktop colour.}
40 \twocolitem{{\bf wxSYS\_COLOUR\_ACTIVECAPTION}}{Active window caption.}
41 \twocolitem{{\bf wxSYS\_COLOUR\_INACTIVECAPTION}}{Inactive window caption.}
42 \twocolitem{{\bf wxSYS\_COLOUR\_MENU}}{Menu background.}
43 \twocolitem{{\bf wxSYS\_COLOUR\_WINDOW}}{Window background.}
44 \twocolitem{{\bf wxSYS\_COLOUR\_WINDOWFRAME}}{Window frame.}
45 \twocolitem{{\bf wxSYS\_COLOUR\_MENUTEXT}}{Menu text.}
46 \twocolitem{{\bf wxSYS\_COLOUR\_WINDOWTEXT}}{Text in windows.}
47 \twocolitem{{\bf wxSYS\_COLOUR\_CAPTIONTEXT}}{Text in caption, size box and scrollbar arrow box.}
48 \twocolitem{{\bf wxSYS\_COLOUR\_ACTIVEBORDER}}{Active window border.}
49 \twocolitem{{\bf wxSYS\_COLOUR\_INACTIVEBORDER}}{Inactive window border.}
50 \twocolitem{{\bf wxSYS\_COLOUR\_APPWORKSPACE}}{Background colour MDI applications.}
51 \twocolitem{{\bf wxSYS\_COLOUR\_HIGHLIGHT}}{Item(s) selected in a control.}
52 \twocolitem{{\bf wxSYS\_COLOUR\_HIGHLIGHTTEXT}}{Text of item(s) selected in a control.}
53 \twocolitem{{\bf wxSYS\_COLOUR\_BTNFACE}}{Face shading on push buttons.}
54 \twocolitem{{\bf wxSYS\_COLOUR\_BTNSHADOW}}{Edge shading on push buttons.}
55 \twocolitem{{\bf wxSYS\_COLOUR\_GRAYTEXT}}{Greyed (disabled) text.}
56 \twocolitem{{\bf wxSYS\_COLOUR\_BTNTEXT}}{Text on push buttons.}
57 \twocolitem{{\bf wxSYS\_COLOUR\_INACTIVECAPTIONTEXT}}{Colour of text in active captions.}
58 \twocolitem{{\bf wxSYS\_COLOUR\_BTNHIGHLIGHT}}{Highlight colour for buttons (same as wxSYS\_COLOUR\_3DHILIGHT).}
59 \twocolitem{{\bf wxSYS\_COLOUR\_3DDKSHADOW}}{Dark shadow for three-dimensional display elements.}
60 \twocolitem{{\bf wxSYS\_COLOUR\_3DLIGHT}}{Light colour for three-dimensional display elements.}
61 \twocolitem{{\bf wxSYS\_COLOUR\_INFOTEXT}}{Text colour for tooltip controls.}
62 \twocolitem{{\bf wxSYS\_COLOUR\_INFOBK}}{Background colour for tooltip controls.}
63 \twocolitem{{\bf wxSYS\_COLOUR\_DESKTOP}}{Same as wxSYS\_COLOUR\_BACKGROUND.}
64 \twocolitem{{\bf wxSYS\_COLOUR\_3DFACE}}{Same as wxSYS\_COLOUR\_BTNFACE.}
65 \twocolitem{{\bf wxSYS\_COLOUR\_3DSHADOW}}{Same as wxSYS\_COLOUR\_BTNSHADOW.}
66 \twocolitem{{\bf wxSYS\_COLOUR\_3DHIGHLIGHT}}{Same as wxSYS\_COLOUR\_BTNHIGHLIGHT.}
67 \twocolitem{{\bf wxSYS\_COLOUR\_3DHILIGHT}}{Same as wxSYS\_COLOUR\_BTNHIGHLIGHT.}
68 \twocolitem{{\bf wxSYS\_COLOUR\_BTNHILIGHT}}{Same as wxSYS\_COLOUR\_BTNHIGHLIGHT.}
69 \end{twocollist}
70
71 \pythonnote{This static method is implemented in Python as a
72 standalone function named {\tt wxSystemSettings\_GetColour}}
73
74 \membersection{wxSystemSettings::GetFont}\label{wxsystemsettingsgetfont}
75
76 \func{static wxFont}{GetFont}{\param{wxSystemFont}{ index}}
77
78 Returns a system font.
79
80 {\it index} can be one of:
81
82 \twocolwidtha{7cm}
83 \begin{twocollist}\itemsep=0pt
84 \twocolitem{{\bf wxSYS\_OEM\_FIXED\_FONT}}{Original equipment manufacturer dependent fixed-pitch font.}
85 \twocolitem{{\bf wxSYS\_ANSI\_FIXED\_FONT}}{Windows fixed-pitch font.}
86 \twocolitem{{\bf wxSYS\_ANSI\_VAR\_FONT}}{Windows variable-pitch (proportional) font.}
87 \twocolitem{{\bf wxSYS\_SYSTEM\_FONT}}{System font.}
88 \twocolitem{{\bf wxSYS\_DEVICE\_DEFAULT\_FONT}}{Device-dependent font (Windows NT only).}
89 \twocolitem{{\bf wxSYS\_DEFAULT\_GUI\_FONT}}{Default font for user interface
90 objects such as menus and dialog boxes. Note that with modern GUIs nothing
91 guarantees that the same font is used for all GUI elements, so some controls
92 might use a different font by default.}
93 \end{twocollist}
94
95 \pythonnote{This static method is implemented in Python as a
96 standalone function named {\tt wxSystemSettings\_GetFont}}
97
98 \membersection{wxSystemSettings::GetMetric}\label{wxsystemsettingsgetmetric}
99
100 \func{static int}{GetMetric}{\param{wxSystemMetric}{ index}, \param{wxWindow*}{ win = NULL}}
101
102 Returns the value of a system metric, or -1 if the metric is not supported on the current system.
103 The value of {\it win} determines if the metric returned is a global value or
104 a \helpref{wxWindow}{wxwindow} based value, in which case it might determine the widget, the
105 display the window is on, or something similar. The window given should be as close to the
106 metric as possible (e.g a wxTopLevelWindow in case of the wxSYS\_CAPTION\_Y metric).
107
108 {\it index} can be one of:
109
110 \twocolwidtha{7cm}
111 \begin{twocollist}\itemsep=0pt
112 \twocolitem{{\bf wxSYS\_MOUSE\_BUTTONS}}{Number of buttons on mouse, or zero if no mouse was installed.}
113 \twocolitem{{\bf wxSYS\_BORDER\_X}}{Width of single border.}
114 \twocolitem{{\bf wxSYS\_BORDER\_Y}}{Height of single border.}
115 \twocolitem{{\bf wxSYS\_CURSOR\_X}}{Width of cursor.}
116 \twocolitem{{\bf wxSYS\_CURSOR\_Y}}{Height of cursor.}
117 \twocolitem{{\bf wxSYS\_DCLICK\_X}}{Width in pixels of rectangle within which two successive mouse
118 clicks must fall to generate a double-click.}
119 \twocolitem{{\bf wxSYS\_DCLICK\_Y}}{Height in pixels of rectangle within which two successive mouse
120 clicks must fall to generate a double-click.}
121 \twocolitem{{\bf wxSYS\_DRAG\_X}}{Width in pixels of a rectangle centered on a drag point
122 to allow for limited movement of the mouse pointer before a drag operation begins.}
123 \twocolitem{{\bf wxSYS\_DRAG\_Y}}{Height in pixels of a rectangle centered on a drag point
124 to allow for limited movement of the mouse pointer before a drag operation begins.}
125 \twocolitem{{\bf wxSYS\_EDGE\_X}}{Width of a 3D border, in pixels. }
126 \twocolitem{{\bf wxSYS\_EDGE\_Y}}{Height of a 3D border, in pixels. }
127 \twocolitem{{\bf wxSYS\_HSCROLL\_ARROW\_X}}{Width of arrow bitmap on horizontal scrollbar.}
128 \twocolitem{{\bf wxSYS\_HSCROLL\_ARROW\_Y}}{Height of arrow bitmap on horizontal scrollbar.}
129 \twocolitem{{\bf wxSYS\_HTHUMB\_X}}{Width of horizontal scrollbar thumb.}
130 \twocolitem{{\bf wxSYS\_ICON\_X}}{The default width of an icon.}
131 \twocolitem{{\bf wxSYS\_ICON\_Y}}{The default height of an icon.}
132 \twocolitem{{\bf wxSYS\_ICONSPACING\_X}}{Width of a grid cell for items in large icon view,
133 in pixels. Each item fits into a rectangle of this size when arranged.}
134 \twocolitem{{\bf wxSYS\_ICONSPACING\_Y}}{Height of a grid cell for items in large icon view,
135 in pixels. Each item fits into a rectangle of this size when arranged.}
136 \twocolitem{{\bf wxSYS\_WINDOWMIN\_X}}{Minimum width of a window.}
137 \twocolitem{{\bf wxSYS\_WINDOWMIN\_Y}}{Minimum height of a window.}
138 \twocolitem{{\bf wxSYS\_SCREEN\_X}}{Width of the screen in pixels.}
139 \twocolitem{{\bf wxSYS\_SCREEN\_Y}}{Height of the screen in pixels.}
140 \twocolitem{{\bf wxSYS\_FRAMESIZE\_X}}{Width of the window frame for a wxTHICK\_FRAME window.}
141 \twocolitem{{\bf wxSYS\_FRAMESIZE\_Y}}{Height of the window frame for a wxTHICK\_FRAME window.}
142 \twocolitem{{\bf wxSYS\_SMALLICON\_X}}{Recommended width of a small icon (in window captions, and small icon view).}
143 \twocolitem{{\bf wxSYS\_SMALLICON\_Y}}{Recommended height of a small icon (in window captions, and small icon view).}
144 \twocolitem{{\bf wxSYS\_HSCROLL\_Y}}{Height of horizontal scrollbar in pixels.}
145 \twocolitem{{\bf wxSYS\_VSCROLL\_X}}{Width of vertical scrollbar in pixels.}
146 \twocolitem{{\bf wxSYS\_VSCROLL\_ARROW\_X}}{Width of arrow bitmap on a vertical scrollbar.}
147 \twocolitem{{\bf wxSYS\_VSCROLL\_ARROW\_Y}}{Height of arrow bitmap on a vertical scrollbar.}
148 \twocolitem{{\bf wxSYS\_VTHUMB\_Y}}{Height of vertical scrollbar thumb.}
149 \twocolitem{{\bf wxSYS\_CAPTION\_Y}}{Height of normal caption area.}
150 \twocolitem{{\bf wxSYS\_MENU\_Y}}{Height of single-line menu bar.}
151 \twocolitem{{\bf wxSYS\_NETWORK\_PRESENT}}{1 if there is a network present, 0 otherwise.}
152 \twocolitem{{\bf wxSYS\_PENWINDOWS\_PRESENT}}{1 if PenWindows is installed, 0 otherwise.}
153 \twocolitem{{\bf wxSYS\_SHOW\_SOUNDS}}{Non-zero if the user requires an application to present information visually in situations
154 where it would otherwise present the information only in audible form; zero otherwise.}
155 \twocolitem{{\bf wxSYS\_SWAP\_BUTTONS}}{Non-zero if the meanings of the left and right mouse buttons are swapped; zero otherwise.}
156 \end{twocollist}
157
158 {\it win} is a pointer to the window for which the metric is requested.
159 Specifying the {\it win} parameter is encouraged, because some metrics on some ports are not supported without one,
160 or they might be capable of reporting better values if given one. If a window does not make sense for a metric,
161 one should still be given, as for example it might determine which displays cursor width is requested with
162 wxSYS\_CURSOR\_X.
163
164 \pythonnote{This static method is implemented in Python as a
165 standalone function named {\tt wxSystemSettings\_GetMetric}}
166
167 \membersection{wxSystemSettings::GetScreenType}\label{wxsystemsettingsgetscreentype}
168
169 \func{static wxSystemScreenType}{GetScreenType}{\void}
170
171 Returns the screen type. The return value is one of:
172
173 \twocolwidtha{7cm}
174 \begin{twocollist}\itemsep=0pt
175 \twocolitem{{\bf wxSYS\_SCREEN\_NONE}}{Undefined screen type}
176 \twocolitem{{\bf wxSYS\_SCREEN\_TINY}}{Tiny screen, less than 320x240}
177 \twocolitem{{\bf wxSYS\_SCREEN\_PDA}}{PDA screen, 320x240 or more but less than 640x480}
178 \twocolitem{{\bf wxSYS\_SCREEN\_SMALL}}{Small screen, 640x480 or more but less than 800x600}
179 \twocolitem{{\bf wxSYS\_SCREEN\_DESKTOP}}{Desktop screen, 800x600 or more}
180 \end{twocollist}
181