| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283 |
- /////////////////////////////////////////////////////////////////////////////
- // 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;
- };
|