.. 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.ButtonInfo:

==========================================================================================================================================
|phoenix_title|  **wx.lib.agw.buttonpanel.ButtonInfo**
==========================================================================================================================================

This class holds information about every button that is added to
:class:`ButtonPanel`. It is an auxiliary class that you should use
every time you add a button.



|

|class_hierarchy| Class Hierarchy
=================================

.. raw:: html

   <div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
   <img id="toggleBlock-trigger" src="_static/images/closed.png"/>
   Inheritance diagram for class <strong>ButtonInfo</strong>:
   </div>
   <div id="toggleBlock-summary" style="display:block;"></div>
   <div id="toggleBlock-content" style="display:none;">
   <p class="graphviz">
   <center><img src="_static/images/inheritance/wx.lib.agw.buttonpanel.ButtonInfo_inheritance.png" alt="Inheritance diagram of ButtonInfo" usemap="#dummy" class="inheritance"/></center>
   <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
   <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.lib.agw.buttonpanel.ButtonInfo.html" title="wx.lib.agw.buttonpanel.ButtonInfo" alt="" coords="5,237,251,267"/> <area shape="rect" id="node2" href="wx.lib.agw.buttonpanel.Control.html" title="wx.lib.agw.buttonpanel.Control" alt="" coords="16,160,240,189"/> <area shape="rect" id="node3" href="wx.EvtHandler.html" title="wx.EvtHandler" alt="" coords="69,83,187,112"/> <area shape="rect" id="node4" href="wx.Object.html" title="wx.Object" alt="" coords="25,5,111,35"/> <area shape="rect" id="node5" href="wx.Trackable.html" title="wx.Trackable" alt="" coords="136,5,243,35"/> </map> 
   </p>
   </div>

|


|super_classes| Known Superclasses
==================================

:class:`wx.lib.agw.buttonpanel.Control`

|


|method_summary| Methods Summary
================================

================================================================================ ================================================================================
:meth:`~wx.lib.agw.buttonpanel.ButtonInfo.__init__`                              Default class constructor.
:meth:`~wx.lib.agw.buttonpanel.ButtonInfo.AddStatus`                             Add a programmer-defined status in addition to the 5 default status
:meth:`~wx.lib.agw.buttonpanel.ButtonInfo.CheckRefresh`                          Checks whether a :class:`ButtonPanel` repaint is needed or not. This is a convenience function.
:meth:`~wx.lib.agw.buttonpanel.ButtonInfo.Draw`                                  Draws the button on :class:`ButtonPanel`. Actually the drawing is done in :class:`BPArt`.
:meth:`~wx.lib.agw.buttonpanel.ButtonInfo.Enable`                                Enables/disables this instance of :class:`ButtonInfo`.
:meth:`~wx.lib.agw.buttonpanel.ButtonInfo.GetBestSize`                           Returns the best size for the button.
:meth:`~wx.lib.agw.buttonpanel.ButtonInfo.GetBitmap`                             Returns the bitmap associated with this instance of :class:`ButtonInfo`.
:meth:`~wx.lib.agw.buttonpanel.ButtonInfo.GetId`                                 Returns the :class:`ButtonInfo` id.
:meth:`~wx.lib.agw.buttonpanel.ButtonInfo.GetKind`                               Returns the button type (standard or toggle).
:meth:`~wx.lib.agw.buttonpanel.ButtonInfo.GetLongHelp`                           Returns the help string shown in the statusbar.
:meth:`~wx.lib.agw.buttonpanel.ButtonInfo.GetRect`                               Returns the :class:`ButtonInfo` client rectangle.
:meth:`~wx.lib.agw.buttonpanel.ButtonInfo.GetShortHelp`                          Returns the help string shown in a tooltip.
:meth:`~wx.lib.agw.buttonpanel.ButtonInfo.GetStatus`                             Returns the :class:`ButtonInfo` status.
:meth:`~wx.lib.agw.buttonpanel.ButtonInfo.GetText`                               Returns the text associated to the button.
:meth:`~wx.lib.agw.buttonpanel.ButtonInfo.GetTextAlignment`                      Returns the text alignment in the button (bottom or right).
:meth:`~wx.lib.agw.buttonpanel.ButtonInfo.GetToggled`                            Returns whether a ``wx.ITEM_CHECK`` button is toggled or not.
:meth:`~wx.lib.agw.buttonpanel.ButtonInfo.HasText`                               Returns whether the button has text or not.
:meth:`~wx.lib.agw.buttonpanel.ButtonInfo.IsEnabled`                             Returns ``True`` if this instance of :class:`ButtonInfo` is enabled for input,
:meth:`~wx.lib.agw.buttonpanel.ButtonInfo.SetBitmap`                             Sets the bitmap associated with this instance of :class:`ButtonInfo`.
:meth:`~wx.lib.agw.buttonpanel.ButtonInfo.SetId`                                 Sets the :class:`ButtonInfo` identifier.
:meth:`~wx.lib.agw.buttonpanel.ButtonInfo.SetKind`                               Sets the button type (standard or toggle).
:meth:`~wx.lib.agw.buttonpanel.ButtonInfo.SetLongHelp`                           Sets the help string to be shown in the statusbar.
:meth:`~wx.lib.agw.buttonpanel.ButtonInfo.SetRect`                               Sets the :class:`ButtonInfo` client rectangle.
:meth:`~wx.lib.agw.buttonpanel.ButtonInfo.SetShortHelp`                          Sets the help string to be shown in a tooltip.
:meth:`~wx.lib.agw.buttonpanel.ButtonInfo.SetStatus`                             Sets the :class:`ButtonInfo` status.
:meth:`~wx.lib.agw.buttonpanel.ButtonInfo.SetText`                               Sets the button label text.
:meth:`~wx.lib.agw.buttonpanel.ButtonInfo.SetTextAlignment`                      Sets the text alignment in the button (bottom or right).
:meth:`~wx.lib.agw.buttonpanel.ButtonInfo.SetToggled`                            Sets a ``wx.ITEM_CHECK`` button toggled/not toggled.
================================================================================ ================================================================================


|


|property_summary| Properties Summary
=====================================

================================================================================ ================================================================================
:attr:`~wx.lib.agw.buttonpanel.ButtonInfo.Bitmap`                                Returns the bitmap associated with this instance of :class:`ButtonInfo`.
:attr:`~wx.lib.agw.buttonpanel.ButtonInfo.Id`                                    Returns the :class:`ButtonInfo` id.
:attr:`~wx.lib.agw.buttonpanel.ButtonInfo.Rect`                                  Returns the :class:`ButtonInfo` client rectangle.
:attr:`~wx.lib.agw.buttonpanel.ButtonInfo.Status`                                Returns the :class:`ButtonInfo` status.
================================================================================ ================================================================================


|


|api| Class API
===============


.. class:: ButtonInfo(Control)

   This class holds information about every button that is added to
   :class:`ButtonPanel`. It is an auxiliary class that you should use
   every time you add a button.

   .. method:: __init__(self, parent, id=wx.ID_ANY, bmp=wx.NullBitmap, status="Normal", text="", kind=wx.ITEM_NORMAL, shortHelp="", longHelp="")

      Default class constructor.
      
      :param `parent`: the parent window (:class:`ButtonPanel`);
      :param integer `id`: the button id;
      :param wx.Bitmap `bmp`: the associated bitmap;
      :param string `status`: button status ("Pressed", "Hover", "Normal", "Toggled", "Disabled");
      :param string `text`: text to be displayed either below of to the right of the button;
      :param integer `kind`: button kind, may be ``wx.ITEM_NORMAL`` for standard buttons or
       ``wx.ITEM_CHECK`` for toggle buttons;
      :param string `shortHelp`: a short help to be shown in the button tooltip;
      :param string `longHelp`: this string is shown in the statusbar (if any) of the parent
       frame when the mouse pointer is inside the button.


   .. method:: AddStatus(self, name="Custom", bmp=wx.NullBitmap)

      Add a programmer-defined status in addition to the 5 default status:
      
      - Normal;
      - Disabled;
      - Hover;
      - Pressed;
      - Toggled.
      
      :param string `name`: the new status name;
      :param wx.Bitmap `bmp`: the bitmap associated with the new status.


   .. method:: CheckRefresh(self, status)

      Checks whether a :class:`ButtonPanel` repaint is needed or not. This is a convenience function.
      
      :param bool `status`: the status of a newly added :class:`ButtonInfo` or a change in the
       :class:`ButtonInfo` status.


   .. method:: Draw(self, dc, rect)

      Draws the button on :class:`ButtonPanel`. Actually the drawing is done in :class:`BPArt`.
      
      :param `dc`: an instance of :class:`wx.DC`;
      :param wx.Rect `rect`: the main caption text client rectangle.


   .. method:: Enable(self, enable=True)

      Enables/disables this instance of :class:`ButtonInfo`.
      
      :param bool `enable`: ``True`` to enable the button, ``False`` otherwise.


   .. method:: GetBestSize(self)

      Returns the best size for the button.
      
      :return: An instance of :class:`wx.Size`.


   .. method:: GetBitmap(self, status=None)

      Returns the bitmap associated with this instance of :class:`ButtonInfo`.
      
      :param string `status`: the :class:`ButtonInfo` status ("Pressed", "Hover", "Normal",
       "Toggled", "Disabled").
      
      :return: An instance of :class:`wx.Bitmap`.


   .. method:: GetId(self)

      Returns the :class:`ButtonInfo` id.
      
      :return: An integer representing the button id.


   .. method:: GetKind(self)

      Returns the button type (standard or toggle).
      
      :return: An integer representing the button type, one of ``wx.ITEM_NORMAL``, ``wx.ITEM_CHECK``.


   .. method:: GetLongHelp(self)

      Returns the help string shown in the statusbar.
      
      :return: A string containing the :class:`ButtonInfo` long help string.


   .. method:: GetRect(self)

      Returns the :class:`ButtonInfo` client rectangle.
      
      :return: An instance of :class:`wx.Rect`.


   .. method:: GetShortHelp(self)

      Returns the help string shown in a tooltip.
      
      :return: A string containing the :class:`ButtonInfo` short help string.


   .. method:: GetStatus(self)

      Returns the :class:`ButtonInfo` status.
      
      :return: A string containing the :class:`ButtonInfo` status (one of "Pressed", "Hover", "Normal",
       "Toggled", "Disabled").


   .. method:: GetText(self)

      Returns the text associated to the button.
      
      :return: A string containing the :class:`ButtonInfo` text.


   .. method:: GetTextAlignment(self)

      Returns the text alignment in the button (bottom or right).
      
      :return: An integer representing the :class:`ButtonInfo` text alignment.


   .. method:: GetToggled(self)

      Returns whether a ``wx.ITEM_CHECK`` button is toggled or not.
      
      :return: ``True`` if the button is toggled, ``False`` otherwise.


   .. method:: HasText(self)

      Returns whether the button has text or not.
      
      :return: ``True`` if this :class:`ButtonInfo` instance has a label, ``False`` otherwise.


   .. method:: IsEnabled(self)

      Returns ``True`` if this instance of :class:`ButtonInfo` is enabled for input,
      ``False`` otherwise.


   .. method:: SetBitmap(self, bmp, status="Normal")

      Sets the bitmap associated with this instance of :class:`ButtonInfo`.
      
      :param `bmp`: a valid :class:`wx.Bitmap` object;
      :param string `status`: the :class:`ButtonInfo` status ("Pressed", "Hover", "Normal",
       "Toggled", "Disabled").


   .. method:: SetId(self, id)

      Sets the :class:`ButtonInfo` identifier.
      
      :param integer `id`: the identifier of the window.


   .. method:: SetKind(self, kind=wx.ITEM_NORMAL)

      Sets the button type (standard or toggle).
      
      :param integer `kind`: one of ``wx.ITEM_NORMAL``, ``wx.ITEM_CHECK``.


   .. method:: SetLongHelp(self, help="")

      Sets the help string to be shown in the statusbar.
      
      :param string `help`: the string for the long help.


   .. method:: SetRect(self, rect)

      Sets the :class:`ButtonInfo` client rectangle.
      
      :param `rect`: an instance of :class:`wx.Rect`.


   .. method:: SetShortHelp(self, help="")

      Sets the help string to be shown in a tooltip.
      
      :param string `help`: the string for the short help.


   .. method:: SetStatus(self, status)

      Sets the :class:`ButtonInfo` status.
      
      :param string `status`: one of "Pressed", "Hover", "Normal", "Toggled", "Disabled".


   .. method:: SetText(self, text="")

      Sets the button label text.
      
      :param string `text`: the button label string.


   .. method:: SetTextAlignment(self, alignment)

      Sets the text alignment in the button (bottom or right).
      
      :param integer `alignment`: the text alignment in this :class:`ButtonInfo` instance.


   .. method:: SetToggled(self, toggle=True)

      Sets a ``wx.ITEM_CHECK`` button toggled/not toggled.
      
      :param bool `toggle`: ``True`` to toggle the button, ``False`` otherwise.


   .. attribute:: Bitmap

      Returns the bitmap associated with this instance of :class:`ButtonInfo`.
      
      :param string `status`: the :class:`ButtonInfo` status ("Pressed", "Hover", "Normal",
       "Toggled", "Disabled").
      
      :return: An instance of :class:`wx.Bitmap`.


   .. attribute:: Id

      Returns the :class:`ButtonInfo` id.
      
      :return: An integer representing the button id.


   .. attribute:: Rect

      Returns the :class:`ButtonInfo` client rectangle.
      
      :return: An instance of :class:`wx.Rect`.


   .. attribute:: Status

      Returns the :class:`ButtonInfo` status.
      
      :return: A string containing the :class:`ButtonInfo` status (one of "Pressed", "Hover", "Normal",
       "Toggled", "Disabled").


