virtualx-engine/doc/classes/TabBar.xml
2022-03-05 21:03:01 +01:00

378 lines
16 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<class name="TabBar" inherits="Control" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
Tab bar control.
</brief_description>
<description>
Simple tabs control, similar to [TabContainer] but is only in charge of drawing tabs, not interacting with children.
</description>
<tutorials>
</tutorials>
<methods>
<method name="add_tab">
<return type="void" />
<argument index="0" name="title" type="String" default="&quot;&quot;" />
<argument index="1" name="icon" type="Texture2D" default="null" />
<description>
Adds a new tab.
</description>
</method>
<method name="clear_tab_opentype_features">
<return type="void" />
<argument index="0" name="tab_idx" type="int" />
<description>
Removes all OpenType features from the tab title.
</description>
</method>
<method name="ensure_tab_visible">
<return type="void" />
<argument index="0" name="idx" type="int" />
<description>
Moves the scroll view to make the tab visible.
</description>
</method>
<method name="get_offset_buttons_visible" qualifiers="const">
<return type="bool" />
<description>
Returns [code]true[/code] if the offset buttons (the ones that appear when there's not enough space for all tabs) are visible.
</description>
</method>
<method name="get_previous_tab" qualifiers="const">
<return type="int" />
<description>
Returns the previously active tab index.
</description>
</method>
<method name="get_tab_button_icon" qualifiers="const">
<return type="Texture2D" />
<argument index="0" name="tab_idx" type="int" />
<description>
Returns the [Texture2D] for the right button of the tab at index [code]tab_idx[/code] or [code]null[/code] if the button has no [Texture2D].
</description>
</method>
<method name="get_tab_icon" qualifiers="const">
<return type="Texture2D" />
<argument index="0" name="tab_idx" type="int" />
<description>
Returns the [Texture2D] for the tab at index [code]tab_idx[/code] or [code]null[/code] if the tab has no [Texture2D].
</description>
</method>
<method name="get_tab_idx_at_point" qualifiers="const">
<return type="int" />
<argument index="0" name="point" type="Vector2" />
<description>
Returns the index of the tab at local coordinates [code]point[/code]. Returns [code]-1[/code] if the point is outside the control boundaries or if there's no tab at the queried position.
</description>
</method>
<method name="get_tab_language" qualifiers="const">
<return type="String" />
<argument index="0" name="tab_idx" type="int" />
<description>
Returns tab title language code.
</description>
</method>
<method name="get_tab_offset" qualifiers="const">
<return type="int" />
<description>
Returns the number of hidden tabs offsetted to the left.
</description>
</method>
<method name="get_tab_opentype_feature" qualifiers="const">
<return type="int" />
<argument index="0" name="tab_idx" type="int" />
<argument index="1" name="tag" type="String" />
<description>
Returns OpenType feature [code]tag[/code] of the tab title.
</description>
</method>
<method name="get_tab_rect" qualifiers="const">
<return type="Rect2" />
<argument index="0" name="tab_idx" type="int" />
<description>
Returns tab [Rect2] with local position and size.
</description>
</method>
<method name="get_tab_text_direction" qualifiers="const">
<return type="int" enum="Control.TextDirection" />
<argument index="0" name="tab_idx" type="int" />
<description>
Returns tab title text base writing direction.
</description>
</method>
<method name="get_tab_title" qualifiers="const">
<return type="String" />
<argument index="0" name="tab_idx" type="int" />
<description>
Returns the title of the tab at index [code]tab_idx[/code].
</description>
</method>
<method name="is_tab_disabled" qualifiers="const">
<return type="bool" />
<argument index="0" name="tab_idx" type="int" />
<description>
Returns [code]true[/code] if the tab at index [code]tab_idx[/code] is disabled.
</description>
</method>
<method name="is_tab_hidden" qualifiers="const">
<return type="bool" />
<argument index="0" name="tab_idx" type="int" />
<description>
Returns [code]true[/code] if the tab at index [code]tab_idx[/code] is hidden.
</description>
</method>
<method name="move_tab">
<return type="void" />
<argument index="0" name="from" type="int" />
<argument index="1" name="to" type="int" />
<description>
Moves a tab from [code]from[/code] to [code]to[/code].
</description>
</method>
<method name="remove_tab">
<return type="void" />
<argument index="0" name="tab_idx" type="int" />
<description>
Removes the tab at index [code]tab_idx[/code].
</description>
</method>
<method name="set_tab_button_icon">
<return type="void" />
<argument index="0" name="tab_idx" type="int" />
<argument index="1" name="icon" type="Texture2D" />
<description>
Sets an [code]icon[/code] for the button of the tab at index [code]tab_idx[/code] (located to the right, before the close button), making it visible and clickable (See [signal tab_button_pressed]). Giving it a [code]null[/code] value will hide the button.
</description>
</method>
<method name="set_tab_disabled">
<return type="void" />
<argument index="0" name="tab_idx" type="int" />
<argument index="1" name="disabled" type="bool" />
<description>
If [code]disabled[/code] is [code]true[/code], disables the tab at index [code]tab_idx[/code], making it non-interactable.
</description>
</method>
<method name="set_tab_hidden">
<return type="void" />
<argument index="0" name="tab_idx" type="int" />
<argument index="1" name="hidden" type="bool" />
<description>
If [code]hidden[/code] is [code]true[/code], hides the tab at index [code]tab_idx[/code], making it disappear from the tab area.
</description>
</method>
<method name="set_tab_icon">
<return type="void" />
<argument index="0" name="tab_idx" type="int" />
<argument index="1" name="icon" type="Texture2D" />
<description>
Sets an [code]icon[/code] for the tab at index [code]tab_idx[/code].
</description>
</method>
<method name="set_tab_language">
<return type="void" />
<argument index="0" name="tab_idx" type="int" />
<argument index="1" name="language" type="String" />
<description>
Sets language code of tab title used for line-breaking and text shaping algorithms, if left empty current locale is used instead.
</description>
</method>
<method name="set_tab_opentype_feature">
<return type="void" />
<argument index="0" name="tab_idx" type="int" />
<argument index="1" name="tag" type="String" />
<argument index="2" name="values" type="int" />
<description>
Sets OpenType feature [code]tag[/code] for the tab title. More info: [url=https://docs.microsoft.com/en-us/typography/opentype/spec/featuretags]OpenType feature tags[/url].
</description>
</method>
<method name="set_tab_text_direction">
<return type="void" />
<argument index="0" name="tab_idx" type="int" />
<argument index="1" name="direction" type="int" enum="Control.TextDirection" />
<description>
Sets tab title base writing direction.
</description>
</method>
<method name="set_tab_title">
<return type="void" />
<argument index="0" name="tab_idx" type="int" />
<argument index="1" name="title" type="String" />
<description>
Sets a [code]title[/code] for the tab at index [code]tab_idx[/code].
</description>
</method>
</methods>
<members>
<member name="clip_tabs" type="bool" setter="set_clip_tabs" getter="get_clip_tabs" default="true">
If [code]true[/code], 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.
</member>
<member name="current_tab" type="int" setter="set_current_tab" getter="get_current_tab" default="0">
Select tab at index [code]tab_idx[/code].
</member>
<member name="drag_to_rearrange_enabled" type="bool" setter="set_drag_to_rearrange_enabled" getter="get_drag_to_rearrange_enabled" default="false">
If [code]true[/code], tabs can be rearranged with mouse drag.
</member>
<member name="scroll_to_selected" type="bool" setter="set_scroll_to_selected" getter="get_scroll_to_selected" default="true">
If [code]true[/code], the tab offset will be changed to keep the the currently selected tab visible.
</member>
<member name="scrolling_enabled" type="bool" setter="set_scrolling_enabled" getter="get_scrolling_enabled" default="true">
if [code]true[/code], the mouse's scroll wheel can be used to navigate the scroll view.
</member>
<member name="select_with_rmb" type="bool" setter="set_select_with_rmb" getter="get_select_with_rmb" default="false">
If [code]true[/code], enables selecting a tab with the right mouse button.
</member>
<member name="tab_alignment" type="int" setter="set_tab_alignment" getter="get_tab_alignment" enum="TabBar.AlignmentMode" default="1">
Sets the position at which tabs will be placed. See [enum AlignmentMode] for details.
</member>
<member name="tab_close_display_policy" type="int" setter="set_tab_close_display_policy" getter="get_tab_close_display_policy" enum="TabBar.CloseButtonDisplayPolicy" default="0">
Sets when the close button will appear on the tabs. See [enum CloseButtonDisplayPolicy] for details.
</member>
<member name="tab_count" type="int" setter="set_tab_count" getter="get_tab_count" default="0">
The number of tabs currently in the bar.
</member>
<member name="tabs_rearrange_group" type="int" setter="set_tabs_rearrange_group" getter="get_tabs_rearrange_group" default="-1">
[TabBar]s with the same rearrange group ID will allow dragging the tabs between them. Enable drag with [member drag_to_rearrange_enabled].
Setting this to [code]-1[/code] will disable rearranging between [TabBar]s.
</member>
</members>
<signals>
<signal name="active_tab_rearranged">
<argument index="0" name="idx_to" type="int" />
<description>
Emitted when the active tab is rearranged via mouse drag. See [member drag_to_rearrange_enabled].
</description>
</signal>
<signal name="tab_button_pressed">
<argument index="0" name="tab" type="int" />
<description>
Emitted when a tab's right button is pressed. See [method set_tab_button_icon].
</description>
</signal>
<signal name="tab_changed">
<argument index="0" name="tab" type="int" />
<description>
Emitted when switching to another tab.
</description>
</signal>
<signal name="tab_clicked">
<argument index="0" name="tab" type="int" />
<description>
Emitted when a tab is clicked, even if it is the current tab.
</description>
</signal>
<signal name="tab_close_pressed">
<argument index="0" name="tab" type="int" />
<description>
Emitted when a tab's close button is pressed.
[b]Note:[/b] Tabs are not removed automatically once the close button is pressed, this behavior needs to be programmed manually. For example:
[codeblocks]
[gdscript]
$TabBar.tab_close_pressed.connect($TabBar.remove_tab)
[/gdscript]
[csharp]
GetNode&lt;TabBar&gt;("TabBar").TabClosePressed += GetNode&lt;TabBar&gt;("TabBar").RemoveTab;
[/csharp]
[/codeblocks]
</description>
</signal>
<signal name="tab_hovered">
<argument index="0" name="tab" type="int" />
<description>
Emitted when a tab is hovered by the mouse.
</description>
</signal>
<signal name="tab_rmb_clicked">
<argument index="0" name="tab" type="int" />
<description>
Emitted when a tab is right-clicked. [member select_with_rmb] must be enabled.
</description>
</signal>
<signal name="tab_selected">
<argument index="0" name="tab" type="int" />
<description>
Emitted when a tab is selected via click or script, even if it is the current tab.
</description>
</signal>
</signals>
<constants>
<constant name="ALIGNMENT_LEFT" value="0" enum="AlignmentMode">
Places tabs to the left.
</constant>
<constant name="ALIGNMENT_CENTER" value="1" enum="AlignmentMode">
Places tabs in the middle.
</constant>
<constant name="ALIGNMENT_RIGHT" value="2" enum="AlignmentMode">
Places tabs to the right.
</constant>
<constant name="ALIGNMENT_MAX" value="3" enum="AlignmentMode">
Represents the size of the [enum AlignmentMode] enum.
</constant>
<constant name="CLOSE_BUTTON_SHOW_NEVER" value="0" enum="CloseButtonDisplayPolicy">
Never show the close buttons.
</constant>
<constant name="CLOSE_BUTTON_SHOW_ACTIVE_ONLY" value="1" enum="CloseButtonDisplayPolicy">
Only show the close button on the currently active tab.
</constant>
<constant name="CLOSE_BUTTON_SHOW_ALWAYS" value="2" enum="CloseButtonDisplayPolicy">
Show the close button on all tabs.
</constant>
<constant name="CLOSE_BUTTON_MAX" value="3" enum="CloseButtonDisplayPolicy">
Represents the size of the [enum CloseButtonDisplayPolicy] enum.
</constant>
</constants>
<theme_items>
<theme_item name="font_disabled_color" data_type="color" type="Color" default="Color(0.875, 0.875, 0.875, 0.5)">
Font color of disabled tabs.
</theme_item>
<theme_item name="font_outline_color" data_type="color" type="Color" default="Color(1, 1, 1, 1)">
The tint of text outline of the tab name.
</theme_item>
<theme_item name="font_selected_color" data_type="color" type="Color" default="Color(0.95, 0.95, 0.95, 1)">
Font color of the currently selected tab.
</theme_item>
<theme_item name="font_unselected_color" data_type="color" type="Color" default="Color(0.7, 0.7, 0.7, 1)">
Font color of the other, unselected tabs.
</theme_item>
<theme_item name="hseparation" data_type="constant" type="int" default="4">
The horizontal separation between the elements inside tabs.
</theme_item>
<theme_item name="outline_size" data_type="constant" type="int" default="0">
The size of the tab text outline.
</theme_item>
<theme_item name="font" data_type="font" type="Font">
The font used to draw tab names.
</theme_item>
<theme_item name="font_size" data_type="font_size" type="int">
Font size of the tab names.
</theme_item>
<theme_item name="close" data_type="icon" type="Texture2D">
The icon for the close button (see [member tab_close_display_policy]).
</theme_item>
<theme_item name="decrement" data_type="icon" type="Texture2D">
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.
</theme_item>
<theme_item name="decrement_highlight" data_type="icon" type="Texture2D">
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.
</theme_item>
<theme_item name="increment" data_type="icon" type="Texture2D">
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.
</theme_item>
<theme_item name="increment_highlight" data_type="icon" type="Texture2D">
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.
</theme_item>
<theme_item name="button_highlight" data_type="style" type="StyleBox">
Background of the tab and close buttons when they're being hovered with the cursor.
</theme_item>
<theme_item name="button_pressed" data_type="style" type="StyleBox">
Background of the tab and close buttons when it's being pressed.
</theme_item>
<theme_item name="tab_disabled" data_type="style" type="StyleBox">
The style of disabled tabs.
</theme_item>
<theme_item name="tab_selected" data_type="style" type="StyleBox">
The style of the currently selected tab.
</theme_item>
<theme_item name="tab_unselected" data_type="style" type="StyleBox">
The style of the other, unselected tabs.
</theme_item>
</theme_items>
</class>