12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109 |
- :github_url: hide
- .. DO NOT EDIT THIS FILE!!!
- .. Generated automatically from Godot engine sources.
- .. Generator: https://github.com/godotengine/godot/tree/4.0/doc/tools/make_rst.py.
- .. XML source: https://github.com/godotengine/godot/tree/4.0/doc/classes/TabBar.xml.
- .. _class_TabBar:
- TabBar
- ======
- **Inherits:** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
- A control that provides a horizontal bar with tabs.
- .. rst-class:: classref-introduction-group
- Description
- -----------
- A control that provides a horizontal bar with tabs. Similar to :ref:`TabContainer<class_TabContainer>` but is only in charge of drawing tabs, not interacting with children.
- .. rst-class:: classref-reftable-group
- Properties
- ----------
- .. table::
- :widths: auto
- +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+-----------+
- | :ref:`bool<class_bool>` | :ref:`clip_tabs<class_TabBar_property_clip_tabs>` | ``true`` |
- +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+-----------+
- | :ref:`int<class_int>` | :ref:`current_tab<class_TabBar_property_current_tab>` | ``0`` |
- +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+-----------+
- | :ref:`bool<class_bool>` | :ref:`drag_to_rearrange_enabled<class_TabBar_property_drag_to_rearrange_enabled>` | ``false`` |
- +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+-----------+
- | :ref:`int<class_int>` | :ref:`max_tab_width<class_TabBar_property_max_tab_width>` | ``0`` |
- +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+-----------+
- | :ref:`bool<class_bool>` | :ref:`scroll_to_selected<class_TabBar_property_scroll_to_selected>` | ``true`` |
- +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+-----------+
- | :ref:`bool<class_bool>` | :ref:`scrolling_enabled<class_TabBar_property_scrolling_enabled>` | ``true`` |
- +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+-----------+
- | :ref:`bool<class_bool>` | :ref:`select_with_rmb<class_TabBar_property_select_with_rmb>` | ``false`` |
- +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+-----------+
- | :ref:`AlignmentMode<enum_TabBar_AlignmentMode>` | :ref:`tab_alignment<class_TabBar_property_tab_alignment>` | ``0`` |
- +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+-----------+
- | :ref:`CloseButtonDisplayPolicy<enum_TabBar_CloseButtonDisplayPolicy>` | :ref:`tab_close_display_policy<class_TabBar_property_tab_close_display_policy>` | ``0`` |
- +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+-----------+
- | :ref:`int<class_int>` | :ref:`tab_count<class_TabBar_property_tab_count>` | ``0`` |
- +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+-----------+
- | :ref:`int<class_int>` | :ref:`tabs_rearrange_group<class_TabBar_property_tabs_rearrange_group>` | ``-1`` |
- +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+-----------+
- .. rst-class:: classref-reftable-group
- Methods
- -------
- .. table::
- :widths: auto
- +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`add_tab<class_TabBar_method_add_tab>` **(** :ref:`String<class_String>` title="", :ref:`Texture2D<class_Texture2D>` icon=null **)** |
- +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`clear_tabs<class_TabBar_method_clear_tabs>` **(** **)** |
- +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`ensure_tab_visible<class_TabBar_method_ensure_tab_visible>` **(** :ref:`int<class_int>` idx **)** |
- +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`get_offset_buttons_visible<class_TabBar_method_get_offset_buttons_visible>` **(** **)** |const| |
- +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_previous_tab<class_TabBar_method_get_previous_tab>` **(** **)** |const| |
- +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Texture2D<class_Texture2D>` | :ref:`get_tab_button_icon<class_TabBar_method_get_tab_button_icon>` **(** :ref:`int<class_int>` tab_idx **)** |const| |
- +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Texture2D<class_Texture2D>` | :ref:`get_tab_icon<class_TabBar_method_get_tab_icon>` **(** :ref:`int<class_int>` tab_idx **)** |const| |
- +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_tab_idx_at_point<class_TabBar_method_get_tab_idx_at_point>` **(** :ref:`Vector2<class_Vector2>` point **)** |const| |
- +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`get_tab_language<class_TabBar_method_get_tab_language>` **(** :ref:`int<class_int>` tab_idx **)** |const| |
- +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_tab_offset<class_TabBar_method_get_tab_offset>` **(** **)** |const| |
- +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Rect2<class_Rect2>` | :ref:`get_tab_rect<class_TabBar_method_get_tab_rect>` **(** :ref:`int<class_int>` tab_idx **)** |const| |
- +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`TextDirection<enum_Control_TextDirection>` | :ref:`get_tab_text_direction<class_TabBar_method_get_tab_text_direction>` **(** :ref:`int<class_int>` tab_idx **)** |const| |
- +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`get_tab_title<class_TabBar_method_get_tab_title>` **(** :ref:`int<class_int>` tab_idx **)** |const| |
- +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_tab_disabled<class_TabBar_method_is_tab_disabled>` **(** :ref:`int<class_int>` tab_idx **)** |const| |
- +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_tab_hidden<class_TabBar_method_is_tab_hidden>` **(** :ref:`int<class_int>` tab_idx **)** |const| |
- +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`move_tab<class_TabBar_method_move_tab>` **(** :ref:`int<class_int>` from, :ref:`int<class_int>` to **)** |
- +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`remove_tab<class_TabBar_method_remove_tab>` **(** :ref:`int<class_int>` tab_idx **)** |
- +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_tab_button_icon<class_TabBar_method_set_tab_button_icon>` **(** :ref:`int<class_int>` tab_idx, :ref:`Texture2D<class_Texture2D>` icon **)** |
- +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_tab_disabled<class_TabBar_method_set_tab_disabled>` **(** :ref:`int<class_int>` tab_idx, :ref:`bool<class_bool>` disabled **)** |
- +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_tab_hidden<class_TabBar_method_set_tab_hidden>` **(** :ref:`int<class_int>` tab_idx, :ref:`bool<class_bool>` hidden **)** |
- +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_tab_icon<class_TabBar_method_set_tab_icon>` **(** :ref:`int<class_int>` tab_idx, :ref:`Texture2D<class_Texture2D>` icon **)** |
- +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_tab_language<class_TabBar_method_set_tab_language>` **(** :ref:`int<class_int>` tab_idx, :ref:`String<class_String>` language **)** |
- +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_tab_text_direction<class_TabBar_method_set_tab_text_direction>` **(** :ref:`int<class_int>` tab_idx, :ref:`TextDirection<enum_Control_TextDirection>` direction **)** |
- +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_tab_title<class_TabBar_method_set_tab_title>` **(** :ref:`int<class_int>` tab_idx, :ref:`String<class_String>` title **)** |
- +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- .. rst-class:: classref-reftable-group
- Theme Properties
- ----------------
- .. table::
- :widths: auto
- +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
- | :ref:`Color<class_Color>` | :ref:`drop_mark_color<class_TabBar_theme_color_drop_mark_color>` | ``Color(1, 1, 1, 1)`` |
- +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
- | :ref:`Color<class_Color>` | :ref:`font_disabled_color<class_TabBar_theme_color_font_disabled_color>` | ``Color(0.875, 0.875, 0.875, 0.5)`` |
- +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
- | :ref:`Color<class_Color>` | :ref:`font_outline_color<class_TabBar_theme_color_font_outline_color>` | ``Color(1, 1, 1, 1)`` |
- +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
- | :ref:`Color<class_Color>` | :ref:`font_selected_color<class_TabBar_theme_color_font_selected_color>` | ``Color(0.95, 0.95, 0.95, 1)`` |
- +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
- | :ref:`Color<class_Color>` | :ref:`font_unselected_color<class_TabBar_theme_color_font_unselected_color>` | ``Color(0.7, 0.7, 0.7, 1)`` |
- +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
- | :ref:`int<class_int>` | :ref:`h_separation<class_TabBar_theme_constant_h_separation>` | ``4`` |
- +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
- | :ref:`int<class_int>` | :ref:`outline_size<class_TabBar_theme_constant_outline_size>` | ``0`` |
- +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
- | :ref:`Font<class_Font>` | :ref:`font<class_TabBar_theme_font_font>` | |
- +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
- | :ref:`int<class_int>` | :ref:`font_size<class_TabBar_theme_font_size_font_size>` | |
- +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
- | :ref:`Texture2D<class_Texture2D>` | :ref:`close<class_TabBar_theme_icon_close>` | |
- +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
- | :ref:`Texture2D<class_Texture2D>` | :ref:`decrement<class_TabBar_theme_icon_decrement>` | |
- +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
- | :ref:`Texture2D<class_Texture2D>` | :ref:`decrement_highlight<class_TabBar_theme_icon_decrement_highlight>` | |
- +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
- | :ref:`Texture2D<class_Texture2D>` | :ref:`drop_mark<class_TabBar_theme_icon_drop_mark>` | |
- +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
- | :ref:`Texture2D<class_Texture2D>` | :ref:`increment<class_TabBar_theme_icon_increment>` | |
- +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
- | :ref:`Texture2D<class_Texture2D>` | :ref:`increment_highlight<class_TabBar_theme_icon_increment_highlight>` | |
- +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
- | :ref:`StyleBox<class_StyleBox>` | :ref:`button_highlight<class_TabBar_theme_style_button_highlight>` | |
- +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
- | :ref:`StyleBox<class_StyleBox>` | :ref:`button_pressed<class_TabBar_theme_style_button_pressed>` | |
- +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
- | :ref:`StyleBox<class_StyleBox>` | :ref:`tab_disabled<class_TabBar_theme_style_tab_disabled>` | |
- +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
- | :ref:`StyleBox<class_StyleBox>` | :ref:`tab_selected<class_TabBar_theme_style_tab_selected>` | |
- +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
- | :ref:`StyleBox<class_StyleBox>` | :ref:`tab_unselected<class_TabBar_theme_style_tab_unselected>` | |
- +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
- .. rst-class:: classref-section-separator
- ----
- .. rst-class:: classref-descriptions-group
- Signals
- -------
- .. _class_TabBar_signal_active_tab_rearranged:
- .. rst-class:: classref-signal
- **active_tab_rearranged** **(** :ref:`int<class_int>` idx_to **)**
- Emitted when the active tab is rearranged via mouse drag. See :ref:`drag_to_rearrange_enabled<class_TabBar_property_drag_to_rearrange_enabled>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_signal_tab_button_pressed:
- .. rst-class:: classref-signal
- **tab_button_pressed** **(** :ref:`int<class_int>` tab **)**
- Emitted when a tab's right button is pressed. See :ref:`set_tab_button_icon<class_TabBar_method_set_tab_button_icon>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_signal_tab_changed:
- .. rst-class:: classref-signal
- **tab_changed** **(** :ref:`int<class_int>` tab **)**
- Emitted when switching to another tab.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_signal_tab_clicked:
- .. rst-class:: classref-signal
- **tab_clicked** **(** :ref:`int<class_int>` tab **)**
- Emitted when a tab is clicked, even if it is the current tab.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_signal_tab_close_pressed:
- .. rst-class:: classref-signal
- **tab_close_pressed** **(** :ref:`int<class_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:
- .. tabs::
- .. code-tab:: gdscript
- $TabBar.tab_close_pressed.connect($TabBar.remove_tab)
- .. code-tab:: csharp
- GetNode<TabBar>("TabBar").TabClosePressed += GetNode<TabBar>("TabBar").RemoveTab;
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_signal_tab_hovered:
- .. rst-class:: classref-signal
- **tab_hovered** **(** :ref:`int<class_int>` tab **)**
- Emitted when a tab is hovered by the mouse.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_signal_tab_rmb_clicked:
- .. rst-class:: classref-signal
- **tab_rmb_clicked** **(** :ref:`int<class_int>` tab **)**
- Emitted when a tab is right-clicked. :ref:`select_with_rmb<class_TabBar_property_select_with_rmb>` must be enabled.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_signal_tab_selected:
- .. rst-class:: classref-signal
- **tab_selected** **(** :ref:`int<class_int>` tab **)**
- Emitted when a tab is selected via click or script, even if it is the current tab.
- .. rst-class:: classref-section-separator
- ----
- .. rst-class:: classref-descriptions-group
- Enumerations
- ------------
- .. _enum_TabBar_AlignmentMode:
- .. rst-class:: classref-enumeration
- enum **AlignmentMode**:
- .. _class_TabBar_constant_ALIGNMENT_LEFT:
- .. rst-class:: classref-enumeration-constant
- :ref:`AlignmentMode<enum_TabBar_AlignmentMode>` **ALIGNMENT_LEFT** = ``0``
- Places tabs to the left.
- .. _class_TabBar_constant_ALIGNMENT_CENTER:
- .. rst-class:: classref-enumeration-constant
- :ref:`AlignmentMode<enum_TabBar_AlignmentMode>` **ALIGNMENT_CENTER** = ``1``
- Places tabs in the middle.
- .. _class_TabBar_constant_ALIGNMENT_RIGHT:
- .. rst-class:: classref-enumeration-constant
- :ref:`AlignmentMode<enum_TabBar_AlignmentMode>` **ALIGNMENT_RIGHT** = ``2``
- Places tabs to the right.
- .. _class_TabBar_constant_ALIGNMENT_MAX:
- .. rst-class:: classref-enumeration-constant
- :ref:`AlignmentMode<enum_TabBar_AlignmentMode>` **ALIGNMENT_MAX** = ``3``
- Represents the size of the :ref:`AlignmentMode<enum_TabBar_AlignmentMode>` enum.
- .. rst-class:: classref-item-separator
- ----
- .. _enum_TabBar_CloseButtonDisplayPolicy:
- .. rst-class:: classref-enumeration
- enum **CloseButtonDisplayPolicy**:
- .. _class_TabBar_constant_CLOSE_BUTTON_SHOW_NEVER:
- .. rst-class:: classref-enumeration-constant
- :ref:`CloseButtonDisplayPolicy<enum_TabBar_CloseButtonDisplayPolicy>` **CLOSE_BUTTON_SHOW_NEVER** = ``0``
- Never show the close buttons.
- .. _class_TabBar_constant_CLOSE_BUTTON_SHOW_ACTIVE_ONLY:
- .. rst-class:: classref-enumeration-constant
- :ref:`CloseButtonDisplayPolicy<enum_TabBar_CloseButtonDisplayPolicy>` **CLOSE_BUTTON_SHOW_ACTIVE_ONLY** = ``1``
- Only show the close button on the currently active tab.
- .. _class_TabBar_constant_CLOSE_BUTTON_SHOW_ALWAYS:
- .. rst-class:: classref-enumeration-constant
- :ref:`CloseButtonDisplayPolicy<enum_TabBar_CloseButtonDisplayPolicy>` **CLOSE_BUTTON_SHOW_ALWAYS** = ``2``
- Show the close button on all tabs.
- .. _class_TabBar_constant_CLOSE_BUTTON_MAX:
- .. rst-class:: classref-enumeration-constant
- :ref:`CloseButtonDisplayPolicy<enum_TabBar_CloseButtonDisplayPolicy>` **CLOSE_BUTTON_MAX** = ``3``
- Represents the size of the :ref:`CloseButtonDisplayPolicy<enum_TabBar_CloseButtonDisplayPolicy>` enum.
- .. rst-class:: classref-section-separator
- ----
- .. rst-class:: classref-descriptions-group
- Property Descriptions
- ---------------------
- .. _class_TabBar_property_clip_tabs:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **clip_tabs** = ``true``
- .. rst-class:: classref-property-setget
- - void **set_clip_tabs** **(** :ref:`bool<class_bool>` value **)**
- - :ref:`bool<class_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.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_property_current_tab:
- .. rst-class:: classref-property
- :ref:`int<class_int>` **current_tab** = ``0``
- .. rst-class:: classref-property-setget
- - void **set_current_tab** **(** :ref:`int<class_int>` value **)**
- - :ref:`int<class_int>` **get_current_tab** **(** **)**
- Select tab at index ``tab_idx``.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_property_drag_to_rearrange_enabled:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **drag_to_rearrange_enabled** = ``false``
- .. rst-class:: classref-property-setget
- - void **set_drag_to_rearrange_enabled** **(** :ref:`bool<class_bool>` value **)**
- - :ref:`bool<class_bool>` **get_drag_to_rearrange_enabled** **(** **)**
- If ``true``, tabs can be rearranged with mouse drag.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_property_max_tab_width:
- .. rst-class:: classref-property
- :ref:`int<class_int>` **max_tab_width** = ``0``
- .. rst-class:: classref-property-setget
- - void **set_max_tab_width** **(** :ref:`int<class_int>` value **)**
- - :ref:`int<class_int>` **get_max_tab_width** **(** **)**
- Sets the maximum width which all tabs should be limited to. Unlimited if set to ``0``.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_property_scroll_to_selected:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **scroll_to_selected** = ``true``
- .. rst-class:: classref-property-setget
- - void **set_scroll_to_selected** **(** :ref:`bool<class_bool>` value **)**
- - :ref:`bool<class_bool>` **get_scroll_to_selected** **(** **)**
- If ``true``, the tab offset will be changed to keep the currently selected tab visible.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_property_scrolling_enabled:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **scrolling_enabled** = ``true``
- .. rst-class:: classref-property-setget
- - void **set_scrolling_enabled** **(** :ref:`bool<class_bool>` value **)**
- - :ref:`bool<class_bool>` **get_scrolling_enabled** **(** **)**
- if ``true``, the mouse's scroll wheel can be used to navigate the scroll view.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_property_select_with_rmb:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **select_with_rmb** = ``false``
- .. rst-class:: classref-property-setget
- - void **set_select_with_rmb** **(** :ref:`bool<class_bool>` value **)**
- - :ref:`bool<class_bool>` **get_select_with_rmb** **(** **)**
- If ``true``, enables selecting a tab with the right mouse button.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_property_tab_alignment:
- .. rst-class:: classref-property
- :ref:`AlignmentMode<enum_TabBar_AlignmentMode>` **tab_alignment** = ``0``
- .. rst-class:: classref-property-setget
- - void **set_tab_alignment** **(** :ref:`AlignmentMode<enum_TabBar_AlignmentMode>` value **)**
- - :ref:`AlignmentMode<enum_TabBar_AlignmentMode>` **get_tab_alignment** **(** **)**
- Sets the position at which tabs will be placed. See :ref:`AlignmentMode<enum_TabBar_AlignmentMode>` for details.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_property_tab_close_display_policy:
- .. rst-class:: classref-property
- :ref:`CloseButtonDisplayPolicy<enum_TabBar_CloseButtonDisplayPolicy>` **tab_close_display_policy** = ``0``
- .. rst-class:: classref-property-setget
- - void **set_tab_close_display_policy** **(** :ref:`CloseButtonDisplayPolicy<enum_TabBar_CloseButtonDisplayPolicy>` value **)**
- - :ref:`CloseButtonDisplayPolicy<enum_TabBar_CloseButtonDisplayPolicy>` **get_tab_close_display_policy** **(** **)**
- Sets when the close button will appear on the tabs. See :ref:`CloseButtonDisplayPolicy<enum_TabBar_CloseButtonDisplayPolicy>` for details.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_property_tab_count:
- .. rst-class:: classref-property
- :ref:`int<class_int>` **tab_count** = ``0``
- .. rst-class:: classref-property-setget
- - void **set_tab_count** **(** :ref:`int<class_int>` value **)**
- - :ref:`int<class_int>` **get_tab_count** **(** **)**
- The number of tabs currently in the bar.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_property_tabs_rearrange_group:
- .. rst-class:: classref-property
- :ref:`int<class_int>` **tabs_rearrange_group** = ``-1``
- .. rst-class:: classref-property-setget
- - void **set_tabs_rearrange_group** **(** :ref:`int<class_int>` value **)**
- - :ref:`int<class_int>` **get_tabs_rearrange_group** **(** **)**
- **TabBar**\ s with the same rearrange group ID will allow dragging the tabs between them. Enable drag with :ref:`drag_to_rearrange_enabled<class_TabBar_property_drag_to_rearrange_enabled>`.
- Setting this to ``-1`` will disable rearranging between **TabBar**\ s.
- .. rst-class:: classref-section-separator
- ----
- .. rst-class:: classref-descriptions-group
- Method Descriptions
- -------------------
- .. _class_TabBar_method_add_tab:
- .. rst-class:: classref-method
- void **add_tab** **(** :ref:`String<class_String>` title="", :ref:`Texture2D<class_Texture2D>` icon=null **)**
- Adds a new tab.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_method_clear_tabs:
- .. rst-class:: classref-method
- void **clear_tabs** **(** **)**
- Clears all tabs.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_method_ensure_tab_visible:
- .. rst-class:: classref-method
- void **ensure_tab_visible** **(** :ref:`int<class_int>` idx **)**
- Moves the scroll view to make the tab visible.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_method_get_offset_buttons_visible:
- .. rst-class:: classref-method
- :ref:`bool<class_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.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_method_get_previous_tab:
- .. rst-class:: classref-method
- :ref:`int<class_int>` **get_previous_tab** **(** **)** |const|
- Returns the previously active tab index.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_method_get_tab_button_icon:
- .. rst-class:: classref-method
- :ref:`Texture2D<class_Texture2D>` **get_tab_button_icon** **(** :ref:`int<class_int>` tab_idx **)** |const|
- Returns the :ref:`Texture2D<class_Texture2D>` for the right button of the tab at index ``tab_idx`` or ``null`` if the button has no :ref:`Texture2D<class_Texture2D>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_method_get_tab_icon:
- .. rst-class:: classref-method
- :ref:`Texture2D<class_Texture2D>` **get_tab_icon** **(** :ref:`int<class_int>` tab_idx **)** |const|
- Returns the :ref:`Texture2D<class_Texture2D>` for the tab at index ``tab_idx`` or ``null`` if the tab has no :ref:`Texture2D<class_Texture2D>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_method_get_tab_idx_at_point:
- .. rst-class:: classref-method
- :ref:`int<class_int>` **get_tab_idx_at_point** **(** :ref:`Vector2<class_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.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_method_get_tab_language:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **get_tab_language** **(** :ref:`int<class_int>` tab_idx **)** |const|
- Returns tab title language code.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_method_get_tab_offset:
- .. rst-class:: classref-method
- :ref:`int<class_int>` **get_tab_offset** **(** **)** |const|
- Returns the number of hidden tabs offsetted to the left.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_method_get_tab_rect:
- .. rst-class:: classref-method
- :ref:`Rect2<class_Rect2>` **get_tab_rect** **(** :ref:`int<class_int>` tab_idx **)** |const|
- Returns tab :ref:`Rect2<class_Rect2>` with local position and size.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_method_get_tab_text_direction:
- .. rst-class:: classref-method
- :ref:`TextDirection<enum_Control_TextDirection>` **get_tab_text_direction** **(** :ref:`int<class_int>` tab_idx **)** |const|
- Returns tab title text base writing direction.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_method_get_tab_title:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **get_tab_title** **(** :ref:`int<class_int>` tab_idx **)** |const|
- Returns the title of the tab at index ``tab_idx``.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_method_is_tab_disabled:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **is_tab_disabled** **(** :ref:`int<class_int>` tab_idx **)** |const|
- Returns ``true`` if the tab at index ``tab_idx`` is disabled.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_method_is_tab_hidden:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **is_tab_hidden** **(** :ref:`int<class_int>` tab_idx **)** |const|
- Returns ``true`` if the tab at index ``tab_idx`` is hidden.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_method_move_tab:
- .. rst-class:: classref-method
- void **move_tab** **(** :ref:`int<class_int>` from, :ref:`int<class_int>` to **)**
- Moves a tab from ``from`` to ``to``.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_method_remove_tab:
- .. rst-class:: classref-method
- void **remove_tab** **(** :ref:`int<class_int>` tab_idx **)**
- Removes the tab at index ``tab_idx``.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_method_set_tab_button_icon:
- .. rst-class:: classref-method
- void **set_tab_button_icon** **(** :ref:`int<class_int>` tab_idx, :ref:`Texture2D<class_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 :ref:`tab_button_pressed<class_TabBar_signal_tab_button_pressed>`). Giving it a ``null`` value will hide the button.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_method_set_tab_disabled:
- .. rst-class:: classref-method
- void **set_tab_disabled** **(** :ref:`int<class_int>` tab_idx, :ref:`bool<class_bool>` disabled **)**
- If ``disabled`` is ``true``, disables the tab at index ``tab_idx``, making it non-interactable.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_method_set_tab_hidden:
- .. rst-class:: classref-method
- void **set_tab_hidden** **(** :ref:`int<class_int>` tab_idx, :ref:`bool<class_bool>` hidden **)**
- If ``hidden`` is ``true``, hides the tab at index ``tab_idx``, making it disappear from the tab area.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_method_set_tab_icon:
- .. rst-class:: classref-method
- void **set_tab_icon** **(** :ref:`int<class_int>` tab_idx, :ref:`Texture2D<class_Texture2D>` icon **)**
- Sets an ``icon`` for the tab at index ``tab_idx``.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_method_set_tab_language:
- .. rst-class:: classref-method
- void **set_tab_language** **(** :ref:`int<class_int>` tab_idx, :ref:`String<class_String>` language **)**
- Sets language code of tab title used for line-breaking and text shaping algorithms, if left empty current locale is used instead.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_method_set_tab_text_direction:
- .. rst-class:: classref-method
- void **set_tab_text_direction** **(** :ref:`int<class_int>` tab_idx, :ref:`TextDirection<enum_Control_TextDirection>` direction **)**
- Sets tab title base writing direction.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_method_set_tab_title:
- .. rst-class:: classref-method
- void **set_tab_title** **(** :ref:`int<class_int>` tab_idx, :ref:`String<class_String>` title **)**
- Sets a ``title`` for the tab at index ``tab_idx``.
- .. rst-class:: classref-section-separator
- ----
- .. rst-class:: classref-descriptions-group
- Theme Property Descriptions
- ---------------------------
- .. _class_TabBar_theme_color_drop_mark_color:
- .. rst-class:: classref-themeproperty
- :ref:`Color<class_Color>` **drop_mark_color** = ``Color(1, 1, 1, 1)``
- Modulation color for the :ref:`drop_mark<class_TabBar_theme_icon_drop_mark>` icon.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_theme_color_font_disabled_color:
- .. rst-class:: classref-themeproperty
- :ref:`Color<class_Color>` **font_disabled_color** = ``Color(0.875, 0.875, 0.875, 0.5)``
- Font color of disabled tabs.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_theme_color_font_outline_color:
- .. rst-class:: classref-themeproperty
- :ref:`Color<class_Color>` **font_outline_color** = ``Color(1, 1, 1, 1)``
- The tint of text outline of the tab name.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_theme_color_font_selected_color:
- .. rst-class:: classref-themeproperty
- :ref:`Color<class_Color>` **font_selected_color** = ``Color(0.95, 0.95, 0.95, 1)``
- Font color of the currently selected tab.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_theme_color_font_unselected_color:
- .. rst-class:: classref-themeproperty
- :ref:`Color<class_Color>` **font_unselected_color** = ``Color(0.7, 0.7, 0.7, 1)``
- Font color of the other, unselected tabs.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_theme_constant_h_separation:
- .. rst-class:: classref-themeproperty
- :ref:`int<class_int>` **h_separation** = ``4``
- The horizontal separation between the elements inside tabs.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_theme_constant_outline_size:
- .. rst-class:: classref-themeproperty
- :ref:`int<class_int>` **outline_size** = ``0``
- The size of the tab text outline.
- \ **Note:** If using a font with :ref:`FontFile.multichannel_signed_distance_field<class_FontFile_property_multichannel_signed_distance_field>` enabled, its :ref:`FontFile.msdf_pixel_range<class_FontFile_property_msdf_pixel_range>` must be set to at least *twice* the value of :ref:`outline_size<class_TabBar_theme_constant_outline_size>` for outline rendering to look correct. Otherwise, the outline may appear to be cut off earlier than intended.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_theme_font_font:
- .. rst-class:: classref-themeproperty
- :ref:`Font<class_Font>` **font**
- The font used to draw tab names.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_theme_font_size_font_size:
- .. rst-class:: classref-themeproperty
- :ref:`int<class_int>` **font_size**
- Font size of the tab names.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_theme_icon_close:
- .. rst-class:: classref-themeproperty
- :ref:`Texture2D<class_Texture2D>` **close**
- The icon for the close button (see :ref:`tab_close_display_policy<class_TabBar_property_tab_close_display_policy>`).
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_theme_icon_decrement:
- .. rst-class:: classref-themeproperty
- :ref:`Texture2D<class_Texture2D>` **decrement**
- Icon for the left arrow button that appears when there are too many tabs to fit in the container width. When the button is disabled (i.e. the first tab is visible), it appears semi-transparent.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_theme_icon_decrement_highlight:
- .. rst-class:: classref-themeproperty
- :ref:`Texture2D<class_Texture2D>` **decrement_highlight**
- Icon for the left arrow button that appears when there are too many tabs to fit in the container width. Used when the button is being hovered with the cursor.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_theme_icon_drop_mark:
- .. rst-class:: classref-themeproperty
- :ref:`Texture2D<class_Texture2D>` **drop_mark**
- Icon shown to indicate where a dragged tab is gonna be dropped (see :ref:`drag_to_rearrange_enabled<class_TabBar_property_drag_to_rearrange_enabled>`).
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_theme_icon_increment:
- .. rst-class:: classref-themeproperty
- :ref:`Texture2D<class_Texture2D>` **increment**
- Icon for the right arrow button that appears when there are too many tabs to fit in the container width. When the button is disabled (i.e. the last tab is visible) it appears semi-transparent.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_theme_icon_increment_highlight:
- .. rst-class:: classref-themeproperty
- :ref:`Texture2D<class_Texture2D>` **increment_highlight**
- Icon for the right arrow button that appears when there are too many tabs to fit in the container width. Used when the button is being hovered with the cursor.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_theme_style_button_highlight:
- .. rst-class:: classref-themeproperty
- :ref:`StyleBox<class_StyleBox>` **button_highlight**
- Background of the tab and close buttons when they're being hovered with the cursor.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_theme_style_button_pressed:
- .. rst-class:: classref-themeproperty
- :ref:`StyleBox<class_StyleBox>` **button_pressed**
- Background of the tab and close buttons when it's being pressed.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_theme_style_tab_disabled:
- .. rst-class:: classref-themeproperty
- :ref:`StyleBox<class_StyleBox>` **tab_disabled**
- The style of disabled tabs.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_theme_style_tab_selected:
- .. rst-class:: classref-themeproperty
- :ref:`StyleBox<class_StyleBox>` **tab_selected**
- The style of the currently selected tab.
- .. rst-class:: classref-item-separator
- ----
- .. _class_TabBar_theme_style_tab_unselected:
- .. rst-class:: classref-themeproperty
- :ref:`StyleBox<class_StyleBox>` **tab_unselected**
- The style of the other, unselected tabs.
- .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
- .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
- .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
- .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
- .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
- .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
|