1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: interface of wxAuiDockArt
4 // Author: wxWidgets team
6 // Licence: wxWindows licence
7 /////////////////////////////////////////////////////////////////////////////
11 These are the possible pane dock art settings for wxAuiDefaultDockArt.
17 enum wxAuiPaneDockArtSetting
20 /// Customizes the sash size
21 wxAUI_DOCKART_SASH_SIZE
= 0,
23 /// Customizes the caption size
24 wxAUI_DOCKART_CAPTION_SIZE
= 1,
26 /// Customizes the gripper size
27 wxAUI_DOCKART_GRIPPER_SIZE
= 2,
29 /// Customizes the pane border size
30 wxAUI_DOCKART_PANE_BORDER_SIZE
= 3,
32 /// Customizes the pane button size
33 wxAUI_DOCKART_PANE_BUTTON_SIZE
= 4,
35 /// Customizes the background colour, which corresponds to the client area.
36 wxAUI_DOCKART_BACKGROUND_COLOUR
= 5,
38 /// Customizes the sash colour
39 wxAUI_DOCKART_SASH_COLOUR
= 6,
41 /// Customizes the active caption colour
42 wxAUI_DOCKART_ACTIVE_CAPTION_COLOUR
= 7,
44 /// Customizes the active caption gradient colour
45 wxAUI_DOCKART_ACTIVE_CAPTION_GRADIENT_COLOUR
= 8,
47 /// Customizes the inactive caption colour
48 wxAUI_DOCKART_INACTIVE_CAPTION_COLOUR
= 9,
50 /// Customizes the inactive gradient caption colour
51 wxAUI_DOCKART_INACTIVE_CAPTION_GRADIENT_COLOUR
= 10,
53 /// Customizes the active caption text colour
54 wxAUI_DOCKART_ACTIVE_CAPTION_TEXT_COLOUR
= 11,
56 /// Customizes the inactive caption text colour
57 wxAUI_DOCKART_INACTIVE_CAPTION_TEXT_COLOUR
= 12,
59 /// Customizes the border colour
60 wxAUI_DOCKART_BORDER_COLOUR
= 13,
62 /// Customizes the gripper colour
63 wxAUI_DOCKART_GRIPPER_COLOUR
= 14,
65 /// Customizes the caption font
66 wxAUI_DOCKART_CAPTION_FONT
= 15,
68 /// Customizes the gradient type (no gradient, vertical or horizontal)
69 wxAUI_DOCKART_GRADIENT_TYPE
= 16
74 These are the possible gradient dock art settings for wxAuiDefaultDockArt
77 enum wxAuiPaneDockArtGradients
79 /// No gradient on the captions, in other words a solid colour
80 wxAUI_GRADIENT_NONE
= 0,
82 /// Vertical gradient on the captions, in other words a gradal change in colours from top to bottom
83 wxAUI_GRADIENT_VERTICAL
= 1,
85 /// Horizontal gradient on the captions, in other words a gradual change in colours from left to right
86 wxAUI_GRADIENT_HORIZONTAL
= 2
90 These are the possible pane button / wxAuiNotebook button / wxAuiToolBar button states.
92 enum wxAuiPaneButtonState
94 /// Normal button state
95 wxAUI_BUTTON_STATE_NORMAL
= 0,
97 /// Hovered button state
98 wxAUI_BUTTON_STATE_HOVER
= 1 << 1,
100 /// Pressed button state
101 wxAUI_BUTTON_STATE_PRESSED
= 1 << 2,
103 /// Disabled button state
104 wxAUI_BUTTON_STATE_DISABLED
= 1 << 3,
106 /// Hidden button state
107 wxAUI_BUTTON_STATE_HIDDEN
= 1 << 4,
109 /// Checked button state
110 wxAUI_BUTTON_STATE_CHECKED
= 1 << 5
114 These are the possible pane button / wxAuiNotebook button / wxAuiToolBar button identifiers.
119 /// Shows a close button on the pane
120 wxAUI_BUTTON_CLOSE
= 101,
122 /// Shows a maximize/restore button on the pane
123 wxAUI_BUTTON_MAXIMIZE_RESTORE
= 102,
125 /// Shows a minimize button on the pane
126 wxAUI_BUTTON_MINIMIZE
= 103,
129 Shows a pin button on the pane
131 wxAUI_BUTTON_PIN
= 104,
134 Shows an option button on the pane (not implemented)
136 wxAUI_BUTTON_OPTIONS
= 105,
139 Shows a window list button on the pane (for wxAuiNotebook)
141 wxAUI_BUTTON_WINDOWLIST
= 106,
144 Shows a left button on the pane (for wxAuiNotebook)
146 wxAUI_BUTTON_LEFT
= 107,
149 Shows a right button on the pane (for wxAuiNotebook)
151 wxAUI_BUTTON_RIGHT
= 108,
154 Shows an up button on the pane (not implemented)
156 wxAUI_BUTTON_UP
= 109,
159 Shows a down button on the pane (not implemented)
161 wxAUI_BUTTON_DOWN
= 110,
164 Shows one of three possible custom buttons on the pane (not implemented)
166 wxAUI_BUTTON_CUSTOM1
= 201,
169 Shows one of three possible custom buttons on the pane (not implemented)
171 wxAUI_BUTTON_CUSTOM2
= 202,
174 Shows one of three possible custom buttons on the pane (not implemented)
176 wxAUI_BUTTON_CUSTOM3
= 203
182 wxAuiDockArt is part of the wxAUI class framework.
183 See also @ref overview_aui.
185 wxAuiDockArt is the art provider: provides all drawing functionality to the
186 wxAui dock manager. This allows the dock manager to have a plugable look-and-feel.
188 By default, a wxAuiManager uses an instance of this class called
189 wxAuiDefaultDockArt which provides bitmap art and a colour scheme that is
190 adapted to the major platforms' look. You can either derive from that class
191 to alter its behaviour or write a completely new dock art class.
192 Call wxAuiManager::SetArtProvider to force wxAUI to use your new dock art provider.
197 @see wxAuiManager, wxAuiPaneInfo
210 virtual ~wxAuiDockArt();
215 virtual void DrawBackground(wxDC
& dc
, wxWindow
* window
, int orientation
,
216 const wxRect
& rect
) = 0;
221 virtual void DrawBorder(wxDC
& dc
, wxWindow
* window
, const wxRect
& rect
,
222 wxAuiPaneInfo
& pane
) = 0;
227 virtual void DrawCaption(wxDC
& dc
, wxWindow
* window
, const wxString
& text
,
228 const wxRect
& rect
, wxAuiPaneInfo
& pane
) = 0;
233 virtual void DrawGripper(wxDC
& dc
, wxWindow
* window
, const wxRect
& rect
,
234 wxAuiPaneInfo
& pane
) = 0;
237 Draws a button in the pane's title bar.
238 @a button can be one of the values of @b wxAuiButtonId.
239 @a button_state can be one of the values of @b wxAuiPaneButtonState.
241 virtual void DrawPaneButton(wxDC
& dc
, wxWindow
* window
, int button
,
242 int button_state
, const wxRect
& rect
,
243 wxAuiPaneInfo
& pane
) = 0;
246 Draws a sash between two windows.
248 virtual void DrawSash(wxDC
& dc
, wxWindow
* window
, int orientation
,
249 const wxRect
& rect
) = 0;
251 Get the colour of a certain setting.
252 @a id can be one of the colour values of @b wxAuiPaneDockArtSetting.
254 virtual wxColour
GetColour(int id
) = 0;
259 virtual wxFont
GetFont(int id
) = 0;
262 Get the value of a certain setting.
263 @a id can be one of the size values of @b wxAuiPaneDockArtSetting.
265 virtual int GetMetric(int id
) = 0;
268 Set a certain setting with the value @e colour.
269 @a id can be one of the colour values of @b wxAuiPaneDockArtSetting.
271 virtual void SetColour(int id
, const wxColour
& colour
) = 0;
276 virtual void SetFont(int id
, const wxFont
& font
) = 0;
279 Set a certain setting with the value @e new_val.
280 @a id can be one of the size values of @b wxAuiPaneDockArtSetting.
282 virtual void SetMetric(int id
, int new_val
) = 0;