======================
ToggleButton (hwx.gui)
======================

A ToggleButton

Toggle on off the Button to command the computer to preform some action.
ToggleButton is usually used in a ToolBar without text.

The ToggleButton is a specialized control that has the abilty of being selected.
ToggleButtons, when clicked, display their state (selected or unselected).

Inherits:
  - :ref:`PushButton (hwx.gui)`

--------------
Public Methods
--------------

  +-------------------------------------+
  | addChildren_ (self, children)       |
  +-------------------------------------+
  | destroy_ (self)                     |
  +-------------------------------------+
  | enableGlobalActions_ (self, enable) |
  +-------------------------------------+
  | getMousePosition_ (self)            |
  +-------------------------------------+
  | getRelativeMousePosition_ (self)    |
  +-------------------------------------+
  | hide_ (self)                        |
  +-------------------------------------+
  | saveAsPng_ (self, fname)            |
  +-------------------------------------+
  | setF1HelpTopic_ (self, helptopic)   |
  +-------------------------------------+
  | setProperties_ (self, kwds)         |
  +-------------------------------------+
  | show_ (self)                        |
  +-------------------------------------+

--------------
Method Details
--------------

.. _addChildren:
.. method:: addChildren(self, children)

Add child widgets/layouts into this widget.

Widget children get layed out using a VBoxLayout.

Typically, you'll pass the parent/children into the constructor instead of
calling this function directly.

:param children:
:type children: list[Widget] | Layout


.. _destroy:
.. method:: destroy(self)

Deletes this and all its children.

.. _enableGlobalActions:
.. method:: enableGlobalActions(self, enable)

Sets the state of Global Actions.

Disable the global actions to get key events.

:param enable: Determines whether to enable or disable global actions.
:type enable: bool


.. _getMousePosition:
.. method:: getMousePosition(self)

Returns the mouse position.

.. _getRelativeMousePosition:
.. method:: getRelativeMousePosition(self)

Returns the mouse position relative to this widget.

.. _hide:
.. method:: hide(self)

Hides the widget.

.. _saveAsPng:
.. method:: saveAsPng(self, fname)

Saves the widget as a .png file.

:param fname: The file name for the .png
:type fname: str

:returns: True if it was saved succesfully, False otherwise.
:rtype: bool


.. _setF1HelpTopic:
.. method:: setF1HelpTopic(self, helptopic)

Popup web-browser helps when the user hits F1 when over this.

:param helptopic: Topic name user needs help in.
:type helptopic: str


.. _setProperties:
.. method:: setProperties(self, kwds)

Ensure proper order of setting properties.

:param kwds: A dict so the  order of the properties are set is unpredictable
          checkable must be set before checked, or checked will not take effect.


.. _show:
.. method:: show(self)

Shows the widget.