BaseButton

Inherits: Control < CanvasItem < Node < Object

Inherited By: LinkButton, TextureButton, Button

Category: Core

Brief Description

Base class for different kinds of buttons.

Member Functions

void _pressed ( ) virtual
void _toggled ( bool button_pressed ) virtual
DrawMode get_draw_mode ( ) const
bool is_hovered ( ) const

Signals

  • button_down ( )

Emitted when the button starts being held down.

  • button_up ( )

Emitted when the button stops being held down.

  • pressed ( )

This signal is emitted every time the button is toggled or pressed (i.e. activated, so on button_down if “Click on press” is active and on button_up otherwise).

  • toggled ( bool button_pressed )

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

Member Variables

  • ActionMode action_mode - Determines when the button is considered clicked, one of the ACTION_MODE_* constants.
  • int 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.

  • bool disabled - If true the button is in disabled state and can’t be clicked or toggled.
  • FocusMode enabled_focus_mode - Focus access mode to use when switching between enabled/disabled (see Control.set_focus_mode and disabled).
  • ButtonGroup group - ButtonGroup associated to the button.
  • bool pressed - If true the button’s state is pressed. Means the button is pressed down or toggled (if toggle_mode is active).
  • ShortCut shortcut - Shortcut associated to the button.
  • bool 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.

Enums

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.

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.

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.

Member Function Description

  • 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).

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.

  • bool is_hovered ( ) const

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