// Name: ribbon/art.h
// Purpose: interface of wxRibbonArtProvider
// Author: Peter Cawley
-// RCS-ID: $Id$
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
wxRIBBON_ART_BUTTON_BAR_LABEL_FONT,
wxRIBBON_ART_TAB_LABEL_FONT,
wxRIBBON_ART_BUTTON_BAR_LABEL_COLOUR,
+ /// @since 2.9.5
+ wxRIBBON_ART_BUTTON_BAR_LABEL_DISABLED_COLOUR,
wxRIBBON_ART_BUTTON_BAR_HOVER_BORDER_COLOUR,
wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_TOP_COLOUR,
wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_TOP_GRADIENT_COLOUR,
menu, and one which causes a generic action.
*/
wxRIBBON_BUTTON_HYBRID = wxRIBBON_BUTTON_NORMAL | wxRIBBON_BUTTON_DROPDOWN,
+
+ /**
+ Normal button or tool with a clickable area which toggles the button
+ between a pressed and unpressed state.
+ */
+ wxRIBBON_BUTTON_TOGGLE = 1 << 2
};
/**
/**
Set the value of a certain colour setting to the value @e colour.
@a id can be one of the colour values of @ref wxRibbonArtSetting, though
- not all colour settings will have an affect on every art provider.
+ not all colour settings will have an effect on every art provider.
@see SetColourScheme()
*/
default colours of the art provider.
Note that if SetColour() is called, then GetColourScheme() does not try
and return a colour scheme similar to colours being used - it's return
- values are dependant upon the last values given to SetColourScheme(),
+ values are dependent upon the last values given to SetColourScheme(),
as described above.
@param[out] primary
/**
Draw the background and chrome for a wxRibbonGallery control. This
- should draw the border, brackground, scroll buttons, extension button,
+ should draw the border, background, scroll buttons, extension button,
and any other UI elements which are not attached to a specific gallery
item.
wxRibbonButtonKind kind,
long state) = 0;
+ /**
+ Draw toggle button on wxRibbonBar. This should draw a small toggle button
+ at top right corner of ribbon bar.
+
+ @param dc
+ The device context to draw onto.
+ @param wnd
+ The window which is being drawn onto, which is always the panel
+ whose background and chrome is being drawn. The panel label and
+ other panel attributes can be obtained by querying this.
+ @param rect
+ The rectangle within which to draw.
+ @param mode
+ The wxRibbonDisplayMode which should be applied to display button
+
+ @since 2.9.5
+ */
+ virtual void DrawToggleButton(wxDC& dc,
+ wxRibbonBar* wnd,
+ const wxRect& rect,
+ wxRibbonDisplayMode mode) = 0;
+
+ /**
+ Draw help button on wxRibbonBar. This should draw a help button
+ at top right corner of ribbon bar.
+
+ @param dc
+ The device context to draw onto.
+ @param wnd
+ The window which is being drawn onto, which is always the panel
+ whose background and chrome is being drawn. The panel label and
+ other panel attributes can be obtained by querying this.
+ @param rect
+ The rectangle within which to draw.
+
+ @since 2.9.5
+ */
+ virtual void DrawHelpButton(wxDC& dc,
+ wxRibbonBar* wnd,
+ const wxRect& rect) = 0;
+
/**
Calculate the ideal and minimum width (in pixels) of a tab in a ribbon
bar.
const wxRibbonPanel* wnd,
wxSize size,
wxPoint* client_offset) = 0;
-
+
+ /**
+ Calculate the position and size of the panel extension button.
+
+ @param dc
+ A device context to use if one is required for size calculations.
+ @param wnd
+ The ribbon panel in question.
+ @param rect
+ The panel rectangle from which calculate extension button rectangle.
+
+ @since 2.9.4
+ */
+ virtual wxRect GetPanelExtButtonArea(
+ wxDC& dc,
+ const wxRibbonPanel* wnd,
+ wxRect rect) = 0;
+
/**
Calculate the size of a wxRibbonGallery control for a given client
size. This should increment the given size by enough to fit the gallery
/**
Calculate the portion of a page background which needs to be redrawn
when a page is resized. To optimise the drawing of page backgrounds, as
- small an area as possible should be returned. Of couse, if the way in
+ small an area as possible should be returned. Of course, if the way in
which a background is drawn means that the entire background needs to
be repainted on resize, then the entire new size should be returned.
bool is_first,
bool is_last,
wxRect* dropdown_region) = 0;
+
+ /**
+ Calculate the position and size of the ribbon's toggle button.
+
+ @param rect
+ The ribbon bar rectangle from which calculate toggle button rectangle.
+
+ @since 2.9.5
+ */
+ virtual wxRect GetBarToggleButtonArea(const wxRect& rect) = 0;
+
+ /**
+ Calculate the position and size of the ribbon's help button.
+
+ @param rect
+ The ribbon bar rectangle from which calculate help button rectangle.
+
+ @since 2.9.5
+ */
+ virtual wxRect GetRibbonHelpButtonArea(const wxRect& rect) = 0;
};