Table of Contents

Class BaseButton

Abstract base class for GUI buttons.

Inheritance
BaseButton
Derived

Remarks

BaseButton is an abstract base class for GUI buttons. It doesn't display anything by itself.

Properties

action_mode

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

var action_mode : int = 1

Property Value

int

Remarks

  • void set_action_mode(int value)
  • int get_action_mode

button_group

The ButtonGroup associated with the button. Not to be confused with node groups.

Note: The button will be configured as a radio button if a ButtonGroup is assigned to it.

var button_group : ButtonGroup

Property Value

ButtonGroup

Remarks

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.

var button_mask : int = 1

Property Value

int

Remarks

  • void set_button_mask(int value)
  • int get_button_mask

button_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: Changing the value of button_pressed will result in BaseButton.toggled to be emitted. If you want to change the pressed state without emitting that signal, use BaseButton.set_pressed_no_signal.

var button_pressed : bool = false

Property Value

bool

Remarks

  • void set_pressed(bool value)
  • bool is_pressed

disabled

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

var disabled : bool = false

Property Value

bool

Remarks

  • void set_disabled(bool value)
  • bool is_disabled

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.

var keep_pressed_outside : bool = false

Property Value

bool

Remarks

  • void set_keep_pressed_outside(bool value)
  • bool is_keep_pressed_outside

shortcut

Shortcut associated to the button.

var shortcut : Shortcut

Property Value

Shortcut

Remarks

shortcut_feedback

If true, the button will highlight for a short amount of time when its shortcut is activated. If false and toggle_mode is false, the shortcut will activate without any visual feedback.

var shortcut_feedback : bool = true

Property Value

bool

Remarks

  • void set_shortcut_feedback(bool value)
  • bool is_shortcut_feedback

shortcut_in_tooltip

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

Note: This property does nothing when the tooltip control is customized using Control._make_custom_tooltip.

var shortcut_in_tooltip : bool = true

Property Value

bool

Remarks

  • void set_shortcut_in_tooltip(bool value)
  • bool is_shortcut_in_tooltip_enabled

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.

var toggle_mode : bool = false

Property Value

bool

Remarks

  • void set_toggle_mode(bool value)
  • bool is_toggle_mode

Methods

_pressed

Qualifiers: virtual

Called when the button is pressed. If you need to know the button's pressed state (and toggle_mode is active), use BaseButton._toggled instead.

void _pressed

_toggled(bool)

Qualifiers: virtual

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

void _toggled(bool toggled_on)

Parameters

toggled_on bool

get_draw_mode

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

int get_draw_mode

is_hovered

Qualifiers: const

Returns true if the mouse has entered the button and has not left it yet.

bool is_hovered

set_pressed_no_signal(bool)

Changes the button_pressed state of the button, without emitting BaseButton.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.

void set_pressed_no_signal(bool pressed)

Parameters

pressed bool

Events

button_down

Emitted when the button starts being held down.

signal button_down

button_up

Emitted when the button stops being held down.

signal button_up

pressed

Emitted when the button is toggled or pressed. This is on button_down if action_mode is BaseButton.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 BaseButton.toggled instead.

signal pressed

toggled(bool)

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 toggled_on argument.

signal toggled(bool toggled_on)

Parameters

toggled_on bool