2017-09-13 04:42:36 +08:00
<?xml version="1.0" encoding="UTF-8" ?>
2018-02-27 20:40:43 +08:00
<class name= "BaseButton" inherits= "Control" category= "Core" version= "3.1" >
2017-09-13 04:42:36 +08:00
<brief_description >
2017-10-23 06:17:02 +08:00
Base class for different kinds of buttons.
2017-09-13 04:42:36 +08:00
</brief_description>
<description >
2017-10-23 06:17:02 +08:00
BaseButton is the abstract base class for buttons, so it shouldn't be used directly (it doesn't display anything). Other types of buttons inherit from it.
2017-09-13 04:42:36 +08:00
</description>
<tutorials >
</tutorials>
<demos >
</demos>
<methods >
<method name= "_pressed" qualifiers= "virtual" >
<return type= "void" >
</return>
<description >
2018-03-12 01:19:18 +08:00
Called when the button is pressed.
2017-09-13 04:42:36 +08:00
</description>
</method>
<method name= "_toggled" qualifiers= "virtual" >
<return type= "void" >
</return>
2018-01-09 23:39:43 +08:00
<argument index= "0" name= "button_pressed" type= "bool" >
2017-09-13 04:42:36 +08:00
</argument>
<description >
2018-03-12 01:19:18 +08:00
Called when the button is toggled (only if toggle_mode is active).
2017-09-13 04:42:36 +08:00
</description>
</method>
<method name= "get_draw_mode" qualifiers= "const" >
<return type= "int" enum= "BaseButton.DrawMode" >
</return>
<description >
Return the visual state used to draw the button. This is useful mainly when implementing your own draw code by either overriding _draw() or connecting to "draw" signal. The visual state of the button is defined by the DRAW_* enum.
</description>
</method>
<method name= "is_hovered" qualifiers= "const" >
<return type= "bool" >
</return>
<description >
2018-03-12 01:19:18 +08:00
Return true if the mouse has entered the button and has not left it yet.
2017-09-13 04:42:36 +08:00
</description>
</method>
</methods>
<members >
2017-09-13 14:49:40 +08:00
<member name= "action_mode" type= "int" setter= "set_action_mode" getter= "get_action_mode" enum= "BaseButton.ActionMode" >
2017-10-23 06:17:02 +08:00
Determines when the button is considered clicked, one of the ACTION_MODE_* constants.
2017-09-13 04:42:36 +08:00
</member>
2018-03-12 01:19:18 +08:00
<member name= "button_mask" type= "int" setter= "set_button_mask" getter= "get_button_mask" >
Binary mask to choose which mouse buttons this button will respond to.
To allow both left-click and right-click, set this to 3, because it's BUTTON_MASK_LEFT | BUTTON_MASK_RIGHT.
</member>
2017-09-13 14:49:40 +08:00
<member name= "disabled" type= "bool" setter= "set_disabled" getter= "is_disabled" >
2017-10-23 06:17:02 +08:00
If [code]true[/code] the button is in disabled state and can't be clicked or toggled.
2017-09-13 04:42:36 +08:00
</member>
2017-09-13 14:49:40 +08:00
<member name= "enabled_focus_mode" type= "int" setter= "set_enabled_focus_mode" getter= "get_enabled_focus_mode" enum= "Control.FocusMode" >
2017-10-23 06:17:02 +08:00
Focus access mode to use when switching between enabled/disabled (see [method Control.set_focus_mode] and [member disabled]).
2017-09-13 04:42:36 +08:00
</member>
2017-09-13 14:49:40 +08:00
<member name= "group" type= "ButtonGroup" setter= "set_button_group" getter= "get_button_group" >
2017-10-23 06:17:02 +08:00
[ButtonGroup] associated to the button.
2017-09-13 04:42:36 +08:00
</member>
2017-09-13 14:49:40 +08:00
<member name= "pressed" type= "bool" setter= "set_pressed" getter= "is_pressed" >
2017-10-23 06:17:02 +08:00
If [code]true[/code] the button's state is pressed. Means the button is pressed down or toggled (if toggle_mode is active).
2017-09-13 04:42:36 +08:00
</member>
2017-09-13 14:49:40 +08:00
<member name= "shortcut" type= "ShortCut" setter= "set_shortcut" getter= "get_shortcut" >
2017-10-23 06:17:02 +08:00
[Shortcut] associated to the button.
2017-09-13 04:42:36 +08:00
</member>
2018-11-19 21:30:59 +08:00
<member name= "shortcut_in_tooltip" type= "bool" setter= "set_shortcut_in_tooltip" getter= "is_shortcut_in_tooltip_enabled" >
If [code]true[/code] the button will add information about its shortcut in the tooltip.
</member>
2018-11-23 08:06:24 +08:00
<member name= "toggle_mode" type= "bool" setter= "set_toggle_mode" getter= "is_toggle_mode" >
If [code]true[/code] the button is in toggle mode. Makes the button flip state between pressed and unpressed each time its area is clicked.
</member>
2017-09-13 04:42:36 +08:00
</members>
<signals >
<signal name= "button_down" >
<description >
Emitted when the button starts being held down.
</description>
</signal>
<signal name= "button_up" >
<description >
Emitted when the button stops being held down.
</description>
</signal>
<signal name= "pressed" >
<description >
This signal is emitted every time the button is toggled or pressed (i.e. activated, so on [code]button_down[/code] if "Click on press" is active and on [code]button_up[/code] otherwise).
</description>
</signal>
<signal name= "toggled" >
2018-01-09 23:39:43 +08:00
<argument index= "0" name= "button_pressed" type= "bool" >
2017-09-13 04:42:36 +08:00
</argument>
<description >
This signal is emitted when the button was just toggled between pressed and normal states (only if toggle_mode is active). The new state is contained in the [i]pressed[/i] argument.
</description>
</signal>
</signals>
<constants >
2017-11-25 06:16:30 +08:00
<constant name= "DRAW_NORMAL" value= "0" enum= "DrawMode" >
2017-09-13 04:42:36 +08:00
The normal state (i.e. not pressed, not hovered, not toggled and enabled) of buttons.
</constant>
2017-11-25 06:16:30 +08:00
<constant name= "DRAW_PRESSED" value= "1" enum= "DrawMode" >
2017-09-13 04:42:36 +08:00
The state of buttons are pressed.
</constant>
2017-11-25 06:16:30 +08:00
<constant name= "DRAW_HOVER" value= "2" enum= "DrawMode" >
2017-09-13 04:42:36 +08:00
The state of buttons are hovered.
</constant>
2017-11-25 06:16:30 +08:00
<constant name= "DRAW_DISABLED" value= "3" enum= "DrawMode" >
2017-09-13 04:42:36 +08:00
The state of buttons are disabled.
</constant>
2018-10-07 21:52:07 +08:00
<constant name= "DRAW_HOVER_PRESSED" value= "4" enum= "DrawMode" >
</constant>
2017-11-25 06:16:30 +08:00
<constant name= "ACTION_MODE_BUTTON_PRESS" value= "0" enum= "ActionMode" >
2017-09-13 04:42:36 +08:00
Require just a press to consider the button clicked.
</constant>
2017-11-25 06:16:30 +08:00
<constant name= "ACTION_MODE_BUTTON_RELEASE" value= "1" enum= "ActionMode" >
2017-09-13 04:42:36 +08:00
Require a press and a subsequent release before considering the button clicked.
</constant>
</constants>
</class>