reckfellENGINE

TabContainer

Контейнер страниц с заголовками вкладок и единой выбранной страницей.

На этой странице
class TabContainerReckfellSharpНаследует Container

Добавляйте страницы непосредственными дочерними Control. Вложенные элементы принадлежат своей странице; обычный Entity не создаёт вкладку. Control с TopLevel исключается из раскладки вкладок. Заголовок по умолчанию берётся из Name страницы. GetTabControl/GetCurrentTabControl возвращают существующие дочерние элементы, которыми владеет контейнер, а не копии для освобождения.

Индексы идут от 0 и учитывают скрытые/отключённые вкладки. Они могут измениться после MoveChild, добавления или удаления страницы. Не сохраняйте индекс как постоянный ID: храните собственный ключ через SetTabMetadata или ссылку на страницу и заново получайте индекс через GetTabIdxFromControl. Не используйте GetChild(index) как замену GetTabControl: среди детей могут быть вспомогательные Entity и внутренние элементы.

CurrentTab выбирает страницу. В пустом контейнере это -1; при наличии страниц снятие выбора обычно требует DeselectEnabled = true. Программный setter не запрещает выбор отключённой вкладки. Для выбора только доступных страниц используйте SelectNextAvailable/SelectPreviousAvailable: они пропускают hidden/disabled, возвращают bool и останавливаются у края, без перехода по кругу.

Запись CurrentTab испускает TabSelected даже для того же индекса; TabChanged возникает только при смене. TabSelected приходит раньше обновления страницы через TabChanged, поэтому не полагайтесь в нём на уже завершённую смену Visible. Для загрузки содержимого выбранной страницы обычно подходит TabChanged. TabClicked обозначает клик пользователя и не вызывается программным выбором. GetPreviousTab отражает предыдущую запись выбора; после повторного выбора может совпадать с CurrentTab.

Контейнер управляет Visible страниц. Show() неактивной страницы переключает выбор на неё. Hide() активной страницы может выбрать следующую/предыдущую доступную, снять выбор или вернуть единственную страницу в видимое состояние. Для скрытия заголовка конкретной вкладки используйте SetTabHidden; для скрытия всей полосы — TabsVisible = false. Скрытая полоса не скрывает выбранную страницу.

UseHiddenTabsForMinSize = false по умолчанию: неактивные страницы с Visible = false не определяют минимум содержимого. Включите true, если размер окна не должен меняться при переключении на большую страницу. В расчёте также участвуют поля panel и видимая полоса вкладок; это не только сумма размеров заголовков. Контейнер задаёт anchors/offsets активной страницы — размещайте собственную раскладку внутри неё.

До входа в дерево CurrentTab сохраняет запрошенный индекс для последующего применения. Для динамического интерфейса сначала добавьте страницы и контейнер в дерево, затем выбирайте допустимый индекс. GetTabBar возвращает внутренний общий TabBar: не освобождайте его и не добавляйте/удаляйте в нём вкладки напрямую, иначе заголовки разойдутся со страницами.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Конструкторы1

TabContainerКонструктор
# TabContainer
C#
public TabContainer();

Создаёт пустой контейнер: CurrentTab = -1, TabsVisible = true, DeselectEnabled = false, UseHiddenTabsForMinSize = false. Страницы добавляются дочерними Control.

Свойства13

AllTabsInFrontСвойство · Устарело
# AllTabsInFront
C#
public bool AllTabsInFront { get; set; }

Устаревшая настройка без действия в текущей реализации. Getter возвращает false; setter не меняет порядок, а true может вывести предупреждение. Не используйте для управления слоями или порядком страниц.

ClipTabsСвойство
# ClipTabs
C#
public bool ClipTabs { get; set; }

Ограничивать полосу доступной шириной, true по умолчанию. При нехватке места часть заголовков прокручивается; false включает их ширину в минимум и может расширить контейнер. Не является ClipContents для страниц.

CurrentTabСвойство
# CurrentTab
C#
public int CurrentTab { get; set; }

Индекс выбранной страницы, -1 в пустом контейнере. Допустим индекс 0…GetTabCount()-1; -1 требует разрешённого снятия выбора либо отсутствия доступных вкладок. Setter может выбрать disabled-вкладку. До входа в дерево запрос откладывается. Повторный индекс испускает TabSelected без TabChanged.

DeselectEnabledСвойство
# DeselectEnabled
C#
public bool DeselectEnabled { get; set; }

Разрешает отсутствие выбранной страницы, false по умолчанию. Для явного снятия выбора включите флаг и задайте CurrentTab = -1. Выключение при -1 пытается выбрать первую доступную вкладку.

DragToRearrangeEnabledСвойство
# DragToRearrangeEnabled
C#
public bool DragToRearrangeEnabled { get; set; }

Разрешает пользовательское перетаскивание вкладок для перестановки, false по умолчанию. Не запрещает MoveChild из кода. Для переноса между контейнерами дополнительно настройте одинаковую TabsRearrangeGroup.

SwitchOnDragHoverСвойство
# SwitchOnDragHover
C#
public bool SwitchOnDragHover { get; set; }

Переключать вкладку при наведении во время перетаскивания содержимого, true по умолчанию. Не определяет допустимость drop и не включает перестановку вкладок. Перетаскивание самих вкладок имеет отдельный путь.

TabAlignmentСвойство
# TabAlignment
C#
public TabBar.AlignmentMode TabAlignment { get; set; }

Выравнивание заголовков Left/Center/Right, Left по умолчанию. Работает с внутренним TabBar и полями темы, не выравнивает содержимое страниц. Направление раскладки учитывается отдельно.

TabFocusModeСвойство
# TabFocusMode
C#
public Control.FocusModeEnum TabFocusMode { get; set; }

FocusMode внутренней полосы, All по умолчанию. None убирает фокус с заголовков, но не меняет FocusMode кнопок/полей внутри страниц.

TabSizingСвойство
# TabSizing
C#
public TabBar.SizingMode TabSizing { get; set; }

Режим ширины заголовков, FitContent по умолчанию. FitContent — индивидуальная ширина содержимого; Uniform — всем ширина самого широкого. Justify пропорционально расширяет ширины при свободном месте; Expand распределяет его поровну, если самый широкий заголовок помещается, иначе использует FitContent. Это не размер страниц.

TabsPositionСвойство
# TabsPosition
C#
public TabContainer.TabPosition TabsPosition { get; set; }

Полоса вкладок сверху или снизу: Top по умолчанию. Bottom перемещает заголовки и переворачивает их style-box по вертикали; содержимое страницы не переворачивается. Переразметка откладывается.

TabsRearrangeGroupСвойство
# TabsRearrangeGroup
C#
public int TabsRearrangeGroup { get; set; }

Группа переноса вкладок между контейнерами; -1 по умолчанию запрещает межконтейнерный перенос. Задайте одинаковый неотрицательный ID и разрешите DragToRearrangeEnabled у участников. Это не группа Entity и не постоянный ID вкладки.

TabsVisibleСвойство
# TabsVisible
C#
public bool TabsVisible { get; set; }

Показывать полосу заголовков, true по умолчанию. false убирает полосу и её место в раскладке, сохраняя выбранную страницу и её индекс.

UseHiddenTabsForMinSizeСвойство
# UseHiddenTabsForMinSize
C#
public bool UseHiddenTabsForMinSize { get; set; }

Учитывать минимумы невидимых, включая неактивные, страниц; false по умолчанию. true берёт покомпонентный максимум размеров страниц и помогает избежать изменения минимума при переключении.

Методы53

AreTabsVisiblebool
# AreTabsVisible
C#
public bool AreTabsVisible();

Показывать полосу заголовков, true по умолчанию. false убирает полосу и её место в раскладке, сохраняя выбранную страницу и её индекс.

Возвращает bool

Флаг показа полосы вкладок.

GetClipTabsbool
# GetClipTabs
C#
public bool GetClipTabs();

Ограничивать полосу доступной шириной, true по умолчанию. При нехватке места часть заголовков прокручивается; false включает их ширину в минимум и может расширить контейнер. Не является ClipContents для страниц.

Возвращает bool

Флаг ограничения полосы по ширине.

GetCurrentTabint
# GetCurrentTab
C#
public int GetCurrentTab();

Индекс выбранной страницы, -1 в пустом контейнере. Допустим индекс 0…GetTabCount()-1; -1 требует разрешённого снятия выбора либо отсутствия доступных вкладок. Setter может выбрать disabled-вкладку. До входа в дерево запрос откладывается. Повторный индекс испускает TabSelected без TabChanged.

Возвращает int

Текущий индекс или -1 без выбора.

GetCurrentTabControlControl
# GetCurrentTabControl
C#
public Control GetCurrentTabControl();

Возвращает текущую дочернюю страницу либо null при отсутствии выбора. Это существующий Control, не новый экземпляр.

Возвращает Control

Общая выбранная страница либо null.

GetDeselectEnabledbool
# GetDeselectEnabled
C#
public bool GetDeselectEnabled();

Разрешает отсутствие выбранной страницы, false по умолчанию. Для явного снятия выбора включите флаг и задайте CurrentTab = -1. Выключение при -1 пытается выбрать первую доступную вкладку.

Возвращает bool

Разрешено ли явное снятие выбора.

GetDragToRearrangeEnabledbool
# GetDragToRearrangeEnabled
C#
public bool GetDragToRearrangeEnabled();

Разрешает пользовательское перетаскивание вкладок для перестановки, false по умолчанию. Не запрещает MoveChild из кода. Для переноса между контейнерами дополнительно настройте одинаковую TabsRearrangeGroup.

Возвращает bool

Флаг разрешения перестановки вводом пользователя.

GetPopupPopup
# GetPopup
C#
public Popup GetPopup();

Возвращает назначенный общий Popup либо null. Контейнер хранит ID объекта и не владеет его временем жизни; отсоединяйте через SetPopup(null) перед освобождением меню.

Возвращает Popup

Общий назначенный Popup либо null.

GetPreviousTabint
# GetPreviousTab
C#
public int GetPreviousTab();

Индекс до последнего присваивания выбора. Повторная запись CurrentTab обновляет previous тем же индексом; это не обязательно последняя другая страница и не постоянный ID.

Возвращает int

Индекс до последней записи выбора.

GetSwitchOnDragHoverbool
# GetSwitchOnDragHover
C#
public bool GetSwitchOnDragHover();

Переключать вкладку при наведении во время перетаскивания содержимого, true по умолчанию. Не определяет допустимость drop и не включает перестановку вкладок. Перетаскивание самих вкладок имеет отдельный путь.

Возвращает bool

Флаг переключения при наведении с перетаскиванием.

GetTabAlignmentTabBar.AlignmentMode
# GetTabAlignment
C#
public TabBar.AlignmentMode GetTabAlignment();

Выравнивание заголовков Left/Center/Right, Left по умолчанию. Работает с внутренним TabBar и полями темы, не выравнивает содержимое страниц. Направление раскладки учитывается отдельно.

Возвращает TabBar.AlignmentMode

Текущий TabBar.AlignmentMode.

GetTabBarTabBar
# GetTabBar
C#
public TabBar GetTabBar();

Общий внутренний TabBar. Не освобождайте его и не меняйте число вкладок напрямую: заголовки должны соответствовать дочерним страницам TabContainer. Для выбора и свойств вкладок используйте методы контейнера.

Возвращает TabBar

Общий внутренний TabBar.

GetTabButtonIconTexture2D
# GetTabButtonIcon
C#
public Texture2D GetTabButtonIcon(int tabIdx);

Возвращает общую иконку дополнительной кнопки либо null. Не возвращает основную иконку вкладки.

Параметры
ИмяТипПо умолчанию
tabIdxint—
tabIdx

Текущий индекс вкладки 0…GetTabCount()-1, не постоянный ID.

Возвращает Texture2D

Общая Texture2D дополнительной кнопки либо null.

GetTabControlControl
# GetTabControl
C#
public Control GetTabControl(int tabIdx);

Возвращает дочернюю страницу по индексу вкладки. Для отрицательного/несуществующего индекса возвращает null. Общая ссылка: не освобождайте её, пока страницей владеет контейнер.

Параметры
ИмяТипПо умолчанию
tabIdxint—
tabIdx

Индекс вкладки 0…GetTabCount()-1; для SetCurrentTab значение -1 допустимо при разрешённом снятии выбора. GetTabControl возвращает null для отсутствующего индекса.

Возвращает Control

Общая дочерняя страница либо null.

GetTabCountint
# GetTabCount
C#
public int GetTabCount();

Число страниц-вкладок, включая hidden/disabled. Это не число всех Entity-детей и не число видимых заголовков.

Возвращает int

Количество страниц, включая hidden/disabled.

GetTabFocusModeControl.FocusModeEnum
# GetTabFocusMode
C#
public Control.FocusModeEnum GetTabFocusMode();

FocusMode внутренней полосы, All по умолчанию. None убирает фокус с заголовков, но не меняет FocusMode кнопок/полей внутри страниц.

Возвращает Control.FocusModeEnum

FocusMode внутренней полосы.

GetTabIconTexture2D
# GetTabIcon
C#
public Texture2D GetTabIcon(int tabIdx);

Возвращает общую основную иконку заголовка либо null. Это отдельный слот от дополнительной кнопки SetTabButtonIcon.

Параметры
ИмяТипПо умолчанию
tabIdxint—
tabIdx

Текущий индекс вкладки 0…GetTabCount()-1, не постоянный ID.

Возвращает Texture2D

Общая основная Texture2D либо null.

GetTabIconMaxWidthint
# GetTabIconMaxWidth
C#
public int GetTabIconMaxWidth(int tabIdx);

Возвращает сохранённое индивидуальное ограничение ширины, 0 по умолчанию. Это не фактическая ширина рисунка и не итог с учётом темы.

Параметры
ИмяТипПо умолчанию
tabIdxint—
tabIdx

Текущий индекс вкладки 0…GetTabCount()-1, не постоянный ID.

Возвращает int

Сохранённый предел ширины в пикселях; 0 без индивидуального предела.

GetTabIdxAtPointint
# GetTabIdxAtPoint
C#
public int GetTabIdxAtPoint(Vector2 point);

Возвращает индекс заголовка под точкой либо -1. В текущей реализации точка передаётся напрямую внутреннему TabBar: используйте его локальные координаты, например GetTabBar().GetLocalMousePosition(), а не координаты страницы/экрана/всего контейнера. Это важно при Bottom и смещении полосы. Отключённый заголовок всё ещё может находиться под точкой.

Параметры
ИмяТипПо умолчанию
pointVector2—
point

Точка в локальных координатах GetTabBar(), не всего TabContainer.

Возвращает int

Индекс найденного заголовка либо -1.

GetTabIdxFromControlint
# GetTabIdxFromControl
C#
public int GetTabIdxFromControl(Control control);

Находит актуальный индекс непосредственной дочерней страницы. Требуется ненулевой Control с этим родителем; неправильный родитель сообщает ошибку и возвращает -1. Для перестановок храните ссылку/ID страницы, а не прежний индекс.

Параметры
ИмяТипПо умолчанию
controlControl—
control

Ненулевая непосредственная дочерняя страница этого контейнера.

Возвращает int

Текущий индекс страницы, либо -1 при отсутствии/ошибке.

GetTabMetadataVariant
# GetTabMetadata
C#
public Variant GetTabMetadata(int tabIdx);

Возвращает Variant-данные вкладки. Если metadata не назначена, возвращает Nil. Для собственного ID используйте ожидаемый тип и проверяйте его перед преобразованием.

Параметры
ИмяТипПо умолчанию
tabIdxint—
tabIdx

Индекс вкладки 0…GetTabCount()-1; для SetCurrentTab значение -1 допустимо при разрешённом снятии выбора. GetTabControl возвращает null для отсутствующего индекса.

Возвращает Variant

Metadata Variant либо Nil.

GetTabSizingTabBar.SizingMode
# GetTabSizing
C#
public TabBar.SizingMode GetTabSizing();

Режим ширины заголовков, FitContent по умолчанию. FitContent — индивидуальная ширина содержимого; Uniform — всем ширина самого широкого. Justify пропорционально расширяет ширины при свободном месте; Expand распределяет его поровну, если самый широкий заголовок помещается, иначе использует FitContent. Это не размер страниц.

Возвращает TabBar.SizingMode

Текущий TabBar.SizingMode.

GetTabTitlestring
# GetTabTitle
C#
public string GetTabTitle(int tabIdx);

Возвращает сохранённый заголовок указанной вкладки, отдельно от имени страницы и её постоянного ID.

Параметры
ИмяТипПо умолчанию
tabIdxint—
tabIdx

Индекс вкладки 0…GetTabCount()-1; для SetCurrentTab значение -1 допустимо при разрешённом снятии выбора. GetTabControl возвращает null для отсутствующего индекса.

Возвращает string

Сохранённый заголовок вкладки.

GetTabTooltipstring
# GetTabTooltip
C#
public string GetTabTooltip(int tabIdx);

Возвращает сохранённую подсказку заголовка.

Параметры
ИмяТипПо умолчанию
tabIdxint—
tabIdx

Индекс вкладки 0…GetTabCount()-1; для SetCurrentTab значение -1 допустимо при разрешённом снятии выбора. GetTabControl возвращает null для отсутствующего индекса.

Возвращает string

Сохранённая подсказка вкладки.

GetTabsPositionTabContainer.TabPosition
# GetTabsPosition
C#
public TabContainer.TabPosition GetTabsPosition();

Полоса вкладок сверху или снизу: Top по умолчанию. Bottom перемещает заголовки и переворачивает их style-box по вертикали; содержимое страницы не переворачивается. Переразметка откладывается.

Возвращает TabContainer.TabPosition

Top или Bottom.

GetTabsRearrangeGroupint
# GetTabsRearrangeGroup
C#
public int GetTabsRearrangeGroup();

Группа переноса вкладок между контейнерами; -1 по умолчанию запрещает межконтейнерный перенос. Задайте одинаковый неотрицательный ID и разрешите DragToRearrangeEnabled у участников. Это не группа Entity и не постоянный ID вкладки.

Возвращает int

ID группы переноса или -1.

GetUseHiddenTabsForMinSizebool
# GetUseHiddenTabsForMinSize
C#
public bool GetUseHiddenTabsForMinSize();

Учитывать минимумы невидимых, включая неактивные, страниц; false по умолчанию. true берёт покомпонентный максимум размеров страниц и помогает избежать изменения минимума при переключении.

Возвращает bool

Учитываются ли невидимые страницы в минимуме.

IsAllTabsInFrontbool
# IsAllTabsInFront
C#
public bool IsAllTabsInFront();

Устаревшая настройка без действия в текущей реализации. Getter возвращает false; setter не меняет порядок, а true может вывести предупреждение. Не используйте для управления слоями или порядком страниц.

Возвращает bool

Всегда false в текущей реализации.

IsTabDisabledbool
# IsTabDisabled
C#
public bool IsTabDisabled(int tabIdx);

Возвращает флаг disabled заголовка; это не Visible страницы и не гарантия, что она не выбрана.

Параметры
ИмяТипПо умолчанию
tabIdxint—
tabIdx

Индекс вкладки 0…GetTabCount()-1; для SetCurrentTab значение -1 допустимо при разрешённом снятии выбора. GetTabControl возвращает null для отсутствующего индекса.

Возвращает bool

Флаг disabled указанного заголовка.

IsTabHiddenbool
# IsTabHidden
C#
public bool IsTabHidden(int tabIdx);

Флаг скрытия заголовка. Не равен !Visible: неактивная страница обычно невидима и с видимым заголовком.

Параметры
ИмяТипПо умолчанию
tabIdxint—
tabIdx

Индекс вкладки 0…GetTabCount()-1; для SetCurrentTab значение -1 допустимо при разрешённом снятии выбора. GetTabControl возвращает null для отсутствующего индекса.

Возвращает bool

Флаг hidden указанного заголовка.

SelectNextAvailablebool
# SelectNextAvailable
C#
public bool SelectNextAvailable();

Выбирает следующую по индексу вкладку без hidden/disabled; возвращает true при успехе. Не переходит с конца к началу. При CurrentTab = -1 ищет от первой вкладки.

Возвращает bool

true, если найдена и выбрана следующая доступная вкладка.

SelectPreviousAvailablebool
# SelectPreviousAvailable
C#
public bool SelectPreviousAvailable();

Выбирает предыдущую по индексу доступную вкладку, пропуская hidden/disabled. Возвращает false без смены выбора, если подходящей вкладки слева нет; не переходит по кругу.

Возвращает bool

true, если найдена и выбрана предыдущая доступная вкладка.

SetAllTabsInFrontvoid
# SetAllTabsInFront
C#
public void SetAllTabsInFront(bool isFront);

Устаревшая настройка без действия в текущей реализации. Getter возвращает false; setter не меняет порядок, а true может вывести предупреждение. Не используйте для управления слоями или порядком страниц.

Параметры
ИмяТипПо умолчанию
isFrontbool—
isFront

Устаревшая настройка без действия в текущей реализации. Getter возвращает false; setter не меняет порядок, а true может вывести предупреждение. Не используйте для управления слоями или порядком страниц.

SetClipTabsvoid
# SetClipTabs
C#
public void SetClipTabs(bool clipTabs);

Ограничивать полосу доступной шириной, true по умолчанию. При нехватке места часть заголовков прокручивается; false включает их ширину в минимум и может расширить контейнер. Не является ClipContents для страниц.

Параметры
ИмяТипПо умолчанию
clipTabsbool—
clipTabs

Ограничивать полосу доступной шириной, true по умолчанию. При нехватке места часть заголовков прокручивается; false включает их ширину в минимум и может расширить контейнер. Не является ClipContents для страниц.

SetCurrentTabvoid
# SetCurrentTab
C#
public void SetCurrentTab(int tabIdx);

Индекс выбранной страницы, -1 в пустом контейнере. Допустим индекс 0…GetTabCount()-1; -1 требует разрешённого снятия выбора либо отсутствия доступных вкладок. Setter может выбрать disabled-вкладку. До входа в дерево запрос откладывается. Повторный индекс испускает TabSelected без TabChanged.

Параметры
ИмяТипПо умолчанию
tabIdxint—
tabIdx

Индекс вкладки 0…GetTabCount()-1; для SetCurrentTab значение -1 допустимо при разрешённом снятии выбора. GetTabControl возвращает null для отсутствующего индекса.

SetDeselectEnabledvoid
# SetDeselectEnabled
C#
public void SetDeselectEnabled(bool enabled);

Разрешает отсутствие выбранной страницы, false по умолчанию. Для явного снятия выбора включите флаг и задайте CurrentTab = -1. Выключение при -1 пытается выбрать первую доступную вкладку.

Параметры
ИмяТипПо умолчанию
enabledbool—
enabled

Разрешает отсутствие выбранной страницы, false по умолчанию. Для явного снятия выбора включите флаг и задайте CurrentTab = -1. Выключение при -1 пытается выбрать первую доступную вкладку.

SetDragToRearrangeEnabledvoid
# SetDragToRearrangeEnabled
C#
public void SetDragToRearrangeEnabled(bool enabled);

Разрешает пользовательское перетаскивание вкладок для перестановки, false по умолчанию. Не запрещает MoveChild из кода. Для переноса между контейнерами дополнительно настройте одинаковую TabsRearrangeGroup.

Параметры
ИмяТипПо умолчанию
enabledbool—
enabled

Разрешает пользовательское перетаскивание вкладок для перестановки, false по умолчанию. Не запрещает MoveChild из кода. Для переноса между контейнерами дополнительно настройте одинаковую TabsRearrangeGroup.

SetPopupvoid
# SetPopup
C#
public void SetPopup(Entity popup);

Назначает ссылку на существующий Popup, например PopupMenu; null отсоединяет. Параметр имеет тип Entity, но другой тип очищает назначение. Не добавляет меню в дерево, не меняет родителя, не открывает и не освобождает его. Добавьте Popup в дерево самостоятельно и отсоедините до его освобождения.

Параметры
ИмяТипПо умолчанию
popupEntity—
popup

Назначает ссылку на существующий Popup, например PopupMenu; null отсоединяет. Параметр имеет тип Entity, но другой тип очищает назначение. Не добавляет меню в дерево, не меняет родителя, не открывает и не освобождает его. Добавьте Popup в дерево самостоятельно и отсоедините до его освобождения.

SetSwitchOnDragHovervoid
# SetSwitchOnDragHover
C#
public void SetSwitchOnDragHover(bool enabled);

Переключать вкладку при наведении во время перетаскивания содержимого, true по умолчанию. Не определяет допустимость drop и не включает перестановку вкладок. Перетаскивание самих вкладок имеет отдельный путь.

Параметры
ИмяТипПо умолчанию
enabledbool—
enabled

Переключать вкладку при наведении во время перетаскивания содержимого, true по умолчанию. Не определяет допустимость drop и не включает перестановку вкладок. Перетаскивание самих вкладок имеет отдельный путь.

SetTabAlignmentvoid
# SetTabAlignment
C#
public void SetTabAlignment(TabBar.AlignmentMode alignment);

Выравнивание заголовков Left/Center/Right, Left по умолчанию. Работает с внутренним TabBar и полями темы, не выравнивает содержимое страниц. Направление раскладки учитывается отдельно.

Параметры
ИмяТипПо умолчанию
alignmentTabBar.AlignmentMode—
alignment

Выравнивание заголовков Left/Center/Right, Left по умолчанию. Работает с внутренним TabBar и полями темы, не выравнивает содержимое страниц. Направление раскладки учитывается отдельно.

SetTabButtonIconvoid
# SetTabButtonIcon
C#
public void SetTabButtonIcon(int tabIdx, Texture2D icon);

Задаёт иконку отдельной кнопки в заголовке; null убирает кнопку. Основная иконка не меняется. Нажатие сообщает TabButtonPressed; удаление/закрытие страницы реализуйте сами.

Параметры
ИмяТипПо умолчанию
tabIdxint—
iconTexture2D—
tabIdx

Текущий индекс вкладки 0…GetTabCount()-1, не постоянный ID.

icon

Задаёт иконку отдельной кнопки в заголовке; null убирает кнопку. Основная иконка не меняется. Нажатие сообщает TabButtonPressed; удаление/закрытие страницы реализуйте сами.

SetTabDisabledvoid
# SetTabDisabled
C#
public void SetTabDisabled(int tabIdx, bool disabled);

Запрещает выбор заголовка пользователем и доступной навигацией. Не скрывает страницу и не переключает уже выбранную вкладку; программный CurrentTab всё ещё может её выбрать.

Параметры
ИмяТипПо умолчанию
tabIdxint—
disabledbool—
tabIdx

Индекс вкладки 0…GetTabCount()-1; для SetCurrentTab значение -1 допустимо при разрешённом снятии выбора. GetTabControl возвращает null для отсутствующего индекса.

disabled

Запрещает выбор заголовка пользователем и доступной навигацией. Не скрывает страницу и не переключает уже выбранную вкладку; программный CurrentTab всё ещё может её выбрать.

SetTabFocusModevoid
# SetTabFocusMode
C#
public void SetTabFocusMode(Control.FocusModeEnum focusMode);

FocusMode внутренней полосы, All по умолчанию. None убирает фокус с заголовков, но не меняет FocusMode кнопок/полей внутри страниц.

Параметры
ИмяТипПо умолчанию
focusModeControl.FocusModeEnum—
focusMode

FocusMode внутренней полосы, All по умолчанию. None убирает фокус с заголовков, но не меняет FocusMode кнопок/полей внутри страниц.

SetTabHiddenvoid
# SetTabHidden
C#
public void SetTabHidden(int tabIdx, bool hidden);

Скрывает/возвращает заголовок, не удаляя страницу и не меняя число вкладок. Изменение также скрывает страницу и запускает согласование выбора; при скрытии текущей может выбрать другую. Для подготовки задавайте после добавления страницы.

Параметры
ИмяТипПо умолчанию
tabIdxint—
hiddenbool—
tabIdx

Индекс вкладки 0…GetTabCount()-1; для SetCurrentTab значение -1 допустимо при разрешённом снятии выбора. GetTabControl возвращает null для отсутствующего индекса.

hidden

Скрывает/возвращает заголовок, не удаляя страницу и не меняя число вкладок. Изменение также скрывает страницу и запускает согласование выбора; при скрытии текущей может выбрать другую. Для подготовки задавайте после добавления страницы.

SetTabIconvoid
# SetTabIcon
C#
public void SetTabIcon(int tabIdx, Texture2D icon);

Назначает общую Texture2D основной иконке заголовка; null убирает её. Требуется существующая страница. Ресурс не копируется; назначение обновляет поля/перерисовку. Размер ограничивается темой и SetTabIconMaxWidth.

Параметры
ИмяТипПо умолчанию
tabIdxint—
iconTexture2D—
tabIdx

Текущий индекс вкладки 0…GetTabCount()-1, не постоянный ID.

icon

Назначает общую Texture2D основной иконке заголовка; null убирает её. Требуется существующая страница. Ресурс не копируется; назначение обновляет поля/перерисовку. Размер ограничивается темой и SetTabIconMaxWidth.

SetTabIconMaxWidthvoid
# SetTabIconMaxWidth
C#
public void SetTabIconMaxWidth(int tabIdx, int width);

Максимальная ширина основной иконки в локальных пикселях. 0 означает отсутствие индивидуального ограничения; положительное значение сохраняет пропорции и сочетается с более строгим icon_max_width темы. Не увеличивает маленькую иконку и не меняет Texture2D.

Параметры
ИмяТипПо умолчанию
tabIdxint—
widthint—
tabIdx

Текущий индекс вкладки 0…GetTabCount()-1, не постоянный ID.

width

Максимальная ширина основной иконки в локальных пикселях. 0 означает отсутствие индивидуального ограничения; положительное значение сохраняет пропорции и сочетается с более строгим icon_max_width темы. Не увеличивает маленькую иконку и не меняет Texture2D.

SetTabMetadatavoid
# SetTabMetadata
C#
public void SetTabMetadata(int tabIdx, Variant metadata);

Сохраняет Variant-данные вкладки, например собственный постоянный ID. Данные относятся к записи вкладки и перемещаются с ней; текущий индекс постоянным ключом не становится. Ссылочные контейнеры внутри Variant могут оставаться общими.

Параметры
ИмяТипПо умолчанию
tabIdxint—
metadataVariant—
tabIdx

Индекс вкладки 0…GetTabCount()-1; для SetCurrentTab значение -1 допустимо при разрешённом снятии выбора. GetTabControl возвращает null для отсутствующего индекса.

metadata

Сохраняет Variant-данные вкладки, например собственный постоянный ID. Данные относятся к записи вкладки и перемещаются с ней; текущий индекс постоянным ключом не становится. Ссылочные контейнеры внутри Variant могут оставаться общими.

SetTabSizingvoid
# SetTabSizing
C#
public void SetTabSizing(TabBar.SizingMode tabSizing);

Режим ширины заголовков, FitContent по умолчанию. FitContent — индивидуальная ширина содержимого; Uniform — всем ширина самого широкого. Justify пропорционально расширяет ширины при свободном месте; Expand распределяет его поровну, если самый широкий заголовок помещается, иначе использует FitContent. Это не размер страниц.

Параметры
ИмяТипПо умолчанию
tabSizingTabBar.SizingMode—
tabSizing

Режим ширины заголовков, FitContent по умолчанию. FitContent — индивидуальная ширина содержимого; Uniform — всем ширина самого широкого. Justify пропорционально расширяет ширины при свободном месте; Expand распределяет его поровну, если самый широкий заголовок помещается, иначе использует FitContent. Это не размер страниц.

SetTabTitlevoid
# SetTabTitle
C#
public void SetTabTitle(int tabIdx, string title);

Задаёт заголовок, не переименовывая Control страницы. Собственный заголовок сохраняется при переименовании страницы; присваивание текущего Name возвращает отслеживание имени.

Параметры
ИмяТипПо умолчанию
tabIdxint—
titlestring—
tabIdx

Индекс вкладки 0…GetTabCount()-1; для SetCurrentTab значение -1 допустимо при разрешённом снятии выбора. GetTabControl возвращает null для отсутствующего индекса.

title

Задаёт заголовок, не переименовывая Control страницы. Собственный заголовок сохраняется при переименовании страницы; присваивание текущего Name возвращает отслеживание имени.

SetTabTooltipvoid
# SetTabTooltip
C#
public void SetTabTooltip(int tabIdx, string tooltip);

Задаёт подсказку заголовка, не меняя заголовок, имя или индекс. Требуется существующая вкладка.

Параметры
ИмяТипПо умолчанию
tabIdxint—
tooltipstring—
tabIdx

Индекс вкладки 0…GetTabCount()-1; для SetCurrentTab значение -1 допустимо при разрешённом снятии выбора. GetTabControl возвращает null для отсутствующего индекса.

tooltip

Задаёт подсказку заголовка, не меняя заголовок, имя или индекс. Требуется существующая вкладка.

SetTabsPositionvoid
# SetTabsPosition
C#
public void SetTabsPosition(TabContainer.TabPosition tabsPosition);

Полоса вкладок сверху или снизу: Top по умолчанию. Bottom перемещает заголовки и переворачивает их style-box по вертикали; содержимое страницы не переворачивается. Переразметка откладывается.

Параметры
ИмяТипПо умолчанию
tabsPositionTabContainer.TabPosition—
tabsPosition

Полоса вкладок сверху или снизу: Top по умолчанию. Bottom перемещает заголовки и переворачивает их style-box по вертикали; содержимое страницы не переворачивается. Переразметка откладывается.

SetTabsRearrangeGroupvoid
# SetTabsRearrangeGroup
C#
public void SetTabsRearrangeGroup(int groupId);

Группа переноса вкладок между контейнерами; -1 по умолчанию запрещает межконтейнерный перенос. Задайте одинаковый неотрицательный ID и разрешите DragToRearrangeEnabled у участников. Это не группа Entity и не постоянный ID вкладки.

Параметры
ИмяТипПо умолчанию
groupIdint—
groupId

Группа переноса вкладок между контейнерами; -1 по умолчанию запрещает межконтейнерный перенос. Задайте одинаковый неотрицательный ID и разрешите DragToRearrangeEnabled у участников. Это не группа Entity и не постоянный ID вкладки.

SetTabsVisiblevoid
# SetTabsVisible
C#
public void SetTabsVisible(bool visible);

Показывать полосу заголовков, true по умолчанию. false убирает полосу и её место в раскладке, сохраняя выбранную страницу и её индекс.

Параметры
ИмяТипПо умолчанию
visiblebool—
visible

Показывать полосу заголовков, true по умолчанию. false убирает полосу и её место в раскладке, сохраняя выбранную страницу и её индекс.

SetUseHiddenTabsForMinSizevoid
# SetUseHiddenTabsForMinSize
C#
public void SetUseHiddenTabsForMinSize(bool enabled);

Учитывать минимумы невидимых, включая неактивные, страниц; false по умолчанию. true берёт покомпонентный максимум размеров страниц и помогает избежать изменения минимума при переключении.

Параметры
ИмяТипПо умолчанию
enabledbool—
enabled

Учитывать минимумы невидимых, включая неактивные, страниц; false по умолчанию. true берёт покомпонентный максимум размеров страниц и помогает избежать изменения минимума при переключении.

Сигналы и события7

ActiveTabRearrangedСобытие
# ActiveTabRearranged
C#
public event TabContainer.ActiveTabRearrangedEventHandler ActiveTabRearranged;

Уведомление пути перетаскивания о новом индексе активируемой вкладки. Не является общим сигналом любой перестановки: MoveChild из кода сам его не испускает. После изменения порядка заново разрешайте индексы по ссылке/metadata.

Параметры обработчика
ИмяТипПо умолчанию
idxTolong—
idxTo

Новый индекс вкладки после операции перетаскивания.

PrePopupPressedСобытие
# PrePopupPressed
C#
public event Action PrePopupPressed;

Вызывается кнопкой дополнительного меню перед позиционированием и открытием назначенного Popup. Используйте для обновления пунктов. Не освобождайте/не подменяйте Popup внутри обработчика: текущий путь уже получил ссылку на открываемый объект. SetPopup сам сигнал не испускает.

TabButtonPressedСобытие
# TabButtonPressed
C#
public event TabContainer.TabButtonPressedEventHandler TabButtonPressed;

Нажата дополнительная кнопка, созданная через SetTabButtonIcon. Передаёт индекс вкладки; контейнер сам не удаляет страницу. Сохраните ссылку/metadata до перестановки или удаления.

Параметры обработчика
ИмяТипПо умолчанию
tablong—
tab

Текущий индекс вкладки 0…GetTabCount()-1, не постоянный ID.

TabChangedСобытие
# TabChanged
C#
public event TabContainer.TabChangedEventHandler TabChanged;

Индекс выбранной вкладки изменился, включая программный выбор. Контейнер обновляет видимость страниц перед этим уведомлением; -1 означает отсутствие выбранной страницы. Не испускается при записи того же индекса.

Параметры обработчика
ИмяТипПо умолчанию
tablong—
tab

Индекс вкладки в момент события; для выбора/смены -1 может означать отсутствие страницы.

TabClickedСобытие
# TabClicked
C#
public event TabContainer.TabClickedEventHandler TabClicked;

Пользователь кликнул заголовок вкладки. Программный CurrentTab не испускает этот сигнал; клик по уже выбранной вкладке не обязательно меняет страницу.

Параметры обработчика
ИмяТипПо умолчанию
tablong—
tab

Индекс вкладки в момент события; для выбора/смены -1 может означать отсутствие страницы.

TabHoveredСобытие
# TabHovered
C#
public event TabContainer.TabHoveredEventHandler TabHovered;

Указатель навёлся на заголовок указанной вкладки. Это не выбор страницы и не сигнал изменения CurrentTab.

Параметры обработчика
ИмяТипПо умолчанию
tablong—
tab

Индекс вкладки в момент события; для выбора/смены -1 может означать отсутствие страницы.

TabSelectedСобытие
# TabSelected
C#
public event TabContainer.TabSelectedEventHandler TabSelected;

Выбор вкладки, включая повторный выбор того же индекса и программный CurrentTab. При смене приходит перед TabChanged и обновлением видимости страниц; для готовой смены страницы используйте TabChanged.

Параметры обработчика
ИмяТипПо умолчанию
tablong—
tab

Индекс вкладки в момент события; для выбора/смены -1 может означать отсутствие страницы.

TabContainer.TabPosition

ЗначениеОписание
Bottom = 1

Размещает панель вкладок внизу. StyleBox панели вкладок будет перевернут по вертикали.

Max = 2

Представляет размер перечисления TabContainer.TabPosition.

Top = 0

Размещает панель вкладок вверху.

Свойства темы

Это ключи ресурсов Theme, а не свойства C# класса. Используйте методы GetTheme…() и AddTheme…Override() у Control с соответствующим типом значения.

Ключ и типОписание
drop_mark_color
Color

Цвет модуляции для значка TabContainer.drop_mark.

По умолчанию: Color(1, 1, 1, 1)
font_disabled_color
Color

Font Цвет отключённых вкладок.

По умолчанию: Color(0.875, 0.875, 0.875, 0.5)
font_hovered_color
Color

Font Цвет текущей вкладки. Не применяется к выбранной вкладке.

По умолчанию: Color(0.95, 0.95, 0.95, 1)
font_outline_color
Color

Оттенок контура текста названия вкладки.

По умолчанию: Color(0, 0, 0, 1)
font_selected_color
Color

Font Цвет выбранной в настоящее время вкладки.

По умолчанию: Color(0.95, 0.95, 0.95, 1)
font_unselected_color
Color

Font Цвет другой, невыбранных вкладок.

По умолчанию: Color(0.7, 0.7, 0.7, 1)
icon_disabled_color
Color

Цвет значков отключенных вкладок.

По умолчанию: Color(1, 1, 1, 1)
icon_hovered_color
Color

Цвет значка текущей вкладки, на которую наведен курсор. Не применяется к выбранной вкладке.

По умолчанию: Color(1, 1, 1, 1)
icon_selected_color
Color

Цвет значка текущей выбранной вкладки.

По умолчанию: Color(1, 1, 1, 1)
icon_unselected_color
Color

Цвет значков других, невыбранных вкладок.

По умолчанию: Color(1, 1, 1, 1)
icon_max_width
int

Максимально допустимая ширина значка вкладки. Это ограничение применяется поверх размера значка по умолчанию, но до значения, установленного с помощью TabBar.SetTabIconMaxWidth. Высота регулируется в соответствии с соотношением значка.

По умолчанию: 0
icon_separation
int

Пробел между названием вкладки и ее значком.

По умолчанию: 4
outline_size
int

Размер контура текста вкладки. Примечание: При использовании шрифта с включенным FontFile.MultichannelSignedDistanceField его FontFile.MsdfPixelRange должен быть установлен как минимум в дважды больше значения TabContainer.outline_size, чтобы контур выглядел правильно. В противном случае контур может оказаться обрезанным раньше, чем предполагалось.

По умолчанию: 0
side_margin
int

Пространство слева или справа от панели вкладок, в соответствии с текущим TabContainer.TabAlignment. Отступ игнорируется с TabBar.AlignmentMode.Right, если вкладки обрезаны (см. TabContainer.ClipTabs) или установлено всплывающее окно (см. TabContainer.SetPopup). Отступ всегда игнорируется с TabBar.AlignmentMode.Center.

По умолчанию: 8
tab_separation
int

Пространство между вкладками на панели вкладок.

По умолчанию: 0
font
Font

Шрифт, используемый для отображения названий вкладок.

font_size
int

Font Размер имени вкладок.

decrement
Texture2D

Значок для кнопки со стрелкой влево, которая появляется, когда вкладок слишком много, чтобы поместиться в ширину контейнера. Когда кнопка отключена (т.е. видна первая вкладка), она выглядит полупрозрачной.

decrement_highlight
Texture2D

Значок для кнопки со стрелкой влево, которая появляется, когда вкладок слишком много, чтобы поместиться в ширину контейнера. Используется, когда на кнопку наведен курсор.

drop_mark
Texture2D

Значок, показывающий, куда будет помещена перетаскиваемая вкладка (см. TabContainer.DragToRearrangeEnabled).

increment
Texture2D

Значок для кнопки со стрелкой вправо, которая появляется, когда вкладок слишком много, чтобы вписаться в ширину контейнера. Когда кнопка отключена (т.е. видна последняя вкладка), она становится полупрозрачной.

increment_highlight
Texture2D

Значок для кнопки со стрелкой вправо, которая появляется, когда вкладок слишком много, чтобы поместиться в ширину контейнера. Используется, когда на кнопку наведен курсор.

menu
Texture2D

Значок для кнопки меню (см. TabContainer.SetPopup).

menu_highlight
Texture2D

Значок кнопки меню (см. TabContainer.SetPopup) при наведении на нее курсора.

drag_ended_sound
AudioStream

Играть, когда вкладку затаскивают, чтобы переставить. Слышно только, если TabContainer.DragToRearrangeEnabled это true.

drag_started_sound
AudioStream

Играет, когда вкладка начинает тянуться, чтобы переделать её. Слышно только, если TabContainer.DragToRearrangeEnabled это true.

Сосредоточься.

focus_sound
AudioStream

Играл, когда это TabBar Мышь или мышечная фокусировка не играют в фокус-звук.

hover_sound
AudioStream

Играет, когда вкладка зависает с мышкой.

pressed_disabled_sound
AudioStream

Воспроизводится при нажатии кнопки закрытия вкладки во время выключения вкладки или при нажатии предыдущих/следующих кнопок на вкладке когда уже в начале/конца списка.

pressed_sound
AudioStream

Воспроизведение при нажатии кнопок на вкладке или предыдущих/следующих кнопок.

panel
StyleBox

Стиль заливки фона.

tab_disabled
StyleBox

Стиль отключенных вкладок.

tab_focus
StyleBox

StyleBox используется, когда TabBar находится в фокусе. TabContainer.tab_focus StyleBox отображается над базовой StyleBox выбранной вкладки, поэтому следует использовать частично прозрачный StyleBox, чтобы базовый StyleBox оставался видимым. StyleBox представляющий контур или подчеркивание, хорошо подходит для этой цели. Чтобы отключить визуальный эффект фокуса, назначьте ресурс StyleBoxEmpty. Обратите внимание, что отключение визуального эффекта фокуса навредит удобству использования навигации с помощью клавиатуры/контроллера, поэтому это не рекомендуется по соображениям доступности.

tab_hovered
StyleBox

Стиль текущей вкладки, на которую наведен курсор. Примечание: Этот стиль будет отрисован с той же шириной, что и TabContainer.tab_unselected как минимум.

tab_selected
StyleBox

Стиль текущей выбранной вкладки.

tab_unselected
StyleBox

Стиль остальных, невыбранных вкладок.

tabbar_background
StyleBox

Стиль фоновой заливки области TabBar.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.