Up to date
This page is up to date for Godot 4.1
.
If you still find outdated information, please open an issue.
TabBar¶
Inherits: Control < CanvasItem < Node < Object
A control that provides a horizontal bar with tabs.
Description¶
A control that provides a horizontal bar with tabs. Similar to TabContainer but is only in charge of drawing tabs, not interacting with children.
Properties¶
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Methods¶
void |
|
void |
clear_tabs ( ) |
void |
ensure_tab_visible ( int idx ) |
get_offset_buttons_visible ( ) const |
|
get_previous_tab ( ) const |
|
get_tab_button_icon ( int tab_idx ) const |
|
get_tab_icon ( int tab_idx ) const |
|
get_tab_icon_max_width ( int tab_idx ) const |
|
get_tab_idx_at_point ( Vector2 point ) const |
|
get_tab_language ( int tab_idx ) const |
|
get_tab_metadata ( int tab_idx ) const |
|
get_tab_offset ( ) const |
|
get_tab_rect ( int tab_idx ) const |
|
get_tab_text_direction ( int tab_idx ) const |
|
get_tab_title ( int tab_idx ) const |
|
is_tab_disabled ( int tab_idx ) const |
|
is_tab_hidden ( int tab_idx ) const |
|
void |
|
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¶
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
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)
GetNode<TabBar>("TabBar").TabClosePressed += GetNode<TabBar>("TabBar").RemoveTab;
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
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
Select tab at index tab_idx
.
bool drag_to_rearrange_enabled = false
If true
, tabs can be rearranged with mouse drag.
int max_tab_width = 0
Sets the maximum width which all tabs should be limited to. Unlimited if set to 0
.
bool scroll_to_selected = true
If true
, the tab offset will be changed to keep the currently selected tab visible.
bool scrolling_enabled = true
if true
, the mouse's scroll wheel can be used to navigate the scroll view.
bool select_with_rmb = false
If true
, enables selecting a tab with the right mouse button.
AlignmentMode tab_alignment = 0
void set_tab_alignment ( AlignmentMode value )
AlignmentMode get_tab_alignment ( )
Sets the position at which tabs will be placed. See AlignmentMode for details.
CloseButtonDisplayPolicy tab_close_display_policy = 0
void set_tab_close_display_policy ( CloseButtonDisplayPolicy value )
CloseButtonDisplayPolicy get_tab_close_display_policy ( )
Sets when the close button will appear on the tabs. See CloseButtonDisplayPolicy for details.
int tab_count = 0
The number of tabs currently in the bar.
int tabs_rearrange_group = -1
TabBars with the same rearrange group ID will allow dragging the tabs between them. Enable drag with drag_to_rearrange_enabled.
Setting this to -1
will disable rearranging between TabBars.
Method Descriptions¶
void add_tab ( String title="", Texture2D icon=null )
Adds a new tab.
void clear_tabs ( )
Clears all tabs.
void ensure_tab_visible ( int idx )
Moves the scroll view to make the tab visible.
bool get_offset_buttons_visible ( ) const
Returns true
if the offset buttons (the ones that appear when there's not enough space for all tabs) are visible.
int get_previous_tab ( ) const
Returns the previously active tab index.
Texture2D get_tab_button_icon ( int tab_idx ) const
Returns the icon for the right button of the tab at index tab_idx
or null
if the right button has no icon.
Texture2D get_tab_icon ( int tab_idx ) const
Returns the icon for the tab at index tab_idx
or null
if the tab has no icon.
int get_tab_icon_max_width ( int tab_idx ) const
Returns the maximum allowed width of the icon for the tab at index tab_idx
.
int get_tab_idx_at_point ( Vector2 point ) const
Returns the index of the tab at local coordinates point
. Returns -1
if the point is outside the control boundaries or if there's no tab at the queried position.
String get_tab_language ( int tab_idx ) const
Returns tab title language code.
Variant get_tab_metadata ( int tab_idx ) const
Returns the metadata value set to the tab at index tab_idx
using set_tab_metadata. If no metadata was previously set, returns null
by default.
int get_tab_offset ( ) const
Returns the number of hidden tabs offsetted to the left.
Rect2 get_tab_rect ( int tab_idx ) const
Returns tab Rect2 with local position and size.
TextDirection get_tab_text_direction ( int tab_idx ) const
Returns tab title text base writing direction.
String get_tab_title ( int tab_idx ) const
Returns the title of the tab at index tab_idx
.
bool is_tab_disabled ( int tab_idx ) const
Returns true
if the tab at index tab_idx
is disabled.
Returns true
if the tab at index tab_idx
is hidden.
void move_tab ( int from, int to )
Moves a tab from from
to to
.
void remove_tab ( int tab_idx )
Removes the tab at index tab_idx
.
void set_tab_button_icon ( int tab_idx, Texture2D icon )
Sets an icon
for the button of the tab at index tab_idx
(located to the right, before the close button), making it visible and clickable (See tab_button_pressed). Giving it a null
value will hide the button.
void set_tab_disabled ( int tab_idx, bool disabled )
If disabled
is true
, disables the tab at index tab_idx
, mak