.. wxPython Phoenix documentation
This file was generated by Phoenix's sphinx generator and associated
tools, do not edit by hand.
Copyright: (c) 2011-2020 by Total Control Software
License: wxWindows License
.. include:: headings.inc
.. currentmodule:: wx.lib.agw.buttonpanel
.. highlight:: python
.. _wx.lib.agw.buttonpanel.BPArt:
==========================================================================================================================================
|phoenix_title| **wx.lib.agw.buttonpanel.BPArt**
==========================================================================================================================================
:class:`BPArt` is an art provider class which does all of the drawing for :class:`ButtonPanel`.
This allows the library caller to customize the :class:`BPArt` or to completely replace
all drawing with custom BPArts.
|
|class_hierarchy| Class Hierarchy
=================================
.. raw:: html

Inheritance diagram for class
BPArt:
|
|method_summary| Methods Summary
================================
================================================================================ ================================================================================
:meth:`~wx.lib.agw.buttonpanel.BPArt.__init__` Default class constructor.
:meth:`~wx.lib.agw.buttonpanel.BPArt.DrawButton` Draws a button in :class:`ButtonPanel`, together with its text (if any).
:meth:`~wx.lib.agw.buttonpanel.BPArt.DrawButtonPanel` Paint the :class:`ButtonPanel`'s background.
:meth:`~wx.lib.agw.buttonpanel.BPArt.DrawCaption` Draws the main caption text in :class:`ButtonPanel`.
:meth:`~wx.lib.agw.buttonpanel.BPArt.DrawLabel` Draws the label for a button.
:meth:`~wx.lib.agw.buttonpanel.BPArt.DrawSeparator` Draws a separator in :class:`ButtonPanel`.
:meth:`~wx.lib.agw.buttonpanel.BPArt.FillGradientColour` Gradient fill from colour 1 to colour 2 with top to bottom or left to right.
:meth:`~wx.lib.agw.buttonpanel.BPArt.GetColour` Returns the option value for the specified colour `id`.
:meth:`~wx.lib.agw.buttonpanel.BPArt.GetFont` Returns the option value for the specified font `id`.
:meth:`~wx.lib.agw.buttonpanel.BPArt.GetGradientType` Returns the gradient type for :class:`BPArt` drawings.
:meth:`~wx.lib.agw.buttonpanel.BPArt.GetMetric` Returns the option value for the specified size `id`.
:meth:`~wx.lib.agw.buttonpanel.BPArt.SetColour` Sets the option value for the specified colour `id`.
:meth:`~wx.lib.agw.buttonpanel.BPArt.SetFont` Sets the option value for the specified font `id`.
:meth:`~wx.lib.agw.buttonpanel.BPArt.SetGradientType` Sets the gradient type for :class:`BPArt` drawings.
:meth:`~wx.lib.agw.buttonpanel.BPArt.SetMetric` Sets the option value for the specified size `id`.
================================================================================ ================================================================================
|
|api| Class API
===============
.. class:: BPArt(object)
:class:`BPArt` is an art provider class which does all of the drawing for :class:`ButtonPanel`.
This allows the library caller to customize the :class:`BPArt` or to completely replace
all drawing with custom BPArts.
.. method:: __init__(self, parentStyle)
Default class constructor.
:param integer `parentStyle`: the window style for :class:`ButtonPanel`.
.. method:: DrawButton(self, dc, rect, buttonBitmap, isVertical, buttonStatus, isToggled, textAlignment, text="")
Draws a button in :class:`ButtonPanel`, together with its text (if any).
:param `dc`: an instance of :class:`wx.DC`;
:param wx.Rect `rect`: the button client rectangle;
:param wx.Bitmap `buttonBitmap`: the bitmap associated with the button;
:param bool `isVertical`: ``True`` if :class:`ButtonPanel` is in vertical orientation,
``False`` otherwise;
:param string `buttonStatus`: one of "Normal", "Toggled", "Pressed", "Disabled" or "Hover";
:param bool `isToggled`: whether the button is toggled or not;
:param integer `textAlignment`: the text alignment inside the button;
:param string `text`: the button label.
.. method:: DrawButtonPanel(self, dc, rect, style)
Paint the :class:`ButtonPanel`'s background.
:param `dc`: an instance of :class:`wx.DC`;
:param wx.Rect `rect`: the :class:`ButtonPanel` client rectangle;
:param integer `style`: the :class:`ButtonPanel` window style.
.. method:: DrawCaption(self, dc, rect, captionText)
Draws the main caption text in :class:`ButtonPanel`.
:param `dc`: an instance of :class:`wx.DC`;
:param wx.Rect `rect`: the main caption text rectangle;
:param string `captionText`: the caption text string.
.. method:: DrawLabel(self, dc, text, isEnabled, xpos, ypos)
Draws the label for a button.
:param `dc`: an instance of :class:`wx.DC`;
:param string `text`: the button label;
:param bool `isEnabled`: ``True`` if the button is enabled, ``False`` otherwise;
:param integer `xpos`: the text `x` position inside the button;
:param integer `ypos`: the text `y` position inside the button.
.. method:: DrawSeparator(self, dc, rect, isVertical)
Draws a separator in :class:`ButtonPanel`.
:param `dc`: an instance of :class:`wx.DC`;
:param wx.Rect `rect`: the separator client rectangle;
:param bool `isVertical`: ``True`` if :class:`ButtonPanel` is in vertical orientation,
``False`` otherwise.
.. method:: FillGradientColour(self, dc, rect)
Gradient fill from colour 1 to colour 2 with top to bottom or left to right.
:param `dc`: an instance of :class:`wx.DC`;
:param wx.Rect `rect`: the :class:`ButtonPanel` client rectangle.
.. method:: GetColour(self, id)
Returns the option value for the specified colour `id`.
:param integer `id`: the identification bit for the colour value. This can be one of the
following bits:
================================== ======= =====================================
Colour Id Value Description
================================== ======= =====================================
``BP_BACKGROUND_COLOUR`` 0 Background brush colour when no gradient shading exists
``BP_GRADIENT_COLOUR_FROM`` 1 Starting gradient colour, used only when ``BP_USE_GRADIENT`` style is applied
``BP_GRADIENT_COLOUR_TO`` 2 Ending gradient colour, used only when ``BP_USE_GRADIENT`` style is applied
``BP_BORDER_COLOUR`` 3 Pen colour to paint the border of :class:`ButtonPanel`
``BP_TEXT_COLOUR`` 4 Main :class:`ButtonPanel` caption colour
``BP_BUTTONTEXT_COLOUR`` 5 Text colour for buttons with text
``BP_BUTTONTEXT_INACTIVE_COLOUR`` 6 Text colour for inactive buttons with text
``BP_SELECTION_BRUSH_COLOUR`` 7 Brush colour to be used when hovering or selecting a button
``BP_SELECTION_PEN_COLOUR`` 8 Pen colour to be used when hovering or selecting a button
``BP_SEPARATOR_COLOUR`` 9 Pen colour used to paint the separators
================================== ======= =====================================
:return: An instance of :class:`wx.Colour` for the input `id`.
:raise: `Exception` if the `id` is not recognized.
.. method:: GetFont(self, id)
Returns the option value for the specified font `id`.
:param integer `id`: the identification bit for the font value. This can be one of the
following bits:
============================== ======= =====================================
Size Id Value Description
============================== ======= =====================================
``BP_TEXT_FONT`` 10 Font of the :class:`ButtonPanel` main caption
``BP_BUTTONTEXT_FONT`` 11 Text font for the buttons with text
============================== ======= =====================================
:return: An instance of :class:`wx.Font` for the input `id`.
:raise: `Exception` if the `id` is not recognized.
.. method:: GetGradientType(self)
Returns the gradient type for :class:`BPArt` drawings.
:return: An integer representing the gradient type.
.. seealso:: :meth:`~BPArt.SetGradientType` for a list of possible gradient types.
.. method:: GetMetric(self, id)
Returns the option value for the specified size `id`.
:param integer `id`: the identification bit for the size value. This can be one of the
following bits:
============================== ======= =====================================
Size Id Value Description
============================== ======= =====================================
``BP_SEPARATOR_SIZE`` 14 Separator size. Note: This is not the line width, but the sum of the space before and after the separator line plus the width of the line
``BP_MARGINS_SIZE`` 15 Size of the left/right margins in :class:`ButtonPanel` (top/bottom for vertically aligned :class:`ButtonPanel`)
``BP_BORDER_SIZE`` 16 Size of the border
``BP_PADDING_SIZE`` 17 Inter-tool separator size
============================== ======= =====================================
:return: An integer representing the option value for the input `id`.
:raise: `Exception` if the `id` is not recognized.
.. method:: SetColour(self, id, colour)
Sets the option value for the specified colour `id`.
:param integer `id`: the identification bit for the colour value;
:param `colour`: the new value for the colour (a valid :class:`wx.Colour` instance).
:raise: `Exception` if the `id` is not recognized.
.. seealso:: :meth:`~BPArt.GetColour` for a list of meaningful colour ids.
.. method:: SetFont(self, id, font)
Sets the option value for the specified font `id`.
:param integer `id`: the identification bit for the font value;
:param `colour`: the new value for the font (a valid :class:`wx.Font` instance).
:raise: `Exception` if the `id` is not recognized.
.. seealso:: :meth:`~BPArt.GetFont` for a list of meaningful font ids.
.. method:: SetGradientType(self, gradient)
Sets the gradient type for :class:`BPArt` drawings.
:param integer `gradient`: can be one of the following bits:
============================ ======= ============================
Gradient Type Value Description
============================ ======= ============================
``BP_GRADIENT_NONE`` 0 No gradient shading should be used to paint the background
``BP_GRADIENT_VERTICAL`` 1 Vertical gradient shading should be used to paint the background
``BP_GRADIENT_HORIZONTAL`` 2 Horizontal gradient shading should be used to paint the background
============================ ======= ============================
.. method:: SetMetric(self, id, new_val)
Sets the option value for the specified size `id`.
:param integer `id`: the identification bit for the size value;
:param integer `new_val`: the new value for the size.
:raise: `Exception` if the `id` is not recognized.
.. seealso:: :meth:`~BPArt.GetMetric` for a list of meaningful size ids.