class_tabbar.rst 56 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253
  1. :github_url: hide
  2. .. DO NOT EDIT THIS FILE!!!
  3. .. Generated automatically from Godot engine sources.
  4. .. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/TabBar.xml.
  6. .. _class_TabBar:
  7. TabBar
  8. ======
  9. **Inherits:** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
  10. A control that provides a horizontal bar with tabs.
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. 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.
  15. .. rst-class:: classref-reftable-group
  16. Properties
  17. ----------
  18. .. table::
  19. :widths: auto
  20. +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------+
  21. | :ref:`bool<class_bool>` | :ref:`clip_tabs<class_TabBar_property_clip_tabs>` | ``true`` |
  22. +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------+
  23. | :ref:`int<class_int>` | :ref:`current_tab<class_TabBar_property_current_tab>` | ``0`` |
  24. +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------+
  25. | :ref:`bool<class_bool>` | :ref:`drag_to_rearrange_enabled<class_TabBar_property_drag_to_rearrange_enabled>` | ``false`` |
  26. +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------+
  27. | :ref:`FocusMode<enum_Control_FocusMode>` | focus_mode | ``2`` (overrides :ref:`Control<class_Control_property_focus_mode>`) |
  28. +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------+
  29. | :ref:`int<class_int>` | :ref:`max_tab_width<class_TabBar_property_max_tab_width>` | ``0`` |
  30. +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------+
  31. | :ref:`bool<class_bool>` | :ref:`scroll_to_selected<class_TabBar_property_scroll_to_selected>` | ``true`` |
  32. +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------+
  33. | :ref:`bool<class_bool>` | :ref:`scrolling_enabled<class_TabBar_property_scrolling_enabled>` | ``true`` |
  34. +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------+
  35. | :ref:`bool<class_bool>` | :ref:`select_with_rmb<class_TabBar_property_select_with_rmb>` | ``false`` |
  36. +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------+
  37. | :ref:`AlignmentMode<enum_TabBar_AlignmentMode>` | :ref:`tab_alignment<class_TabBar_property_tab_alignment>` | ``0`` |
  38. +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------+
  39. | :ref:`CloseButtonDisplayPolicy<enum_TabBar_CloseButtonDisplayPolicy>` | :ref:`tab_close_display_policy<class_TabBar_property_tab_close_display_policy>` | ``0`` |
  40. +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------+
  41. | :ref:`int<class_int>` | :ref:`tab_count<class_TabBar_property_tab_count>` | ``0`` |
  42. +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------+
  43. | :ref:`int<class_int>` | :ref:`tabs_rearrange_group<class_TabBar_property_tabs_rearrange_group>` | ``-1`` |
  44. +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------+
  45. .. rst-class:: classref-reftable-group
  46. Methods
  47. -------
  48. .. table::
  49. :widths: auto
  50. +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  51. | void | :ref:`add_tab<class_TabBar_method_add_tab>` **(** :ref:`String<class_String>` title="", :ref:`Texture2D<class_Texture2D>` icon=null **)** |
  52. +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  53. | void | :ref:`clear_tabs<class_TabBar_method_clear_tabs>` **(** **)** |
  54. +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  55. | void | :ref:`ensure_tab_visible<class_TabBar_method_ensure_tab_visible>` **(** :ref:`int<class_int>` idx **)** |
  56. +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  57. | :ref:`bool<class_bool>` | :ref:`get_offset_buttons_visible<class_TabBar_method_get_offset_buttons_visible>` **(** **)** |const| |
  58. +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  59. | :ref:`int<class_int>` | :ref:`get_previous_tab<class_TabBar_method_get_previous_tab>` **(** **)** |const| |
  60. +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  61. | :ref:`Texture2D<class_Texture2D>` | :ref:`get_tab_button_icon<class_TabBar_method_get_tab_button_icon>` **(** :ref:`int<class_int>` tab_idx **)** |const| |
  62. +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  63. | :ref:`Texture2D<class_Texture2D>` | :ref:`get_tab_icon<class_TabBar_method_get_tab_icon>` **(** :ref:`int<class_int>` tab_idx **)** |const| |
  64. +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  65. | :ref:`int<class_int>` | :ref:`get_tab_icon_max_width<class_TabBar_method_get_tab_icon_max_width>` **(** :ref:`int<class_int>` tab_idx **)** |const| |
  66. +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  67. | :ref:`int<class_int>` | :ref:`get_tab_idx_at_point<class_TabBar_method_get_tab_idx_at_point>` **(** :ref:`Vector2<class_Vector2>` point **)** |const| |
  68. +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  69. | :ref:`String<class_String>` | :ref:`get_tab_language<class_TabBar_method_get_tab_language>` **(** :ref:`int<class_int>` tab_idx **)** |const| |
  70. +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  71. | :ref:`Variant<class_Variant>` | :ref:`get_tab_metadata<class_TabBar_method_get_tab_metadata>` **(** :ref:`int<class_int>` tab_idx **)** |const| |
  72. +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  73. | :ref:`int<class_int>` | :ref:`get_tab_offset<class_TabBar_method_get_tab_offset>` **(** **)** |const| |
  74. +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  75. | :ref:`Rect2<class_Rect2>` | :ref:`get_tab_rect<class_TabBar_method_get_tab_rect>` **(** :ref:`int<class_int>` tab_idx **)** |const| |
  76. +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  77. | :ref:`TextDirection<enum_Control_TextDirection>` | :ref:`get_tab_text_direction<class_TabBar_method_get_tab_text_direction>` **(** :ref:`int<class_int>` tab_idx **)** |const| |
  78. +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  79. | :ref:`String<class_String>` | :ref:`get_tab_title<class_TabBar_method_get_tab_title>` **(** :ref:`int<class_int>` tab_idx **)** |const| |
  80. +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  81. | :ref:`bool<class_bool>` | :ref:`is_tab_disabled<class_TabBar_method_is_tab_disabled>` **(** :ref:`int<class_int>` tab_idx **)** |const| |
  82. +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  83. | :ref:`bool<class_bool>` | :ref:`is_tab_hidden<class_TabBar_method_is_tab_hidden>` **(** :ref:`int<class_int>` tab_idx **)** |const| |
  84. +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  85. | void | :ref:`move_tab<class_TabBar_method_move_tab>` **(** :ref:`int<class_int>` from, :ref:`int<class_int>` to **)** |
  86. +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  87. | void | :ref:`remove_tab<class_TabBar_method_remove_tab>` **(** :ref:`int<class_int>` tab_idx **)** |
  88. +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  89. | :ref:`bool<class_bool>` | :ref:`select_next_available<class_TabBar_method_select_next_available>` **(** **)** |
  90. +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  91. | :ref:`bool<class_bool>` | :ref:`select_previous_available<class_TabBar_method_select_previous_available>` **(** **)** |
  92. +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  93. | void | :ref:`set_tab_button_icon<class_TabBar_method_set_tab_button_icon>` **(** :ref:`int<class_int>` tab_idx, :ref:`Texture2D<class_Texture2D>` icon **)** |
  94. +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  95. | void | :ref:`set_tab_disabled<class_TabBar_method_set_tab_disabled>` **(** :ref:`int<class_int>` tab_idx, :ref:`bool<class_bool>` disabled **)** |
  96. +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  97. | void | :ref:`set_tab_hidden<class_TabBar_method_set_tab_hidden>` **(** :ref:`int<class_int>` tab_idx, :ref:`bool<class_bool>` hidden **)** |
  98. +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  99. | void | :ref:`set_tab_icon<class_TabBar_method_set_tab_icon>` **(** :ref:`int<class_int>` tab_idx, :ref:`Texture2D<class_Texture2D>` icon **)** |
  100. +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  101. | void | :ref:`set_tab_icon_max_width<class_TabBar_method_set_tab_icon_max_width>` **(** :ref:`int<class_int>` tab_idx, :ref:`int<class_int>` width **)** |
  102. +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  103. | void | :ref:`set_tab_language<class_TabBar_method_set_tab_language>` **(** :ref:`int<class_int>` tab_idx, :ref:`String<class_String>` language **)** |
  104. +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  105. | void | :ref:`set_tab_metadata<class_TabBar_method_set_tab_metadata>` **(** :ref:`int<class_int>` tab_idx, :ref:`Variant<class_Variant>` metadata **)** |
  106. +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  107. | 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 **)** |
  108. +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  109. | void | :ref:`set_tab_title<class_TabBar_method_set_tab_title>` **(** :ref:`int<class_int>` tab_idx, :ref:`String<class_String>` title **)** |
  110. +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  111. .. rst-class:: classref-reftable-group
  112. Theme Properties
  113. ----------------
  114. .. table::
  115. :widths: auto
  116. +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
  117. | :ref:`Color<class_Color>` | :ref:`drop_mark_color<class_TabBar_theme_color_drop_mark_color>` | ``Color(1, 1, 1, 1)`` |
  118. +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
  119. | :ref:`Color<class_Color>` | :ref:`font_disabled_color<class_TabBar_theme_color_font_disabled_color>` | ``Color(0.875, 0.875, 0.875, 0.5)`` |
  120. +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
  121. | :ref:`Color<class_Color>` | :ref:`font_hovered_color<class_TabBar_theme_color_font_hovered_color>` | ``Color(0.95, 0.95, 0.95, 1)`` |
  122. +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
  123. | :ref:`Color<class_Color>` | :ref:`font_outline_color<class_TabBar_theme_color_font_outline_color>` | ``Color(1, 1, 1, 1)`` |
  124. +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
  125. | :ref:`Color<class_Color>` | :ref:`font_selected_color<class_TabBar_theme_color_font_selected_color>` | ``Color(0.95, 0.95, 0.95, 1)`` |
  126. +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
  127. | :ref:`Color<class_Color>` | :ref:`font_unselected_color<class_TabBar_theme_color_font_unselected_color>` | ``Color(0.7, 0.7, 0.7, 1)`` |
  128. +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
  129. | :ref:`int<class_int>` | :ref:`h_separation<class_TabBar_theme_constant_h_separation>` | ``4`` |
  130. +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
  131. | :ref:`int<class_int>` | :ref:`icon_max_width<class_TabBar_theme_constant_icon_max_width>` | ``0`` |
  132. +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
  133. | :ref:`int<class_int>` | :ref:`outline_size<class_TabBar_theme_constant_outline_size>` | ``0`` |
  134. +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
  135. | :ref:`Font<class_Font>` | :ref:`font<class_TabBar_theme_font_font>` | |
  136. +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
  137. | :ref:`int<class_int>` | :ref:`font_size<class_TabBar_theme_font_size_font_size>` | |
  138. +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
  139. | :ref:`Texture2D<class_Texture2D>` | :ref:`close<class_TabBar_theme_icon_close>` | |
  140. +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
  141. | :ref:`Texture2D<class_Texture2D>` | :ref:`decrement<class_TabBar_theme_icon_decrement>` | |
  142. +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
  143. | :ref:`Texture2D<class_Texture2D>` | :ref:`decrement_highlight<class_TabBar_theme_icon_decrement_highlight>` | |
  144. +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
  145. | :ref:`Texture2D<class_Texture2D>` | :ref:`drop_mark<class_TabBar_theme_icon_drop_mark>` | |
  146. +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
  147. | :ref:`Texture2D<class_Texture2D>` | :ref:`increment<class_TabBar_theme_icon_increment>` | |
  148. +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
  149. | :ref:`Texture2D<class_Texture2D>` | :ref:`increment_highlight<class_TabBar_theme_icon_increment_highlight>` | |
  150. +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
  151. | :ref:`StyleBox<class_StyleBox>` | :ref:`button_highlight<class_TabBar_theme_style_button_highlight>` | |
  152. +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
  153. | :ref:`StyleBox<class_StyleBox>` | :ref:`button_pressed<class_TabBar_theme_style_button_pressed>` | |
  154. +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
  155. | :ref:`StyleBox<class_StyleBox>` | :ref:`tab_disabled<class_TabBar_theme_style_tab_disabled>` | |
  156. +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
  157. | :ref:`StyleBox<class_StyleBox>` | :ref:`tab_focus<class_TabBar_theme_style_tab_focus>` | |
  158. +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
  159. | :ref:`StyleBox<class_StyleBox>` | :ref:`tab_hovered<class_TabBar_theme_style_tab_hovered>` | |
  160. +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
  161. | :ref:`StyleBox<class_StyleBox>` | :ref:`tab_selected<class_TabBar_theme_style_tab_selected>` | |
  162. +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
  163. | :ref:`StyleBox<class_StyleBox>` | :ref:`tab_unselected<class_TabBar_theme_style_tab_unselected>` | |
  164. +-----------------------------------+------------------------------------------------------------------------------+-------------------------------------+
  165. .. rst-class:: classref-section-separator
  166. ----
  167. .. rst-class:: classref-descriptions-group
  168. Signals
  169. -------
  170. .. _class_TabBar_signal_active_tab_rearranged:
  171. .. rst-class:: classref-signal
  172. **active_tab_rearranged** **(** :ref:`int<class_int>` idx_to **)**
  173. Emitted when the active tab is rearranged via mouse drag. See :ref:`drag_to_rearrange_enabled<class_TabBar_property_drag_to_rearrange_enabled>`.
  174. .. rst-class:: classref-item-separator
  175. ----
  176. .. _class_TabBar_signal_tab_button_pressed:
  177. .. rst-class:: classref-signal
  178. **tab_button_pressed** **(** :ref:`int<class_int>` tab **)**
  179. Emitted when a tab's right button is pressed. See :ref:`set_tab_button_icon<class_TabBar_method_set_tab_button_icon>`.
  180. .. rst-class:: classref-item-separator
  181. ----
  182. .. _class_TabBar_signal_tab_changed:
  183. .. rst-class:: classref-signal
  184. **tab_changed** **(** :ref:`int<class_int>` tab **)**
  185. Emitted when switching to another tab.
  186. .. rst-class:: classref-item-separator
  187. ----
  188. .. _class_TabBar_signal_tab_clicked:
  189. .. rst-class:: classref-signal
  190. **tab_clicked** **(** :ref:`int<class_int>` tab **)**
  191. Emitted when a tab is clicked, even if it is the current tab.
  192. .. rst-class:: classref-item-separator
  193. ----
  194. .. _class_TabBar_signal_tab_close_pressed:
  195. .. rst-class:: classref-signal
  196. **tab_close_pressed** **(** :ref:`int<class_int>` tab **)**
  197. Emitted when a tab's close button is pressed.
  198. \ **Note:** Tabs are not removed automatically once the close button is pressed, this behavior needs to be programmed manually. For example:
  199. .. tabs::
  200. .. code-tab:: gdscript
  201. $TabBar.tab_close_pressed.connect($TabBar.remove_tab)
  202. .. code-tab:: csharp
  203. GetNode<TabBar>("TabBar").TabClosePressed += GetNode<TabBar>("TabBar").RemoveTab;
  204. .. rst-class:: classref-item-separator
  205. ----
  206. .. _class_TabBar_signal_tab_hovered:
  207. .. rst-class:: classref-signal
  208. **tab_hovered** **(** :ref:`int<class_int>` tab **)**
  209. Emitted when a tab is hovered by the mouse.
  210. .. rst-class:: classref-item-separator
  211. ----
  212. .. _class_TabBar_signal_tab_rmb_clicked:
  213. .. rst-class:: classref-signal
  214. **tab_rmb_clicked** **(** :ref:`int<class_int>` tab **)**
  215. Emitted when a tab is right-clicked. :ref:`select_with_rmb<class_TabBar_property_select_with_rmb>` must be enabled.
  216. .. rst-class:: classref-item-separator
  217. ----
  218. .. _class_TabBar_signal_tab_selected:
  219. .. rst-class:: classref-signal
  220. **tab_selected** **(** :ref:`int<class_int>` tab **)**
  221. Emitted when a tab is selected via click, directional input, or script, even if it is the current tab.
  222. .. rst-class:: classref-section-separator
  223. ----
  224. .. rst-class:: classref-descriptions-group
  225. Enumerations
  226. ------------
  227. .. _enum_TabBar_AlignmentMode:
  228. .. rst-class:: classref-enumeration
  229. enum **AlignmentMode**:
  230. .. _class_TabBar_constant_ALIGNMENT_LEFT:
  231. .. rst-class:: classref-enumeration-constant
  232. :ref:`AlignmentMode<enum_TabBar_AlignmentMode>` **ALIGNMENT_LEFT** = ``0``
  233. Places tabs to the left.
  234. .. _class_TabBar_constant_ALIGNMENT_CENTER:
  235. .. rst-class:: classref-enumeration-constant
  236. :ref:`AlignmentMode<enum_TabBar_AlignmentMode>` **ALIGNMENT_CENTER** = ``1``
  237. Places tabs in the middle.
  238. .. _class_TabBar_constant_ALIGNMENT_RIGHT:
  239. .. rst-class:: classref-enumeration-constant
  240. :ref:`AlignmentMode<enum_TabBar_AlignmentMode>` **ALIGNMENT_RIGHT** = ``2``
  241. Places tabs to the right.
  242. .. _class_TabBar_constant_ALIGNMENT_MAX:
  243. .. rst-class:: classref-enumeration-constant
  244. :ref:`AlignmentMode<enum_TabBar_AlignmentMode>` **ALIGNMENT_MAX** = ``3``
  245. Represents the size of the :ref:`AlignmentMode<enum_TabBar_AlignmentMode>` enum.
  246. .. rst-class:: classref-item-separator
  247. ----
  248. .. _enum_TabBar_CloseButtonDisplayPolicy:
  249. .. rst-class:: classref-enumeration
  250. enum **CloseButtonDisplayPolicy**:
  251. .. _class_TabBar_constant_CLOSE_BUTTON_SHOW_NEVER:
  252. .. rst-class:: classref-enumeration-constant
  253. :ref:`CloseButtonDisplayPolicy<enum_TabBar_CloseButtonDisplayPolicy>` **CLOSE_BUTTON_SHOW_NEVER** = ``0``
  254. Never show the close buttons.
  255. .. _class_TabBar_constant_CLOSE_BUTTON_SHOW_ACTIVE_ONLY:
  256. .. rst-class:: classref-enumeration-constant
  257. :ref:`CloseButtonDisplayPolicy<enum_TabBar_CloseButtonDisplayPolicy>` **CLOSE_BUTTON_SHOW_ACTIVE_ONLY** = ``1``
  258. Only show the close button on the currently active tab.
  259. .. _class_TabBar_constant_CLOSE_BUTTON_SHOW_ALWAYS:
  260. .. rst-class:: classref-enumeration-constant
  261. :ref:`CloseButtonDisplayPolicy<enum_TabBar_CloseButtonDisplayPolicy>` **CLOSE_BUTTON_SHOW_ALWAYS** = ``2``
  262. Show the close button on all tabs.
  263. .. _class_TabBar_constant_CLOSE_BUTTON_MAX:
  264. .. rst-class:: classref-enumeration-constant
  265. :ref:`CloseButtonDisplayPolicy<enum_TabBar_CloseButtonDisplayPolicy>` **CLOSE_BUTTON_MAX** = ``3``
  266. Represents the size of the :ref:`CloseButtonDisplayPolicy<enum_TabBar_CloseButtonDisplayPolicy>` enum.
  267. .. rst-class:: classref-section-separator
  268. ----
  269. .. rst-class:: classref-descriptions-group
  270. Property Descriptions
  271. ---------------------
  272. .. _class_TabBar_property_clip_tabs:
  273. .. rst-class:: classref-property
  274. :ref:`bool<class_bool>` **clip_tabs** = ``true``
  275. .. rst-class:: classref-property-setget
  276. - void **set_clip_tabs** **(** :ref:`bool<class_bool>` value **)**
  277. - :ref:`bool<class_bool>` **get_clip_tabs** **(** **)**
  278. 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.
  279. .. rst-class:: classref-item-separator
  280. ----
  281. .. _class_TabBar_property_current_tab:
  282. .. rst-class:: classref-property
  283. :ref:`int<class_int>` **current_tab** = ``0``
  284. .. rst-class:: classref-property-setget
  285. - void **set_current_tab** **(** :ref:`int<class_int>` value **)**
  286. - :ref:`int<class_int>` **get_current_tab** **(** **)**
  287. Select tab at index ``tab_idx``.
  288. .. rst-class:: classref-item-separator
  289. ----
  290. .. _class_TabBar_property_drag_to_rearrange_enabled:
  291. .. rst-class:: classref-property
  292. :ref:`bool<class_bool>` **drag_to_rearrange_enabled** = ``false``
  293. .. rst-class:: classref-property-setget
  294. - void **set_drag_to_rearrange_enabled** **(** :ref:`bool<class_bool>` value **)**
  295. - :ref:`bool<class_bool>` **get_drag_to_rearrange_enabled** **(** **)**
  296. If ``true``, tabs can be rearranged with mouse drag.
  297. .. rst-class:: classref-item-separator
  298. ----
  299. .. _class_TabBar_property_max_tab_width:
  300. .. rst-class:: classref-property
  301. :ref:`int<class_int>` **max_tab_width** = ``0``
  302. .. rst-class:: classref-property-setget
  303. - void **set_max_tab_width** **(** :ref:`int<class_int>` value **)**
  304. - :ref:`int<class_int>` **get_max_tab_width** **(** **)**
  305. Sets the maximum width which all tabs should be limited to. Unlimited if set to ``0``.
  306. .. rst-class:: classref-item-separator
  307. ----
  308. .. _class_TabBar_property_scroll_to_selected:
  309. .. rst-class:: classref-property
  310. :ref:`bool<class_bool>` **scroll_to_selected** = ``true``
  311. .. rst-class:: classref-property-setget
  312. - void **set_scroll_to_selected** **(** :ref:`bool<class_bool>` value **)**
  313. - :ref:`bool<class_bool>` **get_scroll_to_selected** **(** **)**
  314. If ``true``, the tab offset will be changed to keep the currently selected tab visible.
  315. .. rst-class:: classref-item-separator
  316. ----
  317. .. _class_TabBar_property_scrolling_enabled:
  318. .. rst-class:: classref-property
  319. :ref:`bool<class_bool>` **scrolling_enabled** = ``true``
  320. .. rst-class:: classref-property-setget
  321. - void **set_scrolling_enabled** **(** :ref:`bool<class_bool>` value **)**
  322. - :ref:`bool<class_bool>` **get_scrolling_enabled** **(** **)**
  323. if ``true``, the mouse's scroll wheel can be used to navigate the scroll view.
  324. .. rst-class:: classref-item-separator
  325. ----
  326. .. _class_TabBar_property_select_with_rmb:
  327. .. rst-class:: classref-property
  328. :ref:`bool<class_bool>` **select_with_rmb** = ``false``
  329. .. rst-class:: classref-property-setget
  330. - void **set_select_with_rmb** **(** :ref:`bool<class_bool>` value **)**
  331. - :ref:`bool<class_bool>` **get_select_with_rmb** **(** **)**
  332. If ``true``, enables selecting a tab with the right mouse button.
  333. .. rst-class:: classref-item-separator
  334. ----
  335. .. _class_TabBar_property_tab_alignment:
  336. .. rst-class:: classref-property
  337. :ref:`AlignmentMode<enum_TabBar_AlignmentMode>` **tab_alignment** = ``0``
  338. .. rst-class:: classref-property-setget
  339. - void **set_tab_alignment** **(** :ref:`AlignmentMode<enum_TabBar_AlignmentMode>` value **)**
  340. - :ref:`AlignmentMode<enum_TabBar_AlignmentMode>` **get_tab_alignment** **(** **)**
  341. Sets the position at which tabs will be placed. See :ref:`AlignmentMode<enum_TabBar_AlignmentMode>` for details.
  342. .. rst-class:: classref-item-separator
  343. ----
  344. .. _class_TabBar_property_tab_close_display_policy:
  345. .. rst-class:: classref-property
  346. :ref:`CloseButtonDisplayPolicy<enum_TabBar_CloseButtonDisplayPolicy>` **tab_close_display_policy** = ``0``
  347. .. rst-class:: classref-property-setget
  348. - void **set_tab_close_display_policy** **(** :ref:`CloseButtonDisplayPolicy<enum_TabBar_CloseButtonDisplayPolicy>` value **)**
  349. - :ref:`CloseButtonDisplayPolicy<enum_TabBar_CloseButtonDisplayPolicy>` **get_tab_close_display_policy** **(** **)**
  350. Sets when the close button will appear on the tabs. See :ref:`CloseButtonDisplayPolicy<enum_TabBar_CloseButtonDisplayPolicy>` for details.
  351. .. rst-class:: classref-item-separator
  352. ----
  353. .. _class_TabBar_property_tab_count:
  354. .. rst-class:: classref-property
  355. :ref:`int<class_int>` **tab_count** = ``0``
  356. .. rst-class:: classref-property-setget
  357. - void **set_tab_count** **(** :ref:`int<class_int>` value **)**
  358. - :ref:`int<class_int>` **get_tab_count** **(** **)**
  359. The number of tabs currently in the bar.
  360. .. rst-class:: classref-item-separator
  361. ----
  362. .. _class_TabBar_property_tabs_rearrange_group:
  363. .. rst-class:: classref-property
  364. :ref:`int<class_int>` **tabs_rearrange_group** = ``-1``
  365. .. rst-class:: classref-property-setget
  366. - void **set_tabs_rearrange_group** **(** :ref:`int<class_int>` value **)**
  367. - :ref:`int<class_int>` **get_tabs_rearrange_group** **(** **)**
  368. **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>`.
  369. Setting this to ``-1`` will disable rearranging between **TabBar**\ s.
  370. .. rst-class:: classref-section-separator
  371. ----
  372. .. rst-class:: classref-descriptions-group
  373. Method Descriptions
  374. -------------------
  375. .. _class_TabBar_method_add_tab:
  376. .. rst-class:: classref-method
  377. void **add_tab** **(** :ref:`String<class_String>` title="", :ref:`Texture2D<class_Texture2D>` icon=null **)**
  378. Adds a new tab.
  379. .. rst-class:: classref-item-separator
  380. ----
  381. .. _class_TabBar_method_clear_tabs:
  382. .. rst-class:: classref-method
  383. void **clear_tabs** **(** **)**
  384. Clears all tabs.
  385. .. rst-class:: classref-item-separator
  386. ----
  387. .. _class_TabBar_method_ensure_tab_visible:
  388. .. rst-class:: classref-method
  389. void **ensure_tab_visible** **(** :ref:`int<class_int>` idx **)**
  390. Moves the scroll view to make the tab visible.
  391. .. rst-class:: classref-item-separator
  392. ----
  393. .. _class_TabBar_method_get_offset_buttons_visible:
  394. .. rst-class:: classref-method
  395. :ref:`bool<class_bool>` **get_offset_buttons_visible** **(** **)** |const|
  396. Returns ``true`` if the offset buttons (the ones that appear when there's not enough space for all tabs) are visible.
  397. .. rst-class:: classref-item-separator
  398. ----
  399. .. _class_TabBar_method_get_previous_tab:
  400. .. rst-class:: classref-method
  401. :ref:`int<class_int>` **get_previous_tab** **(** **)** |const|
  402. Returns the previously active tab index.
  403. .. rst-class:: classref-item-separator
  404. ----
  405. .. _class_TabBar_method_get_tab_button_icon:
  406. .. rst-class:: classref-method
  407. :ref:`Texture2D<class_Texture2D>` **get_tab_button_icon** **(** :ref:`int<class_int>` tab_idx **)** |const|
  408. Returns the icon for the right button of the tab at index ``tab_idx`` or ``null`` if the right button has no icon.
  409. .. rst-class:: classref-item-separator
  410. ----
  411. .. _class_TabBar_method_get_tab_icon:
  412. .. rst-class:: classref-method
  413. :ref:`Texture2D<class_Texture2D>` **get_tab_icon** **(** :ref:`int<class_int>` tab_idx **)** |const|
  414. Returns the icon for the tab at index ``tab_idx`` or ``null`` if the tab has no icon.
  415. .. rst-class:: classref-item-separator
  416. ----
  417. .. _class_TabBar_method_get_tab_icon_max_width:
  418. .. rst-class:: classref-method
  419. :ref:`int<class_int>` **get_tab_icon_max_width** **(** :ref:`int<class_int>` tab_idx **)** |const|
  420. Returns the maximum allowed width of the icon for the tab at index ``tab_idx``.
  421. .. rst-class:: classref-item-separator
  422. ----
  423. .. _class_TabBar_method_get_tab_idx_at_point:
  424. .. rst-class:: classref-method
  425. :ref:`int<class_int>` **get_tab_idx_at_point** **(** :ref:`Vector2<class_Vector2>` point **)** |const|
  426. 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.
  427. .. rst-class:: classref-item-separator
  428. ----
  429. .. _class_TabBar_method_get_tab_language:
  430. .. rst-class:: classref-method
  431. :ref:`String<class_String>` **get_tab_language** **(** :ref:`int<class_int>` tab_idx **)** |const|
  432. Returns tab title language code.
  433. .. rst-class:: classref-item-separator
  434. ----
  435. .. _class_TabBar_method_get_tab_metadata:
  436. .. rst-class:: classref-method
  437. :ref:`Variant<class_Variant>` **get_tab_metadata** **(** :ref:`int<class_int>` tab_idx **)** |const|
  438. Returns the metadata value set to the tab at index ``tab_idx`` using :ref:`set_tab_metadata<class_TabBar_method_set_tab_metadata>`. If no metadata was previously set, returns ``null`` by default.
  439. .. rst-class:: classref-item-separator
  440. ----
  441. .. _class_TabBar_method_get_tab_offset:
  442. .. rst-class:: classref-method
  443. :ref:`int<class_int>` **get_tab_offset** **(** **)** |const|
  444. Returns the number of hidden tabs offsetted to the left.
  445. .. rst-class:: classref-item-separator
  446. ----
  447. .. _class_TabBar_method_get_tab_rect:
  448. .. rst-class:: classref-method
  449. :ref:`Rect2<class_Rect2>` **get_tab_rect** **(** :ref:`int<class_int>` tab_idx **)** |const|
  450. Returns tab :ref:`Rect2<class_Rect2>` with local position and size.
  451. .. rst-class:: classref-item-separator
  452. ----
  453. .. _class_TabBar_method_get_tab_text_direction:
  454. .. rst-class:: classref-method
  455. :ref:`TextDirection<enum_Control_TextDirection>` **get_tab_text_direction** **(** :ref:`int<class_int>` tab_idx **)** |const|
  456. Returns tab title text base writing direction.
  457. .. rst-class:: classref-item-separator
  458. ----
  459. .. _class_TabBar_method_get_tab_title:
  460. .. rst-class:: classref-method
  461. :ref:`String<class_String>` **get_tab_title** **(** :ref:`int<class_int>` tab_idx **)** |const|
  462. Returns the title of the tab at index ``tab_idx``.
  463. .. rst-class:: classref-item-separator
  464. ----
  465. .. _class_TabBar_method_is_tab_disabled:
  466. .. rst-class:: classref-method
  467. :ref:`bool<class_bool>` **is_tab_disabled** **(** :ref:`int<class_int>` tab_idx **)** |const|
  468. Returns ``true`` if the tab at index ``tab_idx`` is disabled.
  469. .. rst-class:: classref-item-separator
  470. ----
  471. .. _class_TabBar_method_is_tab_hidden:
  472. .. rst-class:: classref-method
  473. :ref:`bool<class_bool>` **is_tab_hidden** **(** :ref:`int<class_int>` tab_idx **)** |const|
  474. Returns ``true`` if the tab at index ``tab_idx`` is hidden.
  475. .. rst-class:: classref-item-separator
  476. ----
  477. .. _class_TabBar_method_move_tab:
  478. .. rst-class:: classref-method
  479. void **move_tab** **(** :ref:`int<class_int>` from, :ref:`int<class_int>` to **)**
  480. Moves a tab from ``from`` to ``to``.
  481. .. rst-class:: classref-item-separator
  482. ----
  483. .. _class_TabBar_method_remove_tab:
  484. .. rst-class:: classref-method
  485. void **remove_tab** **(** :ref:`int<class_int>` tab_idx **)**
  486. Removes the tab at index ``tab_idx``.
  487. .. rst-class:: classref-item-separator
  488. ----
  489. .. _class_TabBar_method_select_next_available:
  490. .. rst-class:: classref-method
  491. :ref:`bool<class_bool>` **select_next_available** **(** **)**
  492. Selects the first available tab with greater index than the currently selected. Returns ``true`` if tab selection changed.
  493. .. rst-class:: classref-item-separator
  494. ----
  495. .. _class_TabBar_method_select_previous_available:
  496. .. rst-class:: classref-method
  497. :ref:`bool<class_bool>` **select_previous_available** **(** **)**
  498. Selects the first available tab with lower index than the currently selected. Returns ``true`` if tab selection changed.
  499. .. rst-class:: classref-item-separator
  500. ----
  501. .. _class_TabBar_method_set_tab_button_icon:
  502. .. rst-class:: classref-method
  503. void **set_tab_button_icon** **(** :ref:`int<class_int>` tab_idx, :ref:`Texture2D<class_Texture2D>` icon **)**
  504. 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.
  505. .. rst-class:: classref-item-separator
  506. ----
  507. .. _class_TabBar_method_set_tab_disabled:
  508. .. rst-class:: classref-method
  509. void **set_tab_disabled** **(** :ref:`int<class_int>` tab_idx, :ref:`bool<class_bool>` disabled **)**
  510. If ``disabled`` is ``true``, disables the tab at index ``tab_idx``, making it non-interactable.
  511. .. rst-class:: classref-item-separator
  512. ----
  513. .. _class_TabBar_method_set_tab_hidden:
  514. .. rst-class:: classref-method
  515. void **set_tab_hidden** **(** :ref:`int<class_int>` tab_idx, :ref:`bool<class_bool>` hidden **)**
  516. If ``hidden`` is ``true``, hides the tab at index ``tab_idx``, making it disappear from the tab area.
  517. .. rst-class:: classref-item-separator
  518. ----
  519. .. _class_TabBar_method_set_tab_icon:
  520. .. rst-class:: classref-method
  521. void **set_tab_icon** **(** :ref:`int<class_int>` tab_idx, :ref:`Texture2D<class_Texture2D>` icon **)**
  522. Sets an ``icon`` for the tab at index ``tab_idx``.
  523. .. rst-class:: classref-item-separator
  524. ----
  525. .. _class_TabBar_method_set_tab_icon_max_width:
  526. .. rst-class:: classref-method
  527. void **set_tab_icon_max_width** **(** :ref:`int<class_int>` tab_idx, :ref:`int<class_int>` width **)**
  528. Sets the maximum allowed width of the icon for the tab at index ``tab_idx``. This limit is applied on top of the default size of the icon and on top of :ref:`icon_max_width<class_TabBar_theme_constant_icon_max_width>`. The height is adjusted according to the icon's ratio.
  529. .. rst-class:: classref-item-separator
  530. ----
  531. .. _class_TabBar_method_set_tab_language:
  532. .. rst-class:: classref-method
  533. void **set_tab_language** **(** :ref:`int<class_int>` tab_idx, :ref:`String<class_String>` language **)**
  534. Sets language code of tab title used for line-breaking and text shaping algorithms, if left empty current locale is used instead.
  535. .. rst-class:: classref-item-separator
  536. ----
  537. .. _class_TabBar_method_set_tab_metadata:
  538. .. rst-class:: classref-method
  539. void **set_tab_metadata** **(** :ref:`int<class_int>` tab_idx, :ref:`Variant<class_Variant>` metadata **)**
  540. Sets the metadata value for the tab at index ``tab_idx``, which can be retrieved later using :ref:`get_tab_metadata<class_TabBar_method_get_tab_metadata>`.
  541. .. rst-class:: classref-item-separator
  542. ----
  543. .. _class_TabBar_method_set_tab_text_direction:
  544. .. rst-class:: classref-method
  545. void **set_tab_text_direction** **(** :ref:`int<class_int>` tab_idx, :ref:`TextDirection<enum_Control_TextDirection>` direction **)**
  546. Sets tab title base writing direction.
  547. .. rst-class:: classref-item-separator
  548. ----
  549. .. _class_TabBar_method_set_tab_title:
  550. .. rst-class:: classref-method
  551. void **set_tab_title** **(** :ref:`int<class_int>` tab_idx, :ref:`String<class_String>` title **)**
  552. Sets a ``title`` for the tab at index ``tab_idx``.
  553. .. rst-class:: classref-section-separator
  554. ----
  555. .. rst-class:: classref-descriptions-group
  556. Theme Property Descriptions
  557. ---------------------------
  558. .. _class_TabBar_theme_color_drop_mark_color:
  559. .. rst-class:: classref-themeproperty
  560. :ref:`Color<class_Color>` **drop_mark_color** = ``Color(1, 1, 1, 1)``
  561. Modulation color for the :ref:`drop_mark<class_TabBar_theme_icon_drop_mark>` icon.
  562. .. rst-class:: classref-item-separator
  563. ----
  564. .. _class_TabBar_theme_color_font_disabled_color:
  565. .. rst-class:: classref-themeproperty
  566. :ref:`Color<class_Color>` **font_disabled_color** = ``Color(0.875, 0.875, 0.875, 0.5)``
  567. Font color of disabled tabs.
  568. .. rst-class:: classref-item-separator
  569. ----
  570. .. _class_TabBar_theme_color_font_hovered_color:
  571. .. rst-class:: classref-themeproperty
  572. :ref:`Color<class_Color>` **font_hovered_color** = ``Color(0.95, 0.95, 0.95, 1)``
  573. Font color of the currently hovered tab. Does not apply to the selected tab.
  574. .. rst-class:: classref-item-separator
  575. ----
  576. .. _class_TabBar_theme_color_font_outline_color:
  577. .. rst-class:: classref-themeproperty
  578. :ref:`Color<class_Color>` **font_outline_color** = ``Color(1, 1, 1, 1)``
  579. The tint of text outline of the tab name.
  580. .. rst-class:: classref-item-separator
  581. ----
  582. .. _class_TabBar_theme_color_font_selected_color:
  583. .. rst-class:: classref-themeproperty
  584. :ref:`Color<class_Color>` **font_selected_color** = ``Color(0.95, 0.95, 0.95, 1)``
  585. Font color of the currently selected tab.
  586. .. rst-class:: classref-item-separator
  587. ----
  588. .. _class_TabBar_theme_color_font_unselected_color:
  589. .. rst-class:: classref-themeproperty
  590. :ref:`Color<class_Color>` **font_unselected_color** = ``Color(0.7, 0.7, 0.7, 1)``
  591. Font color of the other, unselected tabs.
  592. .. rst-class:: classref-item-separator
  593. ----
  594. .. _class_TabBar_theme_constant_h_separation:
  595. .. rst-class:: classref-themeproperty
  596. :ref:`int<class_int>` **h_separation** = ``4``
  597. The horizontal separation between the elements inside tabs.
  598. .. rst-class:: classref-item-separator
  599. ----
  600. .. _class_TabBar_theme_constant_icon_max_width:
  601. .. rst-class:: classref-themeproperty
  602. :ref:`int<class_int>` **icon_max_width** = ``0``
  603. The maximum allowed width of the tab's icon. This limit is applied on top of the default size of the icon, but before the value set with :ref:`set_tab_icon_max_width<class_TabBar_method_set_tab_icon_max_width>`. The height is adjusted according to the icon's ratio.
  604. .. rst-class:: classref-item-separator
  605. ----
  606. .. _class_TabBar_theme_constant_outline_size:
  607. .. rst-class:: classref-themeproperty
  608. :ref:`int<class_int>` **outline_size** = ``0``
  609. The size of the tab text outline.
  610. \ **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.
  611. .. rst-class:: classref-item-separator
  612. ----
  613. .. _class_TabBar_theme_font_font:
  614. .. rst-class:: classref-themeproperty
  615. :ref:`Font<class_Font>` **font**
  616. The font used to draw tab names.
  617. .. rst-class:: classref-item-separator
  618. ----
  619. .. _class_TabBar_theme_font_size_font_size:
  620. .. rst-class:: classref-themeproperty
  621. :ref:`int<class_int>` **font_size**
  622. Font size of the tab names.
  623. .. rst-class:: classref-item-separator
  624. ----
  625. .. _class_TabBar_theme_icon_close:
  626. .. rst-class:: classref-themeproperty
  627. :ref:`Texture2D<class_Texture2D>` **close**
  628. The icon for the close button (see :ref:`tab_close_display_policy<class_TabBar_property_tab_close_display_policy>`).
  629. .. rst-class:: classref-item-separator
  630. ----
  631. .. _class_TabBar_theme_icon_decrement:
  632. .. rst-class:: classref-themeproperty
  633. :ref:`Texture2D<class_Texture2D>` **decrement**
  634. 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.
  635. .. rst-class:: classref-item-separator
  636. ----
  637. .. _class_TabBar_theme_icon_decrement_highlight:
  638. .. rst-class:: classref-themeproperty
  639. :ref:`Texture2D<class_Texture2D>` **decrement_highlight**
  640. 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.
  641. .. rst-class:: classref-item-separator
  642. ----
  643. .. _class_TabBar_theme_icon_drop_mark:
  644. .. rst-class:: classref-themeproperty
  645. :ref:`Texture2D<class_Texture2D>` **drop_mark**
  646. 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>`).
  647. .. rst-class:: classref-item-separator
  648. ----
  649. .. _class_TabBar_theme_icon_increment:
  650. .. rst-class:: classref-themeproperty
  651. :ref:`Texture2D<class_Texture2D>` **increment**
  652. 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.
  653. .. rst-class:: classref-item-separator
  654. ----
  655. .. _class_TabBar_theme_icon_increment_highlight:
  656. .. rst-class:: classref-themeproperty
  657. :ref:`Texture2D<class_Texture2D>` **increment_highlight**
  658. 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.
  659. .. rst-class:: classref-item-separator
  660. ----
  661. .. _class_TabBar_theme_style_button_highlight:
  662. .. rst-class:: classref-themeproperty
  663. :ref:`StyleBox<class_StyleBox>` **button_highlight**
  664. Background of the tab and close buttons when they're being hovered with the cursor.
  665. .. rst-class:: classref-item-separator
  666. ----
  667. .. _class_TabBar_theme_style_button_pressed:
  668. .. rst-class:: classref-themeproperty
  669. :ref:`StyleBox<class_StyleBox>` **button_pressed**
  670. Background of the tab and close buttons when it's being pressed.
  671. .. rst-class:: classref-item-separator
  672. ----
  673. .. _class_TabBar_theme_style_tab_disabled:
  674. .. rst-class:: classref-themeproperty
  675. :ref:`StyleBox<class_StyleBox>` **tab_disabled**
  676. The style of disabled tabs.
  677. .. rst-class:: classref-item-separator
  678. ----
  679. .. _class_TabBar_theme_style_tab_focus:
  680. .. rst-class:: classref-themeproperty
  681. :ref:`StyleBox<class_StyleBox>` **tab_focus**
  682. :ref:`StyleBox<class_StyleBox>` used when the **TabBar** is focused. The :ref:`tab_focus<class_TabBar_theme_style_tab_focus>` :ref:`StyleBox<class_StyleBox>` is displayed *over* the base :ref:`StyleBox<class_StyleBox>` of the selected tab, so a partially transparent :ref:`StyleBox<class_StyleBox>` should be used to ensure the base :ref:`StyleBox<class_StyleBox>` remains visible. A :ref:`StyleBox<class_StyleBox>` that represents an outline or an underline works well for this purpose. To disable the focus visual effect, assign a :ref:`StyleBoxEmpty<class_StyleBoxEmpty>` resource. Note that disabling the focus visual effect will harm keyboard/controller navigation usability, so this is not recommended for accessibility reasons.
  683. .. rst-class:: classref-item-separator
  684. ----
  685. .. _class_TabBar_theme_style_tab_hovered:
  686. .. rst-class:: classref-themeproperty
  687. :ref:`StyleBox<class_StyleBox>` **tab_hovered**
  688. The style of the currently hovered tab. Does not apply to the selected tab.
  689. \ **Note:** This style will be drawn with the same width as :ref:`tab_unselected<class_TabBar_theme_style_tab_unselected>` at minimum.
  690. .. rst-class:: classref-item-separator
  691. ----
  692. .. _class_TabBar_theme_style_tab_selected:
  693. .. rst-class:: classref-themeproperty
  694. :ref:`StyleBox<class_StyleBox>` **tab_selected**
  695. The style of the currently selected tab.
  696. .. rst-class:: classref-item-separator
  697. ----
  698. .. _class_TabBar_theme_style_tab_unselected:
  699. .. rst-class:: classref-themeproperty
  700. :ref:`StyleBox<class_StyleBox>` **tab_unselected**
  701. The style of the other, unselected tabs.
  702. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  703. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  704. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  705. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  706. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  707. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  708. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`