mirror of
https://github.com/godotengine/godot.git
synced 2024-12-21 10:25:24 +08:00
84a69d7429
The new default project theme uses StyleBoxFlat extensively for a more modern design and better scalability to multiple resolutions. SVG icons are now used in place of PNG icons. While this does not allow for true vector-based icon drawing (icons are still rasterized at load-time), this makes the design work easier for contributors and opens the door to vector drawing in the future (e.g. with polygons or SDFs). Like for editor icons, the SVG header file is now built automatically when a SVG file is changed. This removing the need for running `make_header.py` manually (TODO). The "Use Hidpi" project setting has been removed in favor of a "Default Theme Scale" project setting, which allows creating the default theme at a higher/lower scale than the default. This can be used when designing GUIs with a high base resolution to ensure crisp visuals. Co-authored-by: Yuri Sizov <yuris@humnom.net>
341 lines
14 KiB
XML
341 lines
14 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="TabBar" inherits="Control" version="4.0">
|
|
<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="""" />
|
|
<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_select_with_rmb" qualifiers="const">
|
|
<return type="bool" />
|
|
<description>
|
|
Returns [code]true[/code] if select with right mouse button is enabled.
|
|
</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_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="get_tabs_rearrange_group" qualifiers="const">
|
|
<return type="int" />
|
|
<description>
|
|
Returns the [TabBar]'s rearrange group ID.
|
|
</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="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_select_with_rmb">
|
|
<return type="void" />
|
|
<argument index="0" name="enabled" type="bool" />
|
|
<description>
|
|
If [code]true[/code], enables selecting a tab with the right mouse 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_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>
|
|
<method name="set_tabs_rearrange_group">
|
|
<return type="void" />
|
|
<argument index="0" name="group_id" type="int" />
|
|
<description>
|
|
Defines the rearrange group ID. Choose for each [TabBar] the same value to dragging tabs between [TabBar]. Enable drag with [member drag_to_rearrange_enabled].
|
|
</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="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="tab_alignment" type="int" setter="set_tab_alignment" getter="get_tab_alignment" enum="TabBar.AlignmentMode" default="1">
|
|
</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>
|
|
</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_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<TabBar>("TabBar").TabClosePressed += GetNode<TabBar>("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.
|
|
</description>
|
|
</signal>
|
|
</signals>
|
|
<constants>
|
|
<constant name="ALIGNMENT_LEFT" value="0" enum="AlignmentMode">
|
|
</constant>
|
|
<constant name="ALIGNMENT_CENTER" value="1" enum="AlignmentMode">
|
|
</constant>
|
|
<constant name="ALIGNMENT_RIGHT" value="2" enum="AlignmentMode">
|
|
</constant>
|
|
<constant name="ALIGNMENT_MAX" value="3" enum="AlignmentMode">
|
|
</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="close_bg_highlight" data_type="style" type="StyleBox">
|
|
Background of the close button when it's being hovered with the cursor.
|
|
</theme_item>
|
|
<theme_item name="close_bg_pressed" data_type="style" type="StyleBox">
|
|
Background of the close button 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>
|