BaseButton¶
Inherits: Control < CanvasItem < Node < Object
Inherited By: Button, LinkButton, TextureButton
Base class for different kinds of buttons.
Description¶
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.
Properties¶
Methods¶
void |
_pressed ( ) virtual |
void |
|
get_draw_mode ( ) const |
|
is_hovered ( ) const |
|
void |
set_pressed_no_signal ( bool pressed ) |
Signals¶
button_down ( )
Emitted when the button starts being held down.
button_up ( )
Emitted when the button stops being held down.
pressed ( )
Emitted when the button is toggled or pressed. This is on button_down if action_mode is ACTION_MODE_BUTTON_PRESS and on button_up otherwise.
If you need to know the button's pressed state (and toggle_mode is active), use toggled instead.
toggled ( bool button_pressed )
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 button_pressed
argument.
Enumerations¶
enum DrawMode:
DRAW_NORMAL = 0 --- The normal state (i.e. not pressed, not hovered, not toggled and enabled) of buttons.
DRAW_PRESSED = 1 --- The state of buttons are pressed.
DRAW_HOVER = 2 --- The state of buttons are hovered.
DRAW_DISABLED = 3 --- The state of buttons are disabled.
DRAW_HOVER_PRESSED = 4 --- The state of buttons are both hovered and pressed.
enum ActionMode:
ACTION_MODE_BUTTON_PRESS = 0 --- Require just a press to consider the button clicked.
ACTION_MODE_BUTTON_RELEASE = 1 --- Require a press and a subsequent release before considering the button clicked.
Property Descriptions¶
ActionMode action_mode
Setter |
set_action_mode(value) |
Getter |
get_action_mode() |
Determines when the button is considered clicked, one of the ActionMode constants.
ButtonGroup button_group
Setter |
set_button_group(value) |
Getter |
get_button_group() |
The ButtonGroup associated with the button. Not to be confused with node groups.
MouseButton button_mask
Setter |
set_button_mask(value) |
Getter |
get_button_mask() |
Binary mask to choose which mouse buttons this button will respond to.
To allow both left-click and right-click, use MOUSE_BUTTON_MASK_LEFT | MOUSE_BUTTON_MASK_RIGHT
.
bool button_pressed
Setter |
set_pressed(value) |
Getter |
is_pressed() |
If true
, the button's state is pressed. Means the button is pressed down or toggled (if toggle_mode is active). Only works if toggle_mode is true
.
Note: Setting button_pressed will result in toggled to be emitted. If you want to change the pressed state without emitting that signal, use set_pressed_no_signal.
bool disabled
Setter |
set_disabled(value) |
Getter |
is_disabled() |
If true
, the button is in disabled state and can't be clicked or toggled.
bool keep_pressed_outside
Setter |
set_keep_pressed_outside(value) |
Getter |
is_keep_pressed_outside() |
If true
, the button stays pressed when moving the cursor outside the button while pressing it.
Note: This property only affects the button's visual appearance. Signals will be emitted at the same moment regardless of this property's value.
Shortcut shortcut
Setter |
set_shortcut(value) |
Getter |
get_shortcut() |
Shortcut associated to the button.
Node shortcut_context
Setter |
set_shortcut_context(value) |
Getter |
get_shortcut_context() |
The Node which must be a parent of the focused GUI Control for the shortcut to be activated. If null
, the shortcut can be activated when any control is focused (a global shortcut). This allows shortcuts to be accepted only when the user has a certain area of the GUI focused.
bool shortcut_in_tooltip
Setter |
set_shortcut_in_tooltip(value) |
Getter |
is_shortcut_in_tooltip_enabled() |
If true
, the button will add information about its shortcut in the tooltip.
bool toggle_mode
Setter |
set_toggle_mode(value) |
Getter |
is_toggle_mode() |
If true
, the button is in toggle mode. Makes the button flip state between pressed and unpressed each time its area is clicked.
Method Descriptions¶
void _pressed ( ) virtual
Called when the button is pressed. If you need to know the button's pressed state (and toggle_mode is active), use _toggled instead.
void _toggled ( bool button_pressed ) virtual
Called when the button is toggled (only if toggle_mode is active).
DrawMode get_draw_mode ( ) const
Returns 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 DrawMode enum.
bool is_hovered ( ) const
Returns true
if the mouse has entered the button and has not left it yet.
void set_pressed_no_signal ( bool pressed )
Changes the button_pressed state of the button, without emitting toggled. Use when you just want to change the state of the button without sending the pressed event (e.g. when initializing scene). Only works if toggle_mode is true
.
Note: This method doesn't unpress other buttons in button_group.