1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: interface of wxAuiDockArt
4 // Author: wxWidgets team
5 // Licence: wxWindows licence
6 /////////////////////////////////////////////////////////////////////////////
10 These are the possible pane dock art settings for wxAuiDefaultDockArt.
16 enum wxAuiPaneDockArtSetting
19 /// Customizes the sash size
20 wxAUI_DOCKART_SASH_SIZE
= 0,
22 /// Customizes the caption size
23 wxAUI_DOCKART_CAPTION_SIZE
= 1,
25 /// Customizes the gripper size
26 wxAUI_DOCKART_GRIPPER_SIZE
= 2,
28 /// Customizes the pane border size
29 wxAUI_DOCKART_PANE_BORDER_SIZE
= 3,
31 /// Customizes the pane button size
32 wxAUI_DOCKART_PANE_BUTTON_SIZE
= 4,
34 /// Customizes the background colour, which corresponds to the client area.
35 wxAUI_DOCKART_BACKGROUND_COLOUR
= 5,
37 /// Customizes the sash colour
38 wxAUI_DOCKART_SASH_COLOUR
= 6,
40 /// Customizes the active caption colour
41 wxAUI_DOCKART_ACTIVE_CAPTION_COLOUR
= 7,
43 /// Customizes the active caption gradient colour
44 wxAUI_DOCKART_ACTIVE_CAPTION_GRADIENT_COLOUR
= 8,
46 /// Customizes the inactive caption colour
47 wxAUI_DOCKART_INACTIVE_CAPTION_COLOUR
= 9,
49 /// Customizes the inactive gradient caption colour
50 wxAUI_DOCKART_INACTIVE_CAPTION_GRADIENT_COLOUR
= 10,
52 /// Customizes the active caption text colour
53 wxAUI_DOCKART_ACTIVE_CAPTION_TEXT_COLOUR
= 11,
55 /// Customizes the inactive caption text colour
56 wxAUI_DOCKART_INACTIVE_CAPTION_TEXT_COLOUR
= 12,
58 /// Customizes the border colour
59 wxAUI_DOCKART_BORDER_COLOUR
= 13,
61 /// Customizes the gripper colour
62 wxAUI_DOCKART_GRIPPER_COLOUR
= 14,
64 /// Customizes the caption font
65 wxAUI_DOCKART_CAPTION_FONT
= 15,
67 /// Customizes the gradient type (no gradient, vertical or horizontal)
68 wxAUI_DOCKART_GRADIENT_TYPE
= 16
73 These are the possible gradient dock art settings for wxAuiDefaultDockArt
76 enum wxAuiPaneDockArtGradients
78 /// No gradient on the captions, in other words a solid colour
79 wxAUI_GRADIENT_NONE
= 0,
81 /// Vertical gradient on the captions, in other words a gradal change in colours from top to bottom
82 wxAUI_GRADIENT_VERTICAL
= 1,
84 /// Horizontal gradient on the captions, in other words a gradual change in colours from left to right
85 wxAUI_GRADIENT_HORIZONTAL
= 2
89 These are the possible pane button / wxAuiNotebook button / wxAuiToolBar button states.
91 enum wxAuiPaneButtonState
93 /// Normal button state
94 wxAUI_BUTTON_STATE_NORMAL
= 0,
96 /// Hovered button state
97 wxAUI_BUTTON_STATE_HOVER
= 1 << 1,
99 /// Pressed button state
100 wxAUI_BUTTON_STATE_PRESSED
= 1 << 2,
102 /// Disabled button state
103 wxAUI_BUTTON_STATE_DISABLED
= 1 << 3,
105 /// Hidden button state
106 wxAUI_BUTTON_STATE_HIDDEN
= 1 << 4,
108 /// Checked button state
109 wxAUI_BUTTON_STATE_CHECKED
= 1 << 5
113 These are the possible pane button / wxAuiNotebook button / wxAuiToolBar button identifiers.
118 /// Shows a close button on the pane
119 wxAUI_BUTTON_CLOSE
= 101,
121 /// Shows a maximize/restore button on the pane
122 wxAUI_BUTTON_MAXIMIZE_RESTORE
= 102,
124 /// Shows a minimize button on the pane
125 wxAUI_BUTTON_MINIMIZE
= 103,
128 Shows a pin button on the pane
130 wxAUI_BUTTON_PIN
= 104,
133 Shows an option button on the pane (not implemented)
135 wxAUI_BUTTON_OPTIONS
= 105,
138 Shows a window list button on the pane (for wxAuiNotebook)
140 wxAUI_BUTTON_WINDOWLIST
= 106,
143 Shows a left button on the pane (for wxAuiNotebook)
145 wxAUI_BUTTON_LEFT
= 107,
148 Shows a right button on the pane (for wxAuiNotebook)
150 wxAUI_BUTTON_RIGHT
= 108,
153 Shows an up button on the pane (not implemented)
155 wxAUI_BUTTON_UP
= 109,
158 Shows a down button on the pane (not implemented)
160 wxAUI_BUTTON_DOWN
= 110,
163 Shows one of three possible custom buttons on the pane (not implemented)
165 wxAUI_BUTTON_CUSTOM1
= 201,
168 Shows one of three possible custom buttons on the pane (not implemented)
170 wxAUI_BUTTON_CUSTOM2
= 202,
173 Shows one of three possible custom buttons on the pane (not implemented)
175 wxAUI_BUTTON_CUSTOM3
= 203
181 wxAuiDockArt is part of the wxAUI class framework.
182 See also @ref overview_aui.
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.
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.
196 @see wxAuiManager, wxAuiPaneInfo
209 virtual ~wxAuiDockArt();
214 virtual void DrawBackground(wxDC
& dc
, wxWindow
* window
, int orientation
,
215 const wxRect
& rect
) = 0;
220 virtual void DrawBorder(wxDC
& dc
, wxWindow
* window
, const wxRect
& rect
,
221 wxAuiPaneInfo
& pane
) = 0;
226 virtual void DrawCaption(wxDC
& dc
, wxWindow
* window
, const wxString
& text
,
227 const wxRect
& rect
, wxAuiPaneInfo
& pane
) = 0;
232 virtual void DrawGripper(wxDC
& dc
, wxWindow
* window
, const wxRect
& rect
,
233 wxAuiPaneInfo
& pane
) = 0;
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.
240 virtual void DrawPaneButton(wxDC
& dc
, wxWindow
* window
, int button
,
241 int button_state
, const wxRect
& rect
,
242 wxAuiPaneInfo
& pane
) = 0;
245 Draws a sash between two windows.
247 virtual void DrawSash(wxDC
& dc
, wxWindow
* window
, int orientation
,
248 const wxRect
& rect
) = 0;
250 Get the colour of a certain setting.
251 @a id can be one of the colour values of @b wxAuiPaneDockArtSetting.
253 virtual wxColour
GetColour(int id
) = 0;
258 virtual wxFont
GetFont(int id
) = 0;
261 Get the value of a certain setting.
262 @a id can be one of the size values of @b wxAuiPaneDockArtSetting.
264 virtual int GetMetric(int id
) = 0;
267 Set a certain setting with the value @e colour.
268 @a id can be one of the colour values of @b wxAuiPaneDockArtSetting.
270 virtual void SetColour(int id
, const wxColour
& colour
) = 0;
275 virtual void SetFont(int id
, const wxFont
& font
) = 0;
278 Set a certain setting with the value @e new_val.
279 @a id can be one of the size values of @b wxAuiPaneDockArtSetting.
281 virtual void SetMetric(int id
, int new_val
) = 0;