Base class for different kinds of buttons.
    public abstract class BaseButton : Control

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.

Inheritance Chain

Derived Classes


    "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 button_pressed argument.


    public ActionModeEnum ActionMode { get; set; }

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

    public int ButtonMask { get; set; }

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.

    public bool Disabled { get; set; }

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

    public Control.FocusModeEnum EnabledFocusMode { get; set; }

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

    public ButtonGroup Group { get; set; }

ButtonGroup associated to the button.

    public bool Pressed { get; set; }

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

    public ShortCut Shortcut { get; set; }

ShortCut associated to the button.

    public bool ShortcutInTooltip { get; set; }

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

    public bool ToggleMode { get; set; }

If true, the button is in toggle mode. Makes the button flip state between pressed and unpressed each time its area is clicked.


    public virtual void _Pressed()

Called when the button is pressed.

    public virtual void _Toggled(bool buttonPressed)

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

    public ActionModeEnum GetActionMode()

Getter for ActionMode

    public ButtonGroup GetButtonGroup()

Getter for Group

    public int GetButtonMask()

Getter for ButtonMask

    public DrawMode GetDrawMode()

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.

    public FocusModeEnum GetEnabledFocusMode()

Getter for EnabledFocusMode

    public ShortCut GetShortcut()

Getter for Shortcut

    public bool IsDisabled()

Getter for Disabled

    public bool IsHovered()

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

    public bool IsPressed()

Getter for _Pressed()

    public bool IsShortcutInTooltipEnabled()

Getter for ShortcutInTooltip

    public bool IsToggleMode()

Getter for ToggleMode

    public void SetActionMode(ActionModeEnum mode)

Setter for ActionMode

    public void SetButtonGroup(ButtonGroup buttonGroup)

Setter for Group

    public void SetButtonMask(int mask)

Setter for ButtonMask

    public void SetDisabled(bool disabled)

Setter for Disabled

    public void SetEnabledFocusMode(FocusModeEnum mode)

Setter for EnabledFocusMode

    public void SetPressed(bool pressed)

Setter for _Pressed()

    public void SetShortcut(ShortCut shortcut)

Setter for Shortcut

    public void SetShortcutInTooltip(bool enabled)

Setter for ShortcutInTooltip

    public void SetToggleMode(bool enabled)

Setter for ToggleMode

Inner Types


Name Value Description
Press 0 Require just a press to consider the button clicked.
Release 1 Require a press and a subsequent release before considering the button clicked.


Name Value Description
Normal 0 The normal state (i.e. not pressed, not hovered, not toggled and enabled) of buttons.
Pressed 1 The state of buttons are pressed.
Hover 2 The state of buttons are hovered.
Disabled 3 The state of buttons are disabled.
HoverPressed 4