wxWidgets/interface/wx/aui/dockart.h
Vadim Zeitlin 3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00

284 lines
7.5 KiB
Objective-C

/////////////////////////////////////////////////////////////////////////////
// Name: aui/dockart.h
// Purpose: interface of wxAuiDockArt
// Author: wxWidgets team
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
/**
These are the possible pane dock art settings for wxAuiDefaultDockArt.
@library{wxaui}
@category{aui}
*/
enum wxAuiPaneDockArtSetting
{
/// Customizes the sash size
wxAUI_DOCKART_SASH_SIZE = 0,
/// Customizes the caption size
wxAUI_DOCKART_CAPTION_SIZE = 1,
/// Customizes the gripper size
wxAUI_DOCKART_GRIPPER_SIZE = 2,
/// Customizes the pane border size
wxAUI_DOCKART_PANE_BORDER_SIZE = 3,
/// Customizes the pane button size
wxAUI_DOCKART_PANE_BUTTON_SIZE = 4,
/// Customizes the background colour, which corresponds to the client area.
wxAUI_DOCKART_BACKGROUND_COLOUR = 5,
/// Customizes the sash colour
wxAUI_DOCKART_SASH_COLOUR = 6,
/// Customizes the active caption colour
wxAUI_DOCKART_ACTIVE_CAPTION_COLOUR = 7,
/// Customizes the active caption gradient colour
wxAUI_DOCKART_ACTIVE_CAPTION_GRADIENT_COLOUR = 8,
/// Customizes the inactive caption colour
wxAUI_DOCKART_INACTIVE_CAPTION_COLOUR = 9,
/// Customizes the inactive gradient caption colour
wxAUI_DOCKART_INACTIVE_CAPTION_GRADIENT_COLOUR = 10,
/// Customizes the active caption text colour
wxAUI_DOCKART_ACTIVE_CAPTION_TEXT_COLOUR = 11,
/// Customizes the inactive caption text colour
wxAUI_DOCKART_INACTIVE_CAPTION_TEXT_COLOUR = 12,
/// Customizes the border colour
wxAUI_DOCKART_BORDER_COLOUR = 13,
/// Customizes the gripper colour
wxAUI_DOCKART_GRIPPER_COLOUR = 14,
/// Customizes the caption font
wxAUI_DOCKART_CAPTION_FONT = 15,
/// Customizes the gradient type (no gradient, vertical or horizontal)
wxAUI_DOCKART_GRADIENT_TYPE = 16
};
/**
These are the possible gradient dock art settings for wxAuiDefaultDockArt
*/
enum wxAuiPaneDockArtGradients
{
/// No gradient on the captions, in other words a solid colour
wxAUI_GRADIENT_NONE = 0,
/// Vertical gradient on the captions, in other words a gradal change in colours from top to bottom
wxAUI_GRADIENT_VERTICAL = 1,
/// Horizontal gradient on the captions, in other words a gradual change in colours from left to right
wxAUI_GRADIENT_HORIZONTAL = 2
};
/**
These are the possible pane button / wxAuiNotebook button / wxAuiToolBar button states.
*/
enum wxAuiPaneButtonState
{
/// Normal button state
wxAUI_BUTTON_STATE_NORMAL = 0,
/// Hovered button state
wxAUI_BUTTON_STATE_HOVER = 1 << 1,
/// Pressed button state
wxAUI_BUTTON_STATE_PRESSED = 1 << 2,
/// Disabled button state
wxAUI_BUTTON_STATE_DISABLED = 1 << 3,
/// Hidden button state
wxAUI_BUTTON_STATE_HIDDEN = 1 << 4,
/// Checked button state
wxAUI_BUTTON_STATE_CHECKED = 1 << 5
};
/**
These are the possible pane button / wxAuiNotebook button / wxAuiToolBar button identifiers.
*/
enum wxAuiButtonId
{
/// Shows a close button on the pane
wxAUI_BUTTON_CLOSE = 101,
/// Shows a maximize/restore button on the pane
wxAUI_BUTTON_MAXIMIZE_RESTORE = 102,
/// Shows a minimize button on the pane
wxAUI_BUTTON_MINIMIZE = 103,
/**
Shows a pin button on the pane
*/
wxAUI_BUTTON_PIN = 104,
/**
Shows an option button on the pane (not implemented)
*/
wxAUI_BUTTON_OPTIONS = 105,
/**
Shows a window list button on the pane (for wxAuiNotebook)
*/
wxAUI_BUTTON_WINDOWLIST = 106,
/**
Shows a left button on the pane (for wxAuiNotebook)
*/
wxAUI_BUTTON_LEFT = 107,
/**
Shows a right button on the pane (for wxAuiNotebook)
*/
wxAUI_BUTTON_RIGHT = 108,
/**
Shows an up button on the pane (not implemented)
*/
wxAUI_BUTTON_UP = 109,
/**
Shows a down button on the pane (not implemented)
*/
wxAUI_BUTTON_DOWN = 110,
/**
Shows one of three possible custom buttons on the pane (not implemented)
*/
wxAUI_BUTTON_CUSTOM1 = 201,
/**
Shows one of three possible custom buttons on the pane (not implemented)
*/
wxAUI_BUTTON_CUSTOM2 = 202,
/**
Shows one of three possible custom buttons on the pane (not implemented)
*/
wxAUI_BUTTON_CUSTOM3 = 203
};
/**
@class wxAuiDockArt
wxAuiDockArt is part of the wxAUI class framework.
See also @ref overview_aui.
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.
By default, a wxAuiManager uses an instance of this class called
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.
@library{wxaui}
@category{aui}
@see wxAuiManager, wxAuiPaneInfo
*/
class wxAuiDockArt
{
public:
/**
Constructor.
*/
wxAuiDockArt();
/**
Destructor.
*/
virtual ~wxAuiDockArt();
/**
Draws a background.
*/
virtual void DrawBackground(wxDC& dc, wxWindow* window, int orientation,
const wxRect& rect) = 0;
/**
Draws a border.
*/
virtual void DrawBorder(wxDC& dc, wxWindow* window, const wxRect& rect,
wxAuiPaneInfo& pane) = 0;
/**
Draws a caption.
*/
virtual void DrawCaption(wxDC& dc, wxWindow* window, const wxString& text,
const wxRect& rect, wxAuiPaneInfo& pane) = 0;
/**
Draws a gripper.
*/
virtual void DrawGripper(wxDC& dc, wxWindow* window, const wxRect& rect,
wxAuiPaneInfo& pane) = 0;
/**
Draws a button in the pane's title bar.
@a button can be one of the values of @b wxAuiButtonId.
@a button_state can be one of the values of @b wxAuiPaneButtonState.
*/
virtual void DrawPaneButton(wxDC& dc, wxWindow* window, int button,
int button_state, const wxRect& rect,
wxAuiPaneInfo& pane) = 0;
/**
Draws a sash between two windows.
*/
virtual void DrawSash(wxDC& dc, wxWindow* window, int orientation,
const wxRect& rect) = 0;
/**
Get the colour of a certain setting.
@a id can be one of the colour values of @b wxAuiPaneDockArtSetting.
*/
virtual wxColour GetColour(int id) = 0;
/**
Get a font setting.
*/
virtual wxFont GetFont(int id) = 0;
/**
Get the value of a certain setting.
@a id can be one of the size values of @b wxAuiPaneDockArtSetting.
*/
virtual int GetMetric(int id) = 0;
/**
Set a certain setting with the value @e colour.
@a id can be one of the colour values of @b wxAuiPaneDockArtSetting.
*/
virtual void SetColour(int id, const wxColour& colour) = 0;
/**
Set a font setting.
*/
virtual void SetFont(int id, const wxFont& font) = 0;
/**
Set a certain setting with the value @e new_val.
@a id can be one of the size values of @b wxAuiPaneDockArtSetting.
*/
virtual void SetMetric(int id, int new_val) = 0;
};