2008-03-08 08:52:38 -05:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: aui/dockart.h
|
2008-03-10 11:24:38 -04:00
|
|
|
// Purpose: interface of wxAuiDockArt
|
2008-03-08 08:52:38 -05:00
|
|
|
// Author: wxWidgets team
|
|
|
|
// RCS-ID: $Id$
|
|
|
|
// Licence: wxWindows license
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
2008-03-14 12:12:37 -04:00
|
|
|
|
|
|
|
/**
|
|
|
|
@todo TOWRITE
|
|
|
|
*/
|
|
|
|
enum wxAuiPaneDockArtSetting
|
|
|
|
{
|
|
|
|
wxAUI_DOCKART_SASH_SIZE = 0,
|
|
|
|
wxAUI_DOCKART_CAPTION_SIZE = 1,
|
|
|
|
wxAUI_DOCKART_GRIPPER_SIZE = 2,
|
|
|
|
wxAUI_DOCKART_PANE_BORDER_SIZE = 3,
|
|
|
|
wxAUI_DOCKART_PANE_BUTTON_SIZE = 4,
|
|
|
|
wxAUI_DOCKART_BACKGROUND_COLOUR = 5,
|
|
|
|
wxAUI_DOCKART_SASH_COLOUR = 6,
|
|
|
|
wxAUI_DOCKART_ACTIVE_CAPTION_COLOUR = 7,
|
|
|
|
wxAUI_DOCKART_ACTIVE_CAPTION_GRADIENT_COLOUR = 8,
|
|
|
|
wxAUI_DOCKART_INACTIVE_CAPTION_COLOUR = 9,
|
|
|
|
wxAUI_DOCKART_INACTIVE_CAPTION_GRADIENT_COLOUR = 10,
|
|
|
|
wxAUI_DOCKART_ACTIVE_CAPTION_TEXT_COLOUR = 11,
|
|
|
|
wxAUI_DOCKART_INACTIVE_CAPTION_TEXT_COLOUR = 12,
|
|
|
|
wxAUI_DOCKART_BORDER_COLOUR = 13,
|
|
|
|
wxAUI_DOCKART_GRIPPER_COLOUR = 14,
|
|
|
|
wxAUI_DOCKART_CAPTION_FONT = 15,
|
|
|
|
wxAUI_DOCKART_GRADIENT_TYPE = 16
|
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
@todo TOWRITE
|
|
|
|
*/
|
|
|
|
enum wxAuiPaneDockArtGradients
|
|
|
|
{
|
|
|
|
wxAUI_GRADIENT_NONE = 0,
|
|
|
|
wxAUI_GRADIENT_VERTICAL = 1,
|
|
|
|
wxAUI_GRADIENT_HORIZONTAL = 2
|
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
@todo TOWRITE
|
|
|
|
*/
|
|
|
|
enum wxAuiPaneButtonState
|
|
|
|
{
|
|
|
|
wxAUI_BUTTON_STATE_NORMAL = 0,
|
|
|
|
wxAUI_BUTTON_STATE_HOVER = 1,
|
|
|
|
wxAUI_BUTTON_STATE_PRESSED = 2
|
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
@todo TOWRITE
|
|
|
|
*/
|
|
|
|
enum wxAuiButtonId
|
|
|
|
{
|
|
|
|
wxAUI_BUTTON_CLOSE = 101,
|
|
|
|
wxAUI_BUTTON_MAXIMIZE_RESTORE = 102,
|
|
|
|
wxAUI_BUTTON_MINIMIZE = 103,
|
|
|
|
wxAUI_BUTTON_PIN = 104,
|
|
|
|
wxAUI_BUTTON_OPTIONS = 105,
|
|
|
|
wxAUI_BUTTON_WINDOWLIST = 106,
|
|
|
|
wxAUI_BUTTON_LEFT = 107,
|
|
|
|
wxAUI_BUTTON_RIGHT = 108,
|
|
|
|
wxAUI_BUTTON_UP = 109,
|
|
|
|
wxAUI_BUTTON_DOWN = 110,
|
|
|
|
wxAUI_BUTTON_CUSTOM1 = 201,
|
|
|
|
wxAUI_BUTTON_CUSTOM2 = 202,
|
|
|
|
wxAUI_BUTTON_CUSTOM3 = 203
|
|
|
|
};
|
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
/**
|
|
|
|
@class wxAuiDockArt
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
wxAuiDockArt is part of the wxAUI class framework.
|
2008-03-14 12:12:37 -04:00
|
|
|
See also @ref overview_aui.
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-03-14 12:12:37 -04:00
|
|
|
wxAuiDockArt is the art provider: provides all drawing functionality to the
|
|
|
|
wxAui dock manager. This allows the dock manager to have a plugable look-and-feel.
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-03-24 14:17:11 -04:00
|
|
|
By default, a wxAuiManager uses an instance of this class called
|
2008-03-14 12:12:37 -04:00
|
|
|
wxAuiDefaultDockArt which provides bitmap art and a colour scheme that is
|
|
|
|
adapted to the major platforms' look. You can either derive from that class
|
|
|
|
to alter its behaviour or write a completely new dock art class.
|
|
|
|
Call wxAuiManager::SetArtProvider to force wxAUI to use your new dock art provider.
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
@library{wxaui}
|
|
|
|
@category{aui}
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-03-10 11:24:38 -04:00
|
|
|
@see wxAuiManager, wxAuiPaneInfo
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
2008-03-08 09:43:31 -05:00
|
|
|
class wxAuiDockArt
|
2008-03-08 08:52:38 -05:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
/**
|
|
|
|
Constructor.
|
|
|
|
*/
|
|
|
|
wxAuiDockArt();
|
|
|
|
|
|
|
|
/**
|
|
|
|
Destructor.
|
|
|
|
*/
|
2008-03-24 14:17:11 -04:00
|
|
|
virtual ~wxAuiDockArt();
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
Draws a background.
|
|
|
|
*/
|
2008-03-25 12:01:21 -04:00
|
|
|
virtual void DrawBackground(wxDC& dc, wxWindow* window, int orientation,
|
|
|
|
const wxRect& rect) = 0;
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
Draws a border.
|
|
|
|
*/
|
2008-03-25 12:01:21 -04:00
|
|
|
virtual void DrawBorder(wxDC& dc, wxWindow* window, const wxRect& rect,
|
|
|
|
wxAuiPaneInfo& pane) = 0;
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
Draws a caption.
|
|
|
|
*/
|
2008-03-25 12:01:21 -04:00
|
|
|
virtual void DrawCaption(wxDC& dc, wxWindow* window, const wxString& text,
|
|
|
|
const wxRect& rect, wxAuiPaneInfo& pane) = 0;
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
Draws a gripper.
|
|
|
|
*/
|
2008-03-25 12:01:21 -04:00
|
|
|
virtual void DrawGripper(wxDC& dc, wxWindow* window, const wxRect& rect,
|
|
|
|
wxAuiPaneInfo& pane) = 0;
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
Draws a button in the pane's title bar.
|
2008-03-09 08:33:59 -04:00
|
|
|
@a button can be one of the values of @b wxAuiButtonId.
|
|
|
|
@a button_state can be one of the values of @b wxAuiPaneButtonState.
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
2008-03-25 12:01:21 -04:00
|
|
|
virtual void DrawPaneButton(wxDC& dc, wxWindow* window, int button,
|
|
|
|
int button_state, const wxRect& rect,
|
|
|
|
wxAuiPaneInfo& pane) = 0;
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
Draws a sash between two windows.
|
|
|
|
*/
|
2008-03-25 12:01:21 -04:00
|
|
|
virtual void DrawSash(wxDC& dc, wxWindow* window, int orientation,
|
|
|
|
const wxRect& rect) = 0;
|
2008-03-08 08:52:38 -05:00
|
|
|
/**
|
|
|
|
Get the colour of a certain setting.
|
2008-03-09 08:33:59 -04:00
|
|
|
@a id can be one of the colour values of @b wxAuiPaneDockArtSetting.
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
2008-03-24 14:17:11 -04:00
|
|
|
virtual wxColour GetColour(int id) = 0;
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
Get a font setting.
|
|
|
|
*/
|
2008-03-24 18:17:25 -04:00
|
|
|
virtual wxFont GetFont(int id) = 0;
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
Get the value of a certain setting.
|
2008-03-09 08:33:59 -04:00
|
|
|
@a id can be one of the size values of @b wxAuiPaneDockArtSetting.
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
2008-03-24 18:17:25 -04:00
|
|
|
virtual int GetMetric(int id) = 0;
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
Set a certain setting with the value @e colour.
|
2008-03-09 08:33:59 -04:00
|
|
|
@a id can be one of the colour values of @b wxAuiPaneDockArtSetting.
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
2008-03-24 18:17:25 -04:00
|
|
|
virtual void SetColour(int id, const wxColour& colour) = 0;
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
Set a font setting.
|
|
|
|
*/
|
2008-03-24 18:17:25 -04:00
|
|
|
virtual void SetFont(int id, const wxFont& font) = 0;
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
Set a certain setting with the value @e new_val.
|
2008-03-09 08:33:59 -04:00
|
|
|
@a id can be one of the size values of @b wxAuiPaneDockArtSetting.
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
2008-03-24 18:17:25 -04:00
|
|
|
virtual void SetMetric(int id, int new_val) = 0;
|
2008-03-08 08:52:38 -05:00
|
|
|
};
|
2008-03-10 11:24:38 -04:00
|
|
|
|