]>
Commit | Line | Data |
---|---|---|
1 | ///////////////////////////////////////////////////////////////////////////// | |
2 | // Name: aui/dockart.h | |
3 | // Purpose: interface of wxAuiDockArt | |
4 | // Author: wxWidgets team | |
5 | // Licence: wxWindows licence | |
6 | ///////////////////////////////////////////////////////////////////////////// | |
7 | ||
8 | ||
9 | /** | |
10 | These are the possible pane dock art settings for wxAuiDefaultDockArt. | |
11 | ||
12 | @library{wxaui} | |
13 | @category{aui} | |
14 | ||
15 | */ | |
16 | enum wxAuiPaneDockArtSetting | |
17 | { | |
18 | ||
19 | /// Customizes the sash size | |
20 | wxAUI_DOCKART_SASH_SIZE = 0, | |
21 | ||
22 | /// Customizes the caption size | |
23 | wxAUI_DOCKART_CAPTION_SIZE = 1, | |
24 | ||
25 | /// Customizes the gripper size | |
26 | wxAUI_DOCKART_GRIPPER_SIZE = 2, | |
27 | ||
28 | /// Customizes the pane border size | |
29 | wxAUI_DOCKART_PANE_BORDER_SIZE = 3, | |
30 | ||
31 | /// Customizes the pane button size | |
32 | wxAUI_DOCKART_PANE_BUTTON_SIZE = 4, | |
33 | ||
34 | /// Customizes the background colour, which corresponds to the client area. | |
35 | wxAUI_DOCKART_BACKGROUND_COLOUR = 5, | |
36 | ||
37 | /// Customizes the sash colour | |
38 | wxAUI_DOCKART_SASH_COLOUR = 6, | |
39 | ||
40 | /// Customizes the active caption colour | |
41 | wxAUI_DOCKART_ACTIVE_CAPTION_COLOUR = 7, | |
42 | ||
43 | /// Customizes the active caption gradient colour | |
44 | wxAUI_DOCKART_ACTIVE_CAPTION_GRADIENT_COLOUR = 8, | |
45 | ||
46 | /// Customizes the inactive caption colour | |
47 | wxAUI_DOCKART_INACTIVE_CAPTION_COLOUR = 9, | |
48 | ||
49 | /// Customizes the inactive gradient caption colour | |
50 | wxAUI_DOCKART_INACTIVE_CAPTION_GRADIENT_COLOUR = 10, | |
51 | ||
52 | /// Customizes the active caption text colour | |
53 | wxAUI_DOCKART_ACTIVE_CAPTION_TEXT_COLOUR = 11, | |
54 | ||
55 | /// Customizes the inactive caption text colour | |
56 | wxAUI_DOCKART_INACTIVE_CAPTION_TEXT_COLOUR = 12, | |
57 | ||
58 | /// Customizes the border colour | |
59 | wxAUI_DOCKART_BORDER_COLOUR = 13, | |
60 | ||
61 | /// Customizes the gripper colour | |
62 | wxAUI_DOCKART_GRIPPER_COLOUR = 14, | |
63 | ||
64 | /// Customizes the caption font | |
65 | wxAUI_DOCKART_CAPTION_FONT = 15, | |
66 | ||
67 | /// Customizes the gradient type (no gradient, vertical or horizontal) | |
68 | wxAUI_DOCKART_GRADIENT_TYPE = 16 | |
69 | ||
70 | }; | |
71 | ||
72 | /** | |
73 | These are the possible gradient dock art settings for wxAuiDefaultDockArt | |
74 | ||
75 | */ | |
76 | enum wxAuiPaneDockArtGradients | |
77 | { | |
78 | /// No gradient on the captions, in other words a solid colour | |
79 | wxAUI_GRADIENT_NONE = 0, | |
80 | ||
81 | /// Vertical gradient on the captions, in other words a gradal change in colours from top to bottom | |
82 | wxAUI_GRADIENT_VERTICAL = 1, | |
83 | ||
84 | /// Horizontal gradient on the captions, in other words a gradual change in colours from left to right | |
85 | wxAUI_GRADIENT_HORIZONTAL = 2 | |
86 | }; | |
87 | ||
88 | /** | |
89 | These are the possible pane button / wxAuiNotebook button / wxAuiToolBar button states. | |
90 | */ | |
91 | enum wxAuiPaneButtonState | |
92 | { | |
93 | /// Normal button state | |
94 | wxAUI_BUTTON_STATE_NORMAL = 0, | |
95 | ||
96 | /// Hovered button state | |
97 | wxAUI_BUTTON_STATE_HOVER = 1 << 1, | |
98 | ||
99 | /// Pressed button state | |
100 | wxAUI_BUTTON_STATE_PRESSED = 1 << 2, | |
101 | ||
102 | /// Disabled button state | |
103 | wxAUI_BUTTON_STATE_DISABLED = 1 << 3, | |
104 | ||
105 | /// Hidden button state | |
106 | wxAUI_BUTTON_STATE_HIDDEN = 1 << 4, | |
107 | ||
108 | /// Checked button state | |
109 | wxAUI_BUTTON_STATE_CHECKED = 1 << 5 | |
110 | }; | |
111 | ||
112 | /** | |
113 | These are the possible pane button / wxAuiNotebook button / wxAuiToolBar button identifiers. | |
114 | ||
115 | */ | |
116 | enum wxAuiButtonId | |
117 | { | |
118 | /// Shows a close button on the pane | |
119 | wxAUI_BUTTON_CLOSE = 101, | |
120 | ||
121 | /// Shows a maximize/restore button on the pane | |
122 | wxAUI_BUTTON_MAXIMIZE_RESTORE = 102, | |
123 | ||
124 | /// Shows a minimize button on the pane | |
125 | wxAUI_BUTTON_MINIMIZE = 103, | |
126 | ||
127 | /** | |
128 | Shows a pin button on the pane | |
129 | */ | |
130 | wxAUI_BUTTON_PIN = 104, | |
131 | ||
132 | /** | |
133 | Shows an option button on the pane (not implemented) | |
134 | */ | |
135 | wxAUI_BUTTON_OPTIONS = 105, | |
136 | ||
137 | /** | |
138 | Shows a window list button on the pane (for wxAuiNotebook) | |
139 | */ | |
140 | wxAUI_BUTTON_WINDOWLIST = 106, | |
141 | ||
142 | /** | |
143 | Shows a left button on the pane (for wxAuiNotebook) | |
144 | */ | |
145 | wxAUI_BUTTON_LEFT = 107, | |
146 | ||
147 | /** | |
148 | Shows a right button on the pane (for wxAuiNotebook) | |
149 | */ | |
150 | wxAUI_BUTTON_RIGHT = 108, | |
151 | ||
152 | /** | |
153 | Shows an up button on the pane (not implemented) | |
154 | */ | |
155 | wxAUI_BUTTON_UP = 109, | |
156 | ||
157 | /** | |
158 | Shows a down button on the pane (not implemented) | |
159 | */ | |
160 | wxAUI_BUTTON_DOWN = 110, | |
161 | ||
162 | /** | |
163 | Shows one of three possible custom buttons on the pane (not implemented) | |
164 | */ | |
165 | wxAUI_BUTTON_CUSTOM1 = 201, | |
166 | ||
167 | /** | |
168 | Shows one of three possible custom buttons on the pane (not implemented) | |
169 | */ | |
170 | wxAUI_BUTTON_CUSTOM2 = 202, | |
171 | ||
172 | /** | |
173 | Shows one of three possible custom buttons on the pane (not implemented) | |
174 | */ | |
175 | wxAUI_BUTTON_CUSTOM3 = 203 | |
176 | }; | |
177 | ||
178 | /** | |
179 | @class wxAuiDockArt | |
180 | ||
181 | wxAuiDockArt is part of the wxAUI class framework. | |
182 | See also @ref overview_aui. | |
183 | ||
184 | wxAuiDockArt is the art provider: provides all drawing functionality to the | |
185 | wxAui dock manager. This allows the dock manager to have a plugable look-and-feel. | |
186 | ||
187 | By default, a wxAuiManager uses an instance of this class called | |
188 | wxAuiDefaultDockArt which provides bitmap art and a colour scheme that is | |
189 | adapted to the major platforms' look. You can either derive from that class | |
190 | to alter its behaviour or write a completely new dock art class. | |
191 | Call wxAuiManager::SetArtProvider to force wxAUI to use your new dock art provider. | |
192 | ||
193 | @library{wxaui} | |
194 | @category{aui} | |
195 | ||
196 | @see wxAuiManager, wxAuiPaneInfo | |
197 | */ | |
198 | class wxAuiDockArt | |
199 | { | |
200 | public: | |
201 | /** | |
202 | Constructor. | |
203 | */ | |
204 | wxAuiDockArt(); | |
205 | ||
206 | /** | |
207 | Destructor. | |
208 | */ | |
209 | virtual ~wxAuiDockArt(); | |
210 | ||
211 | /** | |
212 | Draws a background. | |
213 | */ | |
214 | virtual void DrawBackground(wxDC& dc, wxWindow* window, int orientation, | |
215 | const wxRect& rect) = 0; | |
216 | ||
217 | /** | |
218 | Draws a border. | |
219 | */ | |
220 | virtual void DrawBorder(wxDC& dc, wxWindow* window, const wxRect& rect, | |
221 | wxAuiPaneInfo& pane) = 0; | |
222 | ||
223 | /** | |
224 | Draws a caption. | |
225 | */ | |
226 | virtual void DrawCaption(wxDC& dc, wxWindow* window, const wxString& text, | |
227 | const wxRect& rect, wxAuiPaneInfo& pane) = 0; | |
228 | ||
229 | /** | |
230 | Draws a gripper. | |
231 | */ | |
232 | virtual void DrawGripper(wxDC& dc, wxWindow* window, const wxRect& rect, | |
233 | wxAuiPaneInfo& pane) = 0; | |
234 | ||
235 | /** | |
236 | Draws a button in the pane's title bar. | |
237 | @a button can be one of the values of @b wxAuiButtonId. | |
238 | @a button_state can be one of the values of @b wxAuiPaneButtonState. | |
239 | */ | |
240 | virtual void DrawPaneButton(wxDC& dc, wxWindow* window, int button, | |
241 | int button_state, const wxRect& rect, | |
242 | wxAuiPaneInfo& pane) = 0; | |
243 | ||
244 | /** | |
245 | Draws a sash between two windows. | |
246 | */ | |
247 | virtual void DrawSash(wxDC& dc, wxWindow* window, int orientation, | |
248 | const wxRect& rect) = 0; | |
249 | /** | |
250 | Get the colour of a certain setting. | |
251 | @a id can be one of the colour values of @b wxAuiPaneDockArtSetting. | |
252 | */ | |
253 | virtual wxColour GetColour(int id) = 0; | |
254 | ||
255 | /** | |
256 | Get a font setting. | |
257 | */ | |
258 | virtual wxFont GetFont(int id) = 0; | |
259 | ||
260 | /** | |
261 | Get the value of a certain setting. | |
262 | @a id can be one of the size values of @b wxAuiPaneDockArtSetting. | |
263 | */ | |
264 | virtual int GetMetric(int id) = 0; | |
265 | ||
266 | /** | |
267 | Set a certain setting with the value @e colour. | |
268 | @a id can be one of the colour values of @b wxAuiPaneDockArtSetting. | |
269 | */ | |
270 | virtual void SetColour(int id, const wxColour& colour) = 0; | |
271 | ||
272 | /** | |
273 | Set a font setting. | |
274 | */ | |
275 | virtual void SetFont(int id, const wxFont& font) = 0; | |
276 | ||
277 | /** | |
278 | Set a certain setting with the value @e new_val. | |
279 | @a id can be one of the size values of @b wxAuiPaneDockArtSetting. | |
280 | */ | |
281 | virtual void SetMetric(int id, int new_val) = 0; | |
282 | }; | |
283 |