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.

Methods

void_pressed ( ) virtual
void_toggled ( bool button_pressed ) virtual
DrawModeget_draw_mode ( ) const
boolis_hovered ( ) const

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.


  • 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

Default1
Setterset_action_mode(value)
Getterget_action_mode()

Determines when the button is considered clicked, one of the ActionMode constants.


  • int button_mask
Default1
Setterset_button_mask(value)
Getterget_button_mask()

Binary mask to choose which mouse buttons this button will respond to.

To allow both left-click and right-click, use BUTTON_MASK_LEFT | BUTTON_MASK_RIGHT.


Defaultfalse
Setterset_disabled(value)
Getteris_disabled()

If true, the button is in disabled state and can’t be clicked or toggled.


Default2
Setterset_enabled_focus_mode(value)
Getterget_enabled_focus_mode()

Focus access mode to use when switching between enabled/disabled (see Control.focus_mode and disabled).


Setterset_button_group(value)
Getterget_button_group()

ButtonGroup associated to the button.


  • bool keep_pressed_outside
Defaultfalse
Setterset_keep_pressed_outside(value)
Getteris_keep_pressed_outside()

If true, the button stays pressed when moving the cursor outside the button while pressing it.


Defaultfalse
Setterset_pressed(value)
Getteris_pressed()

If true, the button’s state is pressed. Means the button is pressed down or toggled (if toggle_mode is active).


Setterset_shortcut(value)
Getterget_shortcut()

ShortCut associated to the button.


  • bool shortcut_in_tooltip
Defaulttrue
Setterset_shortcut_in_tooltip(value)
Getteris_shortcut_in_tooltip_enabled()

If true, the button will add information about its shortcut in the tooltip.


Defaultfalse
Setterset_toggle_mode(value)
Getteris_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.


  • void _toggled ( bool button_pressed ) virtual

Called when the button is toggled (only if toggle_mode is active).


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.

Doc ID missing

Disclaimer: This page has been automaticaly and directly extracted from the official Godot Docs website, the 1970-01-01 at 00:00:00. It’s the English Stable version because it’s what most Godot users should use. The Copyright owners are Juan Linietsky, Ariel Manzur and the Godot community. CC-BY 3.0. Thanks for your patience and generosity.