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