Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

TabBar

Inherits: Control < CanvasItem < Node < Object

Tab bar control.

Description

Simple tabs control, similar to TabContainer but is only in charge of drawing tabs, not interacting with children.

Properties

bool

clip_tabs

true

int

current_tab

0

bool

drag_to_rearrange_enabled

false

int

max_tab_width

0

bool

scroll_to_selected

true

bool

scrolling_enabled

true

bool

select_with_rmb

false

AlignmentMode

tab_alignment

0

CloseButtonDisplayPolicy

tab_close_display_policy

0

int

tab_count

0

int

tabs_rearrange_group

-1

Methods

void

add_tab ( String title="", Texture2D icon=null )

void

clear_tabs ( )

void

ensure_tab_visible ( int idx )

bool

get_offset_buttons_visible ( ) const

int

get_previous_tab ( ) const

Texture2D

get_tab_button_icon ( int tab_idx ) const

Texture2D

get_tab_icon ( int tab_idx ) const

int

get_tab_icon_max_width ( int tab_idx ) const

int

get_tab_idx_at_point ( Vector2 point ) const

String

get_tab_language ( int tab_idx ) const

Variant

get_tab_metadata ( int tab_idx ) const

int

get_tab_offset ( ) const

Rect2

get_tab_rect ( int tab_idx ) const

TextDirection

get_tab_text_direction ( int tab_idx ) const

String

get_tab_title ( int tab_idx ) const

bool

is_tab_disabled ( int tab_idx ) const

bool

is_tab_hidden ( int tab_idx ) const

void

move_tab ( int from, int to )

void

remove_tab ( int tab_idx )

void

set_tab_button_icon ( int tab_idx, Texture2D icon )

void

set_tab_disabled ( int tab_idx, bool disabled )

void

set_tab_hidden ( int tab_idx, bool hidden )

void

set_tab_icon ( int tab_idx, Texture2D icon )

void

set_tab_icon_max_width ( int tab_idx, int width )

void

set_tab_language ( int tab_idx, String language )

void

set_tab_metadata ( int tab_idx, Variant metadata )

void

set_tab_text_direction ( int tab_idx, TextDirection direction )

void

set_tab_title ( int tab_idx, String title )

Theme Properties

Color

drop_mark_color

Color(1, 1, 1, 1)

Color

font_disabled_color

Color(0.875, 0.875, 0.875, 0.5)

Color

font_hovered_color

Color(0.95, 0.95, 0.95, 1)

Color

font_outline_color

Color(1, 1, 1, 1)

Color

font_selected_color

Color(0.95, 0.95, 0.95, 1)

Color

font_unselected_color

Color(0.7, 0.7, 0.7, 1)

int

h_separation

4

int

icon_max_width

0

int

outline_size

0

Font

font

int

font_size

Texture2D

close

Texture2D

decrement

Texture2D

decrement_highlight

Texture2D

drop_mark

Texture2D

increment

Texture2D

increment_highlight

StyleBox

button_highlight

StyleBox

button_pressed

StyleBox

tab_disabled

StyleBox

tab_hovered

StyleBox

tab_selected

StyleBox

tab_unselected


Signals

active_tab_rearranged ( int idx_to )

Emitted when the active tab is rearranged via mouse drag. See drag_to_rearrange_enabled.


tab_button_pressed ( int tab )

Emitted when a tab's right button is pressed. See set_tab_button_icon.


tab_changed ( int tab )

Emitted when switching to another tab.


tab_clicked ( int tab )

Emitted when a tab is clicked, even if it is the current tab.


tab_close_pressed ( int tab )

Emitted when a tab's close button is pressed.

Note: Tabs are not removed automatically once the close button is pressed, this behavior needs to be programmed manually. For example:

$TabBar.tab_close_pressed.connect($TabBar.remove_tab)

tab_hovered ( int tab )

Emitted when a tab is hovered by the mouse.


tab_rmb_clicked ( int tab )

Emitted when a tab is right-clicked. select_with_rmb must be enabled.


tab_selected ( int tab )

Emitted when a tab is selected via click or script, even if it is the current tab.


Enumerations

enum AlignmentMode:

AlignmentMode ALIGNMENT_LEFT = 0

Places tabs to the left.

AlignmentMode ALIGNMENT_CENTER = 1

Places tabs in the middle.

AlignmentMode ALIGNMENT_RIGHT = 2

Places tabs to the right.

AlignmentMode ALIGNMENT_MAX = 3

Represents the size of the AlignmentMode enum.


enum CloseButtonDisplayPolicy:

CloseButtonDisplayPolicy CLOSE_BUTTON_SHOW_NEVER = 0

Never show the close buttons.

CloseButtonDisplayPolicy CLOSE_BUTTON_SHOW_ACTIVE_ONLY = 1

Only show the close button on the currently active tab.

CloseButtonDisplayPolicy CLOSE_BUTTON_SHOW_ALWAYS = 2

Show the close button on all tabs.

CloseButtonDisplayPolicy CLOSE_BUTTON_MAX = 3

Represents the size of the CloseButtonDisplayPolicy enum.


Property Descriptions

bool clip_tabs = true

  • void set_clip_tabs ( bool value )

  • bool get_clip_tabs ( )

If true, tabs overflowing this node's width will be hidden, displaying two navigation buttons instead. Otherwise, this node's minimum size is updated so that all tabs are visible.


int current_tab = 0

  • void set_current_tab ( int value )

  • int get_current_tab ( )

Select tab at index tab_idx.


bool drag_to_rearrange_enabled = false

  • void set_drag_to_rearrange_enabled ( bool value )

  • bool get_drag_to_rearrange_enabled ( )

If true, tabs can be rearranged with mouse drag.


int max_tab_width = 0

  • void set_max_tab_width ( int value )

  • int get_max_tab_width ( )

Sets the maximum width which all tabs should be limited to. Unlimited if set to 0.


bool scroll_to_selected = true

  • void set_scroll_to_selected ( bool value )

  • bool get_scroll_to_selected ( )

If true, the tab offset will be changed to keep the currently selected tab visible.


bool scrolling_enabled = true

  • void set_scrolling_enabled ( bool value )

  • bool get_scrolling_enabled ( )

if true, the mouse's scroll wheel can be used to navigate the scroll view.


bool select_with_rmb = false

  • void set_select_with_rmb ( bool value )

  • bool get_select_with_rmb ( )

If true, enables selecting a tab with the right mouse button.


AlignmentMode tab_alignment = 0

Sets the position at which tabs will be placed. See AlignmentMode for details.


CloseButtonDisplayPolicy tab_close_display_policy = 0