]> git.saurik.com Git - wxWidgets.git/blame - include/wx/aui/dockart.h
Don't create multiple parent-less top level frames in layout sample.
[wxWidgets.git] / include / wx / aui / dockart.h
CommitLineData
50acee04 1///////////////////////////////////////////////////////////////////////////////
be66f18e 2// Name: wx/aui/dockart.h
50acee04
JS
3// Purpose: wxaui: wx advanced user interface - docking window manager
4// Author: Benjamin I. Williams
5// Modified by:
6// Created: 2005-05-17
be66f18e 7// RCS-ID: $Id$
50acee04
JS
8// Copyright: (C) Copyright 2005, Kirix Corporation, All Rights Reserved.
9// Licence: wxWindows Library Licence, Version 3.1
10///////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_DOCKART_H_
13#define _WX_DOCKART_H_
14
15// ----------------------------------------------------------------------------
16// headers
17// ----------------------------------------------------------------------------
18
19#include "wx/defs.h"
20
21#if wxUSE_AUI
22
08469b1f
JS
23#include "wx/pen.h"
24#include "wx/brush.h"
25#include "wx/bitmap.h"
26#include "wx/colour.h"
50acee04
JS
27
28// dock art provider code - a dock provider provides all drawing
29// functionality to the wxAui dock manager. This allows the dock
30// manager to have plugable look-and-feels
31
a3a5df9d 32class WXDLLIMPEXP_AUI wxAuiDockArt
50acee04
JS
33{
34public:
35
a3a5df9d
BW
36 wxAuiDockArt() { }
37 virtual ~wxAuiDockArt() { }
50acee04
JS
38
39 virtual int GetMetric(int id) = 0;
9a29fe70 40 virtual void SetMetric(int id, int newVal) = 0;
50acee04
JS
41 virtual void SetFont(int id, const wxFont& font) = 0;
42 virtual wxFont GetFont(int id) = 0;
43 virtual wxColour GetColour(int id) = 0;
44 virtual void SetColour(int id, const wxColor& colour) = 0;
06d4c4d6
RD
45 wxColour GetColor(int id) { return GetColour(id); }
46 void SetColor(int id, const wxColour& color) { SetColour(id, color); }
be66f18e 47
50acee04 48 virtual void DrawSash(wxDC& dc,
a6b0e5bd 49 wxWindow* window,
50acee04
JS
50 int orientation,
51 const wxRect& rect) = 0;
52
53 virtual void DrawBackground(wxDC& dc,
a6b0e5bd 54 wxWindow* window,
50acee04
JS
55 int orientation,
56 const wxRect& rect) = 0;
57
58 virtual void DrawCaption(wxDC& dc,
a6b0e5bd 59 wxWindow* window,
50acee04
JS
60 const wxString& text,
61 const wxRect& rect,
a3a5df9d 62 wxAuiPaneInfo& pane) = 0;
50acee04
JS
63
64 virtual void DrawGripper(wxDC& dc,
a6b0e5bd 65 wxWindow* window,
50acee04 66 const wxRect& rect,
a3a5df9d 67 wxAuiPaneInfo& pane) = 0;
50acee04
JS
68
69 virtual void DrawBorder(wxDC& dc,
a6b0e5bd 70 wxWindow* window,
50acee04 71 const wxRect& rect,
a3a5df9d 72 wxAuiPaneInfo& pane) = 0;
50acee04
JS
73
74 virtual void DrawPaneButton(wxDC& dc,
a6b0e5bd 75 wxWindow* window,
50acee04 76 int button,
9a29fe70 77 int buttonState,
50acee04 78 const wxRect& rect,
a3a5df9d 79 wxAuiPaneInfo& pane) = 0;
50acee04
JS
80};
81
82
a3a5df9d 83// this is the default art provider for wxAuiManager. Dock art
50acee04
JS
84// can be customized by creating a class derived from this one,
85// or replacing this class entirely
86
a3a5df9d 87class WXDLLIMPEXP_AUI wxAuiDefaultDockArt : public wxAuiDockArt
50acee04
JS
88{
89public:
90
a3a5df9d 91 wxAuiDefaultDockArt();
50acee04 92
9a29fe70
VZ
93 int GetMetric(int metricId);
94 void SetMetric(int metricId, int newVal);
50acee04
JS
95 wxColour GetColour(int id);
96 void SetColour(int id, const wxColor& colour);
97 void SetFont(int id, const wxFont& font);
98 wxFont GetFont(int id);
99
100 void DrawSash(wxDC& dc,
ad7b3b76 101 wxWindow *window,
50acee04
JS
102 int orientation,
103 const wxRect& rect);
104
105 void DrawBackground(wxDC& dc,
ad7b3b76 106 wxWindow *window,
50acee04
JS
107 int orientation,
108 const wxRect& rect);
109
110 void DrawCaption(wxDC& dc,
ad7b3b76 111 wxWindow *window,
50acee04
JS
112 const wxString& text,
113 const wxRect& rect,
a3a5df9d 114 wxAuiPaneInfo& pane);
50acee04
JS
115
116 void DrawGripper(wxDC& dc,
ad7b3b76 117 wxWindow *window,
50acee04 118 const wxRect& rect,
a3a5df9d 119 wxAuiPaneInfo& pane);
50acee04
JS
120
121 void DrawBorder(wxDC& dc,
ad7b3b76 122 wxWindow *window,
50acee04 123 const wxRect& rect,
a3a5df9d 124 wxAuiPaneInfo& pane);
50acee04
JS
125
126 void DrawPaneButton(wxDC& dc,
ad7b3b76 127 wxWindow *window,
50acee04 128 int button,
9a29fe70 129 int buttonState,
50acee04 130 const wxRect& rect,
a3a5df9d 131 wxAuiPaneInfo& pane);
50acee04 132
4254f672
VZ
133 void DrawIcon(wxDC& dc,
134 const wxRect& rect,
135 wxAuiPaneInfo& pane);
136
50acee04
JS
137protected:
138
139 void DrawCaptionBackground(wxDC& dc, const wxRect& rect, bool active);
140
cae374ef
VZ
141 void InitBitmaps();
142
50acee04
JS
143protected:
144
9a29fe70
VZ
145 wxPen m_borderPen;
146 wxBrush m_sashBrush;
147 wxBrush m_backgroundBrush;
148 wxBrush m_gripperBrush;
149 wxFont m_captionFont;
150 wxBitmap m_inactiveCloseBitmap;
151 wxBitmap m_inactivePinBitmap;
152 wxBitmap m_inactiveMaximizeBitmap;
153 wxBitmap m_inactiveRestoreBitmap;
154 wxBitmap m_activeCloseBitmap;
155 wxBitmap m_activePinBitmap;
156 wxBitmap m_activeMaximizeBitmap;
157 wxBitmap m_activeRestoreBitmap;
158 wxPen m_gripperPen1;
159 wxPen m_gripperPen2;
160 wxPen m_gripperPen3;
161 wxColour m_baseColour;
162 wxColour m_activeCaptionColour;
163 wxColour m_activeCaptionGradientColour;
164 wxColour m_activeCaptionTextColour;
165 wxColour m_inactiveCaptionColour;
166 wxColour m_inactiveCaptionGradientColour;
167 wxColour m_inactiveCaptionTextColour;
168 int m_borderSize;
169 int m_captionSize;
170 int m_sashSize;
171 int m_buttonSize;
172 int m_gripperSize;
173 int m_gradientType;
50acee04
JS
174};
175
176
177
178#endif // wxUSE_AUI
179#endif //_WX_DOCKART_H_