]> git.saurik.com Git - wxWidgets.git/blob - interface/aui/dockart.h
fix for infinite sizing loop (partial patch 1907189)
[wxWidgets.git] / interface / aui / dockart.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: aui/dockart.h
3 // Purpose: interface of wxAuiDockArt
4 // Author: wxWidgets team
5 // RCS-ID: $Id$
6 // Licence: wxWindows license
7 /////////////////////////////////////////////////////////////////////////////
8
9 /**
10 @class wxAuiDockArt
11 @headerfile dockart.h wx/aui/dockart.h
12
13 wxAuiDockArt is part of the wxAUI class framework.
14 See also @ref overview_wxauioverview.
15
16 Dock art provider code - a dock provider provides all drawing
17 functionality to the wxAui dock manager. This allows the dock
18 manager to have a plugable look-and-feel.
19
20 By default, a wxAuiManager uses an
21 instance of this class called @b wxAuiDefaultDockArt which
22 provides bitmap art and a colour scheme that is adapted to
23 the major platforms' look. You can either derive from that
24 class to alter its behaviour or write a completely new dock
25 art class. Call wxAuiManager::SetArtProvider
26 to make use this new dock art.
27
28 @library{wxaui}
29 @category{aui}
30
31 @see wxAuiManager, wxAuiPaneInfo
32 */
33 class wxAuiDockArt
34 {
35 public:
36 /**
37 Constructor.
38 */
39 wxAuiDockArt();
40
41 /**
42 Destructor.
43 */
44 ~wxAuiDockArt();
45
46 /**
47 Draws a background.
48 */
49 virtual void DrawBackground(wxDC& dc, wxWindow* window,
50 int orientation,
51 const wxRect& rect);
52
53 /**
54 Draws a border.
55 */
56 virtual void DrawBorder(wxDC& dc, wxWindow* window,
57 const wxRect& rect,
58 wxAuiPaneInfo& pane);
59
60 /**
61 Draws a caption.
62 */
63 virtual void DrawCaption(wxDC& dc, wxWindow* window,
64 const wxString& text,
65 const wxRect& rect,
66 wxAuiPaneInfo& pane);
67
68 /**
69 Draws a gripper.
70 */
71 virtual void DrawGripper(wxDC& dc, wxWindow* window,
72 const wxRect& rect,
73 wxAuiPaneInfo& pane);
74
75 /**
76 Draws a button in the pane's title bar.
77 @a button can be one of the values of @b wxAuiButtonId.
78 @a button_state can be one of the values of @b wxAuiPaneButtonState.
79 */
80 virtual void DrawPaneButton(wxDC& dc, wxWindow* window,
81 int button,
82 int button_state,
83 const wxRect& rect,
84 wxAuiPaneInfo& pane);
85
86 /**
87 Draws a sash between two windows.
88 */
89 virtual void DrawSash(wxDC& dc, wxWindow* window,
90 int orientation,
91 const wxRect& rect);
92
93 /**
94 The same as GetColour().
95 */
96 virtual wxColour GetColor(int id);
97
98 /**
99 Get the colour of a certain setting.
100 @a id can be one of the colour values of @b wxAuiPaneDockArtSetting.
101 */
102 virtual wxColour GetColour(int id);
103
104 /**
105 Get a font setting.
106 */
107 virtual wxFont GetFont(int id);
108
109 /**
110 Get the value of a certain setting.
111 @a id can be one of the size values of @b wxAuiPaneDockArtSetting.
112 */
113 virtual int GetMetric(int id);
114
115 /**
116 The same as SetColour().
117 */
118 virtual void SetColor(int id, const wxColour& color);
119
120 /**
121 Set a certain setting with the value @e colour.
122 @a id can be one of the colour values of @b wxAuiPaneDockArtSetting.
123 */
124 virtual void SetColour(int id, const wxColor& colour);
125
126 /**
127 Set a font setting.
128 */
129 virtual void SetFont(int id, const wxFont& font);
130
131 /**
132 Set a certain setting with the value @e new_val.
133 @a id can be one of the size values of @b wxAuiPaneDockArtSetting.
134 */
135 virtual void SetMetric(int id, int new_val);
136 };
137