reckfellENGINE

Tree

Иерархический список с колонками и элементами TreeItem.

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

Tree — элемент интерфейса для иерархий и таблиц. Его строки TreeItem не являются Entity и не входят в дерево Entity. Сначала задайте Columns, затем создайте корень через CreateItem(). Повторный CreateItem() без parent создаёт уже ребёнка корня. Для обычного списка включите HideRoot: структурный корень останется, но отображаться будут его дети.

Для каждой строки задайте SetText(column, text). Номер колонки начинается с 0. Идентификатор объекта модели храните в SetMetadata, а не в тексте или текущем индексе строки: порядок и подписи могут измениться. Программное SetText не испускает ItemEdited; обновление модели вызывайте явно.

Tree владеет присоединёнными TreeItem. Clear немедленно освобождает корень и всех его потомков; освобождение самого Tree также удаляет строки. Сохранённые ссылки после этого недействительны. Перед перестроением сохраните нужные идентификаторы модели, затем заново создайте строки и восстановите состояние по идентификаторам.

RemoveChild отсоединяет поддерево без удаления. После отсоединения либо присоедините его через AddChild другого TreeItem, либо явно освободите через Free. При переносе между Tree с разным Columns данные лишних колонок теряются. Создание строк, Clear и изменение Columns запрещены во время обработки мышиного выбора: отложите перестроение до завершения обработчика.

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

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

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

Создаёт пустой Tree с одной колонкой. Корня ещё нет; создайте его через CreateItem.

Свойства16

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

Разрешает повторное уведомление при выборе уже выбранной ячейки/строки через обработку выбора. Не включает Multi и не делает программный TreeItem.Select в Multi источником сигналов.

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

Разрешает выбор строки правой кнопкой мыши. Это политика ввода: она не открывает контекстное меню, не меняет SelectMode и не ограничивает программный выбор.

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

Разрешает клавиатурный поиск по началу исходной подписи без учёта регистра. Это переход по строкам, не фильтрация данных и не поле поиска. В Multi поиск перемещает только курсор, не добавляя строку к выбору. Интервал набора задаёт gui/timers/incremental_search_max_interval_msec.

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

Если у ячейки нет явной подсказки, использовать её подпись/значение как подсказку. Не генерирует описание для доступности и не заменяет отдельные подсказки кнопок действий. Для отключения этого поведения задайте false; одной пустой подсказки строки недостаточно.

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

Показывает заголовки колонок, по умолчанию false. Лучше задавать до заполнения и измерения колонок. Ограничение: динамический показ после GetColumnWidth может оставить старый кэш ширины. Для пересчёта сохраните IsColumnClippingContent каждой колонки, переключите SetColumnClipContent на противоположное значение и верните сохранённое.

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

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

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

Зоны назначения перетаскивания: 0 — выключены, OnItem (1) — на строку, Inbetween (2) — между строками, 3 — оба варианта. Управляет расчётом/подсветкой цели, а не переносом данных. Реализуйте проверку и изменение модели в drag-and-drop обработчиках; учитывайте SetAcceptChildren и запрет циклов.

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

Разрешает раскрытие ветви при задержке перетаскиваемого элемента над ней. Не создаёт данные перетаскивания и не выполняет перенос модели. Отключение останавливает ожидающий таймер раскрытия.

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

Разрешает рекурсивное сворачивание/раскрытие через пользовательский жест с Shift. Не запрещает SetCollapsedRecursive из кода.

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

Скрывает обычное управление сворачиванием во всём Tree. Не раскрывает ветви и не запрещает программные Collapsed/SetCollapsedRecursive. Состояние ветвей задавайте отдельно.

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

Скрывает отображение корня, сохраняя сам корень и его детей. Подходит для плоского списка с общим скрытым родителем. Не удаляет строку и не меняет GetRoot.

ScrollHintModeСвойство
# ScrollHintMode
C#
public Tree.ScrollHintModeEnum ScrollHintMode { get; set; }

Настраивает визуальные подсказки скрытого содержимого сверху/снизу: Disabled, Both, Top или Bottom. Не включает прокрутку и не меняет её величину.

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

Разрешает горизонтальную прокрутку. При false минимум ширины Tree учитывает содержимое, поэтому контейнер может растянуть контрол. Это не фиксирование ширины колонок и не управление вертикальной прокруткой.

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

Разрешает вертикальную прокрутку. При false минимум высоты Tree учитывает содержимое, поэтому контейнер может растянуть контрол. Горизонтальная прокрутка настраивается отдельно.

SelectModeСвойство
# SelectMode
C#
public Tree.SelectModeEnum SelectMode { get; set; }

Single выбирает одну ячейку, Row — доступные для выбора ячейки одной строки, Multi позволяет накапливать выбор. Смена режима не очищает и не нормализует старые флаги: перед сменой вызовите DeselectAll. В Multi курсор GetSelected не равен всему набору выбора.

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

Повторять текстуру подсказки прокрутки вместо растягивания. Это оформление hint, не циклическая прокрутка списка.

Методы73

AreColumnTitlesVisiblebool
# AreColumnTitlesVisible
C#
public bool AreColumnTitlesVisible();

Показывает заголовки колонок, по умолчанию false. Лучше задавать до заполнения и измерения колонок. Ограничение: динамический показ после GetColumnWidth может оставить старый кэш ширины. Для пересчёта сохраните IsColumnClippingContent каждой колонки, переключите SetColumnClipContent на противоположное значение и верните сохранённое.

Возвращает bool

Показывает заголовки колонок, по умолчанию false. Лучше задавать до заполнения и измерения колонок. Ограничение: динамический показ после GetColumnWidth может оставить старый кэш ширины. Для пересчёта сохраните IsColumnClippingContent каждой колонки, переключите SetColumnClipContent на противоположное значение и верните сохранённое.

Clearvoid
# Clear
C#
public void Clear();

Немедленно удаляет корень и все присоединённые строки, сбрасывает выбранный и редактируемый элементы. Старые ссылки недействительны. Ранее отсоединённые поддеревья не удаляются. Во время мышиного выбора вызов запрещён.

CreateItemTreeItem
# CreateItem
C#
public TreeItem CreateItem(TreeItem parent = null, int index = -1);

Без parent первый вызов создаёт корень, последующие — его детей. С parent создаёт ребёнка указанной строки этого Tree. index < 0 добавляет в конец; индекс существующего ребёнка вставляет перед ним. Нельзя вызывать во время мышиного выбора.

Параметры
ИмяТипПо умолчанию
parentTreeItemnull
indexint-1
parent

Родитель из этого же Tree; null выбирает корень по правилам CreateItem.

index

Структурный индекс ребёнка. Для создания отрицательный добавляет в конец; для GetChild отрицательный отсчитывается с конца.

Возвращает TreeItem

Без parent первый вызов создаёт корень, последующие — его детей. С parent создаёт ребёнка указанной строки этого Tree. index < 0 добавляет в конец; индекс существующего ребёнка вставляет перед ним. Нельзя вызывать во время мышиного выбора.

DeselectAllvoid
# DeselectAll
C#
public void DeselectAll();

Снимает выбор со всех строк и сбрасывает курсор: GetSelected = null, GetSelectedColumn = -1. Не испускает CellSelected, ItemSelected или MultiSelected. Если модель должна отреагировать на программный сброс, обновите её явно.

EditSelected2 перегрузки
# EditSelected · 1/2
C#
public bool EditSelected();

Запускает действие редактирования ячейки курсора GetSelected/GetSelectedColumn. Сначала проверьте, что строка есть и принадлежит Tree. Без forceEdit требуется Editable. Check сразу переключает checked и испускает ItemEdited; Custom запрашивает собственный редактор и тоже испускает ItemEdited до изменения значения приложением. String/Range могут открыть встроенный редактор, Icon редактора не имеет. true означает обработанное действие/запуск редактора, не гарантированное сохранение нового значения. Перегрузка без аргументов использует false.

Возвращает bool

Запускает действие редактирования ячейки курсора GetSelected/GetSelectedColumn. Сначала проверьте, что строка есть и принадлежит Tree. Без forceEdit требуется Editable. Check сразу переключает checked и испускает ItemEdited; Custom запрашивает собственный редактор и тоже испускает ItemEdited до изменения значения приложением. String/Range могут открыть встроенный редактор, Icon редактора не имеет. true означает обработанное действие/запуск редактора, не гарантированное сохранение нового значения. Перегрузка без аргументов использует false.

# EditSelected · 2/2
C#
public bool EditSelected(bool forceEdit = false);

Запускает действие редактирования ячейки курсора GetSelected/GetSelectedColumn. Сначала проверьте, что строка есть и принадлежит Tree. Без forceEdit требуется Editable. Check сразу переключает checked и испускает ItemEdited; Custom запрашивает собственный редактор и тоже испускает ItemEdited до изменения значения приложением. String/Range могут открыть встроенный редактор, Icon редактора не имеет. true означает обработанное действие/запуск редактора, не гарантированное сохранение нового значения. Перегрузка без аргументов использует false.

Параметры
ИмяТипПо умолчанию
forceEditboolfalse
forceEdit

Разрешить действие даже при Editable = false; не означает принудительное сохранение нового значения.

Возвращает bool

Запускает действие редактирования ячейки курсора GetSelected/GetSelectedColumn. Сначала проверьте, что строка есть и принадлежит Tree. Без forceEdit требуется Editable. Check сразу переключает checked и испускает ItemEdited; Custom запрашивает собственный редактор и тоже испускает ItemEdited до изменения значения приложением. String/Range могут открыть встроенный редактор, Icon редактора не имеет. true означает обработанное действие/запуск редактора, не гарантированное сохранение нового значения. Перегрузка без аргументов использует false.

EnsureCursorIsVisiblevoid
# EnsureCursorIsVisible
C#
public void EnsureCursorIsVisible();

Прокручивает к текущей ячейке курсора. Без курсора ничего не делает; не собирает и не прокручивает весь набор Multi. Часть обновления может быть отложена до следующего кадра. Не раскрывает скрытых родителей и не включает Visible.

GetAllowReselectbool
# GetAllowReselect
C#
public bool GetAllowReselect();

Разрешает повторное уведомление при выборе уже выбранной ячейки/строки через обработку выбора. Не включает Multi и не делает программный TreeItem.Select в Multi источником сигналов.

Возвращает bool

Разрешает повторное уведомление при выборе уже выбранной ячейки/строки через обработку выбора. Не включает Multi и не делает программный TreeItem.Select в Multi источником сигналов.

GetAllowRmbSelectbool
# GetAllowRmbSelect
C#
public bool GetAllowRmbSelect();

Разрешает выбор строки правой кнопкой мыши. Это политика ввода: она не открывает контекстное меню, не меняет SelectMode и не ограничивает программный выбор.

Возвращает bool

Разрешает выбор строки правой кнопкой мыши. Это политика ввода: она не открывает контекстное меню, не меняет SelectMode и не ограничивает программный выбор.

GetAllowSearchbool
# GetAllowSearch
C#
public bool GetAllowSearch();

Разрешает клавиатурный поиск по началу исходной подписи без учёта регистра. Это переход по строкам, не фильтрация данных и не поле поиска. В Multi поиск перемещает только курсор, не добавляя строку к выбору. Интервал набора задаёт gui/timers/incremental_search_max_interval_msec.

Возвращает bool

Разрешает клавиатурный поиск по началу исходной подписи без учёта регистра. Это переход по строкам, не фильтрация данных и не поле поиска. В Multi поиск перемещает только курсор, не добавляя строку к выбору. Интервал набора задаёт gui/timers/incremental_search_max_interval_msec.

GetButtonIdAtPositionint
# GetButtonIdAtPosition
C#
public int GetButtonIdAtPosition(Vector2 position);

ID кнопки в локальной позиции Tree либо -1 при отсутствии попадания. Координаты не экранные и не локальные для TreeItem. Возвращает ID, не индекс; зависит от текущей раскладки строк.

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

Позиция в локальных координатах контрола Tree.

Возвращает int

ID кнопки в локальной позиции Tree либо -1 при отсутствии попадания. Координаты не экранные и не локальные для TreeItem. Возвращает ID, не индекс; зависит от текущей раскладки строк.

GetColumnAtPositionint
# GetColumnAtPosition
C#
public int GetColumnAtPosition(Vector2 position);

Индекс колонки под строкой в локальной позиции Tree; -1, если подходящей строки нет. Это поиск по содержимому, не универсальный hit-test заголовков.

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

Позиция в локальных координатах контрола Tree.

Возвращает int

Индекс колонки под строкой в локальной позиции Tree; -1, если подходящей строки нет. Это поиск по содержимому, не универсальный hit-test заголовков.

GetColumnExpandRatioint
# GetColumnExpandRatio
C#
public int GetColumnExpandRatio(int column);

Сохранённый целочисленный вес расширения. Не возвращает процент ширины или отношение итоговых размеров колонок.

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

Индекс колонки от 0 до Columns - 1.

Возвращает int

Сохранённый целочисленный вес расширения. Не возвращает процент ширины или отношение итоговых размеров колонок.

GetColumnTitlestring
# GetColumnTitle
C#
public string GetColumnTitle(int column);

Исходная строка заголовка, не её автоматически переведённое отображение.

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

Индекс колонки от 0 до Columns - 1.

Возвращает string

Исходная строка заголовка, не её автоматически переведённое отображение.

GetColumnTitleAlignmentHorizontalAlignment
# GetColumnTitleAlignment
C#
public HorizontalAlignment GetColumnTitleAlignment(int column);

Сохранённое выравнивание заголовка, по умолчанию Center. Настройки ячеек строк независимы.

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

Индекс колонки от 0 до Columns - 1.

Возвращает HorizontalAlignment

Сохранённое выравнивание заголовка, по умолчанию Center. Настройки ячеек строк независимы.

GetColumnTitleDirectionControl.TextDirection
# GetColumnTitleDirection
C#
public Control.TextDirection GetColumnTitleDirection(int column);

Сохранённое направление письма заголовка. Inherited — наследование от Tree, а не уже вычисленное направление.

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

Индекс колонки от 0 до Columns - 1.

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

Сохранённое направление письма заголовка. Inherited — наследование от Tree, а не уже вычисленное направление.

GetColumnTitleLanguagestring
# GetColumnTitleLanguage
C#
public string GetColumnTitleLanguage(int column);

Сохранённая языковая подсказка заголовка, не текущая локаль приложения.

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

Индекс колонки от 0 до Columns - 1.

Возвращает string

Сохранённая языковая подсказка заголовка, не текущая локаль приложения.

GetColumnTitleTooltipTextstring
# GetColumnTitleTooltipText
C#
public string GetColumnTitleTooltipText(int column);

Сохранённая явная подсказка заголовка; пустая строка не означает отсутствие любой подсказки Control.

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

Индекс колонки от 0 до Columns - 1.

Возвращает string

Сохранённая явная подсказка заголовка; пустая строка не означает отсутствие любой подсказки Control.

GetColumnWidthint
# GetColumnWidth
C#
public int GetColumnWidth(int column);

Текущая вычисленная ширина колонки: минимум плюс доля свободного места при Expand. Зависит от размера Tree, темы, видимых строк и заголовка; не равна обязательно CustomMinimumWidth. Запрашивайте после настройки размеров и содержимого.

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

Индекс колонки от 0 до Columns - 1.

Возвращает int

Текущая вычисленная ширина колонки: минимум плюс доля свободного места при Expand. Зависит от размера Tree, темы, видимых строк и заголовка; не равна обязательно CustomMinimumWidth. Запрашивайте после настройки размеров и содержимого.

GetColumnsint
# GetColumns
C#
public int GetColumns();

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

Возвращает int

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

GetCustomDrawingCanvasItemRid
# GetCustomDrawingCanvasItem
C#
public Rid GetCustomDrawingCanvasItem();

Возвращает принадлежащий Tree RID для пользовательского рисования внутри callback ячейки. Не освобождайте его через RenderingServer и не используйте после удаления Tree. Это не отдельный CanvasItem Entity и не разрешение рисовать вне цикла отрисовки.

Возвращает Rid

Возвращает принадлежащий Tree RID для пользовательского рисования внутри callback ячейки. Не освобождайте его через RenderingServer и не используйте после удаления Tree. Это не отдельный CanvasItem Entity и не разрешение рисовать вне цикла отрисовки.

GetCustomPopupRectRect2
# GetCustomPopupRect
C#
public Rect2 GetCustomPopupRect();

Последняя область для размещения собственного редактора Custom, в глобальных координатах интерфейса Tree. Это не автоматически экранные координаты внешнего Window; учитывайте CanvasLayer, преобразования и встраивание окна. Читайте при CustomPopupEdited после актуальной раскладки, не используйте как постоянную геометрию строки.

Возвращает Rect2

Последняя область для размещения собственного редактора Custom, в глобальных координатах интерфейса Tree. Это не автоматически экранные координаты внешнего Window; учитывайте CanvasLayer, преобразования и встраивание окна. Читайте при CustomPopupEdited после актуальной раскладки, не используйте как постоянную геометрию строки.

GetDropModeFlagsint
# GetDropModeFlags
C#
public int GetDropModeFlags();

Зоны назначения перетаскивания: 0 — выключены, OnItem (1) — на строку, Inbetween (2) — между строками, 3 — оба варианта. Управляет расчётом/подсветкой цели, а не переносом данных. Реализуйте проверку и изменение модели в drag-and-drop обработчиках; учитывайте SetAcceptChildren и запрет циклов.

Возвращает int

Зоны назначения перетаскивания: 0 — выключены, OnItem (1) — на строку, Inbetween (2) — между строками, 3 — оба варианта. Управляет расчётом/подсветкой цели, а не переносом данных. Реализуйте проверку и изменение модели в drag-and-drop обработчиках; учитывайте SetAcceptChildren и запрет циклов.

GetDropSectionAtPositionint
# GetDropSectionAtPosition
C#
public int GetDropSectionAtPosition(Vector2 position);

Зона переноса в локальной позиции Tree: -100 — нет цели, -1 — сосед выше, 0 — на строку/последний ребёнок, 1 — сосед ниже, 2 — первый ребёнок существующей ветви. Значение 2 действительно используется при комбинированных зонах; не ограничивайте обработчик -1/0/1. Нужны включённые DropModeFlags; результат не подтверждает допустимость данных модели.

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

Позиция в локальных координатах контрола Tree.

Возвращает int

Зона переноса в локальной позиции Tree: -100 — нет цели, -1 — сосед выше, 0 — на строку/последний ребёнок, 1 — сосед ниже, 2 — первый ребёнок существующей ветви. Значение 2 действительно используется при комбинированных зонах; не ограничивайте обработчик -1/0/1. Нужны включённые DropModeFlags; результат не подтверждает допустимость данных модели.

GetEditedTreeItem
# GetEdited
C#
public TreeItem GetEdited();

Строка последнего контекста редактирования, либо null после очистки/удаления. Не равна обязательно GetSelected. В Custom контекст устанавливается ещё при запросе собственного редактора. Сначала проверьте эту ссылку, затем используйте GetEditedColumn.

Возвращает TreeItem

Строка последнего контекста редактирования, либо null после очистки/удаления. Не равна обязательно GetSelected. В Custom контекст устанавливается ещё при запросе собственного редактора. Сначала проверьте эту ссылку, затем используйте GetEditedColumn.

GetEditedColumnint
# GetEditedColumn
C#
public int GetEditedColumn();

Колонка последнего контекста редактирования, не текущего курсора. Clear сбрасывает GetEdited, но может сохранить прежний номер колонки. Используйте его только вместе с ненулевым действительным GetEdited и текущим Columns.

Возвращает int

Колонка последнего контекста редактирования, не текущего курсора. Clear сбрасывает GetEdited, но может сохранить прежний номер колонки. Используйте его только вместе с ненулевым действительным GetEdited и текущим Columns.

GetItemAreaRectRect2
# GetItemAreaRect
C#
public Rect2 GetItemAreaRect(TreeItem item, int column = -1, int buttonIndex = -1);

Вычисленная область строки в локальных координатах Tree; column = -1 — вся строка, иначе одна колонка. Для buttonIndex задайте колонку и неотрицательный индекс кнопки, не ID. Требует строки этого Tree. Результат не гарантирует видимость в области прокрутки; для скрытой/свёрнутой ветви сначала восстановите нужную видимость и раскладку.

Параметры
ИмяТипПо умолчанию
itemTreeItem—
columnint-1
buttonIndexint-1
item

Действительная строка этого Tree.

column

Колонка или -1 для всей строки.

buttonIndex

Неотрицательный индекс кнопки, не ID; -1 для обычной области строки/ячейки.

Возвращает Rect2

Вычисленная область строки в локальных координатах Tree; column = -1 — вся строка, иначе одна колонка. Для buttonIndex задайте колонку и неотрицательный индекс кнопки, не ID. Требует строки этого Tree. Результат не гарантирует видимость в области прокрутки; для скрытой/свёрнутой ветви сначала восстановите нужную видимость и раскладку.

GetItemAtPositionTreeItem
# GetItemAtPosition
C#
public TreeItem GetItemAtPosition(Vector2 position);

Строка в локальной позиции Tree или null, если строка не найдена. Учитывает текущую прокрутку и раскладку; передавайте координату контрола, не экрана. Возвращённая строка принадлежит Tree.

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

Позиция в локальных координатах контрола Tree.

Возвращает TreeItem

Строка в локальной позиции Tree или null, если строка не найдена. Учитывает текущую прокрутку и раскладку; передавайте координату контрола, не экрана. Возвращённая строка принадлежит Tree.

GetNextSelectedTreeItem
# GetNextSelected
C#
public TreeItem GetNextSelected(TreeItem from);

Возвращает следующую строку с внутренним флагом выбора хотя бы в одной колонке. Начните с null, затем передавайте предыдущий результат; конец — null. Обходит структурный порядок, включая скрытый корень и свёрнутые ветви. Читает сохранённые флаги даже у Selectable = false; для доступных выбранных ячеек дополнительно проверяйте IsSelected по колонкам.

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

Предыдущая найденная строка; null начинает обход с корня.

Возвращает TreeItem

Возвращает следующую строку с внутренним флагом выбора хотя бы в одной колонке. Начните с null, затем передавайте предыдущий результат; конец — null. Обходит структурный порядок, включая скрытый корень и свёрнутые ветви. Читает сохранённые флаги даже у Selectable = false; для доступных выбранных ячеек дополнительно проверяйте IsSelected по колонкам.

GetPressedButtonint
# GetPressedButton
C#
public int GetPressedButton();

Сохранённый индекс кнопки последнего обработанного нажатия, либо -1. Это индекс в колонке, не ID команды и не универсальная проверка «кнопка сейчас удерживается». Для команды в обработчике используйте id из ButtonClicked.

Возвращает int

Сохранённый индекс кнопки последнего обработанного нажатия, либо -1. Это индекс в колонке, не ID команды и не универсальная проверка «кнопка сейчас удерживается». Для команды в обработчике используйте id из ButtonClicked.

GetRootTreeItem
# GetRoot
C#
public TreeItem GetRoot();

Возвращает структурный корень даже при HideRoot = true; null до первого CreateItem и после Clear. Результат принадлежит Tree.

Возвращает TreeItem

Возвращает структурный корень даже при HideRoot = true; null до первого CreateItem и после Clear. Результат принадлежит Tree.

GetScrollVector2
# GetScroll
C#
public Vector2 GetScroll();

Текущее смещение прокрутки в пикселях. Для оси с невидимой полосой возвращает 0. Это не позиция Tree и не индекс первой видимой строки.

Возвращает Vector2

Текущее смещение прокрутки в пикселях. Для оси с невидимой полосой возвращает 0. Это не позиция Tree и не индекс первой видимой строки.

GetScrollHintModeTree.ScrollHintModeEnum
# GetScrollHintMode
C#
public Tree.ScrollHintModeEnum GetScrollHintMode();

Настраивает визуальные подсказки скрытого содержимого сверху/снизу: Disabled, Both, Top или Bottom. Не включает прокрутку и не меняет её величину.

Возвращает Tree.ScrollHintModeEnum

Настраивает визуальные подсказки скрытого содержимого сверху/снизу: Disabled, Both, Top или Bottom. Не включает прокрутку и не меняет её величину.

GetSelectModeTree.SelectModeEnum
# GetSelectMode
C#
public Tree.SelectModeEnum GetSelectMode();

Single выбирает одну ячейку, Row — доступные для выбора ячейки одной строки, Multi позволяет накапливать выбор. Смена режима не очищает и не нормализует старые флаги: перед сменой вызовите DeselectAll. В Multi курсор GetSelected не равен всему набору выбора.

Возвращает Tree.SelectModeEnum

Single выбирает одну ячейку, Row — доступные для выбора ячейки одной строки, Multi позволяет накапливать выбор. Смена режима не очищает и не нормализует старые флаги: перед сменой вызовите DeselectAll. В Multi курсор GetSelected не равен всему набору выбора.

GetSelectedTreeItem
# GetSelected
C#
public TreeItem GetSelected();

Возвращает строку текущего курсора либо null. В Multi выбор может существовать без курсора, а курсор — стоять на уже снятой с выбора ячейке. Для набора выбранных строк обходите GetNextSelected. Результат принадлежит Tree.

Возвращает TreeItem

Возвращает строку текущего курсора либо null. В Multi выбор может существовать без курсора, а курсор — стоять на уже снятой с выбора ячейке. Для набора выбранных строк обходите GetNextSelected. Результат принадлежит Tree.

GetSelectedColumnint
# GetSelectedColumn
C#
public int GetSelectedColumn();

Колонка текущего курсора; после DeselectAll равна -1. В Multi не перечисляет выбранные колонки и не гарантирует IsSelected для этой ячейки.

Возвращает int

Колонка текущего курсора; после DeselectAll равна -1. В Multi не перечисляет выбранные колонки и не гарантирует IsSelected для этой ячейки.

IsAutoTooltipEnabledbool
# IsAutoTooltipEnabled
C#
public bool IsAutoTooltipEnabled();

Если у ячейки нет явной подсказки, использовать её подпись/значение как подсказку. Не генерирует описание для доступности и не заменяет отдельные подсказки кнопок действий. Для отключения этого поведения задайте false; одной пустой подсказки строки недостаточно.

Возвращает bool

Если у ячейки нет явной подсказки, использовать её подпись/значение как подсказку. Не генерирует описание для доступности и не заменяет отдельные подсказки кнопок действий. Для отключения этого поведения задайте false; одной пустой подсказки строки недостаточно.

IsColumnClippingContentbool
# IsColumnClippingContent
C#
public bool IsColumnClippingContent(int column);

Установленная политика исключения содержимого строк из расчёта минимума. Не сообщает, действительно ли конкретная подпись сейчас обрезана.

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

Индекс колонки от 0 до Columns - 1.

Возвращает bool

Установленная политика исключения содержимого строк из расчёта минимума. Не сообщает, действительно ли конкретная подпись сейчас обрезана.

IsColumnExpandingbool
# IsColumnExpanding
C#
public bool IsColumnExpanding(int column);

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

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

Индекс колонки от 0 до Columns - 1.

Возвращает bool

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

IsDragUnfoldingEnabledbool
# IsDragUnfoldingEnabled
C#
public bool IsDragUnfoldingEnabled();

Разрешает раскрытие ветви при задержке перетаскиваемого элемента над ней. Не создаёт данные перетаскивания и не выполняет перенос модели. Отключение останавливает ожидающий таймер раскрытия.

Возвращает bool

Разрешает раскрытие ветви при задержке перетаскиваемого элемента над ней. Не создаёт данные перетаскивания и не выполняет перенос модели. Отключение останавливает ожидающий таймер раскрытия.

IsFoldingHiddenbool
# IsFoldingHidden
C#
public bool IsFoldingHidden();

Скрывает обычное управление сворачиванием во всём Tree. Не раскрывает ветви и не запрещает программные Collapsed/SetCollapsedRecursive. Состояние ветвей задавайте отдельно.

Возвращает bool

Скрывает обычное управление сворачиванием во всём Tree. Не раскрывает ветви и не запрещает программные Collapsed/SetCollapsedRecursive. Состояние ветвей задавайте отдельно.

IsHScrollEnabledbool
# IsHScrollEnabled
C#
public bool IsHScrollEnabled();

Разрешает горизонтальную прокрутку. При false минимум ширины Tree учитывает содержимое, поэтому контейнер может растянуть контрол. Это не фиксирование ширины колонок и не управление вертикальной прокруткой.

Возвращает bool

Разрешает горизонтальную прокрутку. При false минимум ширины Tree учитывает содержимое, поэтому контейнер может растянуть контрол. Это не фиксирование ширины колонок и не управление вертикальной прокруткой.

IsRecursiveFoldingEnabledbool
# IsRecursiveFoldingEnabled
C#
public bool IsRecursiveFoldingEnabled();

Разрешает рекурсивное сворачивание/раскрытие через пользовательский жест с Shift. Не запрещает SetCollapsedRecursive из кода.

Возвращает bool

Разрешает рекурсивное сворачивание/раскрытие через пользовательский жест с Shift. Не запрещает SetCollapsedRecursive из кода.

IsRootHiddenbool
# IsRootHidden
C#
public bool IsRootHidden();

Скрывает отображение корня, сохраняя сам корень и его детей. Подходит для плоского списка с общим скрытым родителем. Не удаляет строку и не меняет GetRoot.

Возвращает bool

Скрывает отображение корня, сохраняя сам корень и его детей. Подходит для плоского списка с общим скрытым родителем. Не удаляет строку и не меняет GetRoot.

IsScrollHintTiledbool
# IsScrollHintTiled
C#
public bool IsScrollHintTiled();

Повторять текстуру подсказки прокрутки вместо растягивания. Это оформление hint, не циклическая прокрутка списка.

Возвращает bool

Повторять текстуру подсказки прокрутки вместо растягивания. Это оформление hint, не циклическая прокрутка списка.

IsVScrollEnabledbool
# IsVScrollEnabled
C#
public bool IsVScrollEnabled();

Разрешает вертикальную прокрутку. При false минимум высоты Tree учитывает содержимое, поэтому контейнер может растянуть контрол. Горизонтальная прокрутка настраивается отдельно.

Возвращает bool

Разрешает вертикальную прокрутку. При false минимум высоты Tree учитывает содержимое, поэтому контейнер может растянуть контрол. Горизонтальная прокрутка настраивается отдельно.

ScrollToItemvoid
# ScrollToItem
C#
public void ScrollToItem(TreeItem item, bool centerOnItem = false);

Прокручивает к строке, не выбирая её и не раскрывая родителей. item должен принадлежать этому Tree. Перед вызовом раскройте нужную цепочку и настройте размеры контрола; centerOnItem пытается центрировать по вертикали в пределах доступной прокрутки.

Параметры
ИмяТипПо умолчанию
itemTreeItem—
centerOnItemboolfalse
item

Действительная строка этого Tree.

centerOnItem

Пытаться центрировать строку по вертикали; не меняет выбор.

SetAllowReselectvoid
# SetAllowReselect
C#
public void SetAllowReselect(bool allow);

Разрешает повторное уведомление при выборе уже выбранной ячейки/строки через обработку выбора. Не включает Multi и не делает программный TreeItem.Select в Multi источником сигналов.

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

Разрешить соответствующую политику повторного выбора или правой кнопки мыши.

SetAllowRmbSelectvoid
# SetAllowRmbSelect
C#
public void SetAllowRmbSelect(bool allow);

Разрешает выбор строки правой кнопкой мыши. Это политика ввода: она не открывает контекстное меню, не меняет SelectMode и не ограничивает программный выбор.

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

Разрешить соответствующую политику повторного выбора или правой кнопки мыши.

SetAllowSearchvoid
# SetAllowSearch
C#
public void SetAllowSearch(bool allow);

Разрешает клавиатурный поиск по началу исходной подписи без учёта регистра. Это переход по строкам, не фильтрация данных и не поле поиска. В Multi поиск перемещает только курсор, не добавляя строку к выбору. Интервал набора задаёт gui/timers/incremental_search_max_interval_msec.

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

Разрешить клавиатурный поиск-переход без фильтрации строк.

SetAutoTooltipvoid
# SetAutoTooltip
C#
public void SetAutoTooltip(bool enable);

Если у ячейки нет явной подсказки, использовать её подпись/значение как подсказку. Не генерирует описание для доступности и не заменяет отдельные подсказки кнопок действий. Для отключения этого поведения задайте false; одной пустой подсказки строки недостаточно.

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

Автоматическая подсказка из значения ячейки при отсутствии явной.

SetColumnClipContentvoid
# SetColumnClipContent
C#
public void SetColumnClipContent(int column, bool enable);

Разрешает не учитывать содержимое строк при вычислении минимальной ширины колонки. Не исключает минимум видимого заголовка и не отключает Expand. При false полная ширина текста учитывается только для ячеек с TextOverrunBehavior = NoTrimming; обрезаемый текст сам не заставляет колонку вместить всю подпись.

Параметры
ИмяТипПо умолчанию
columnint—
enablebool—
column

Индекс колонки от 0 до Columns - 1.

enable

Исключить содержимое строк из расчёта минимальной ширины.

SetColumnCustomMinimumWidthvoid
# SetColumnCustomMinimumWidth
C#
public void SetColumnCustomMinimumWidth(int column, int minWidth);

Задаёт неотрицательный минимум ширины колонки в пикселях, не фиксированную ширину. Заголовок, содержимое и Expand могут сделать её шире. Отрицательное значение игнорируется; 0 снимает локальный минимум. Для колонки заданной ширины также отключите Expand и настройте ClipContent.

Параметры
ИмяТипПо умолчанию
columnint—
minWidthint—
column

Индекс колонки от 0 до Columns - 1.

minWidth

Неотрицательный минимум в пикселях; 0 снимает локальный минимум, отрицательные значения игнорируются.

SetColumnExpandvoid
# SetColumnExpand
C#
public void SetColumnExpand(int column, bool expand);

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

Параметры
ИмяТипПо умолчанию
columnint—
expandbool—
column

Индекс колонки от 0 до Columns - 1.

expand

Разрешить распределение свободного места на эту колонку.

SetColumnExpandRatiovoid
# SetColumnExpandRatio
C#
public void SetColumnExpandRatio(int column, int ratio);

Задаёт относительный вес расширяемой колонки, по умолчанию 1. Вес 1:2 делит дополнительное место, а не итоговую ширину. Используйте положительные целые значения: 0 и отрицательные технически сохраняются без проверки и могут дать нежелательный расчёт. На колонку с Expand = false вес не влияет.

Параметры
ИмяТипПо умолчанию
columnint—
ratioint—
column

Индекс колонки от 0 до Columns - 1.

ratio

Положительный целочисленный вес дополнительной ширины.

SetColumnTitlevoid
# SetColumnTitle
C#
public void SetColumnTitle(int column, string title);

Задаёт исходный заголовок колонки и обновляет его текстовый расчёт. Отображение использует перевод Tree; GetColumnTitle остаётся исходной строкой. Сам setter не включает заголовки и не сортирует строки.

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

Индекс колонки от 0 до Columns - 1.

title

Исходный заголовок; для перевода добавьте его в каталог приложения.

SetColumnTitleAlignmentvoid
# SetColumnTitleAlignment
C#
public void SetColumnTitleAlignment(int column, HorizontalAlignment titleAlignment);

Выравнивает текст заголовка: Left, Center или Right. Fill не поддерживается и вызывает предупреждение; не используйте его. Не меняет направление письма или выравнивание строк данных.

Параметры
ИмяТипПо умолчанию
columnint—
titleAlignmentHorizontalAlignment—
column

Индекс колонки от 0 до Columns - 1.

titleAlignment

Left, Center или Right; Fill не поддерживается.

SetColumnTitleDirectionvoid
# SetColumnTitleDirection
C#
public void SetColumnTitleDirection(int column, Control.TextDirection direction);

Задаёт базовое направление письма заголовка. Inherited следует раскладке Tree. Не меняет исходный GetColumnTitle, порядок колонок или направление текста в строках данных.

Параметры
ИмяТипПо умолчанию
columnint—
directionControl.TextDirection—
column

Индекс колонки от 0 до Columns - 1.

direction

Базовое направление письма заголовка.

SetColumnTitleLanguagevoid
# SetColumnTitleLanguage
C#
public void SetColumnTitleLanguage(int column, string language);

Языковая подсказка формирования текста заголовка, например ar. Пустая строка использует локаль по умолчанию. Не переводит текст и не переключает язык приложения.

Параметры
ИмяТипПо умолчанию
columnint—
languagestring—
column

Индекс колонки от 0 до Columns - 1.

language

Языковая подсказка формирования текста, не перевод заголовка.

SetColumnTitleTooltipTextvoid
# SetColumnTitleTooltipText
C#
public void SetColumnTitleTooltipText(int column, string tooltipText);

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

Параметры
ИмяТипПо умолчанию
columnint—
tooltipTextstring—
column

Индекс колонки от 0 до Columns - 1.

tooltipText

Явная подсказка заголовка или пустая строка для поведения Control.

SetColumnTitlesVisiblevoid
# SetColumnTitlesVisible
C#
public void SetColumnTitlesVisible(bool visible);

Показывает заголовки колонок, по умолчанию false. Лучше задавать до заполнения и измерения колонок. Ограничение: динамический показ после GetColumnWidth может оставить старый кэш ширины. Для пересчёта сохраните IsColumnClippingContent каждой колонки, переключите SetColumnClipContent на противоположное значение и верните сохранённое.

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

Показать заголовки; при динамической смене учитывайте кэш измеренной ширины.

SetColumnsvoid
# SetColumns
C#
public void SetColumns(int amount);

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

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

Новое число колонок, не меньше 1.

SetDropModeFlagsvoid
# SetDropModeFlags
C#
public void SetDropModeFlags(int flags);

Зоны назначения перетаскивания: 0 — выключены, OnItem (1) — на строку, Inbetween (2) — между строками, 3 — оба варианта. Управляет расчётом/подсветкой цели, а не переносом данных. Реализуйте проверку и изменение модели в drag-and-drop обработчиках; учитывайте SetAcceptChildren и запрет циклов.

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

0, OnItem (1), Inbetween (2) или их объединение 3.

SetEnableDragUnfoldingvoid
# SetEnableDragUnfolding
C#
public void SetEnableDragUnfolding(bool enable);

Разрешает раскрытие ветви при задержке перетаскиваемого элемента над ней. Не создаёт данные перетаскивания и не выполняет перенос модели. Отключение останавливает ожидающий таймер раскрытия.

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

Разрешить раскрытие ветви при удержании перетаскиваемого элемента над ней.

SetEnableRecursiveFoldingvoid
# SetEnableRecursiveFolding
C#
public void SetEnableRecursiveFolding(bool enable);

Разрешает рекурсивное сворачивание/раскрытие через пользовательский жест с Shift. Не запрещает SetCollapsedRecursive из кода.

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

Разрешить рекурсивный жест сворачивания.

SetHScrollEnabledvoid
# SetHScrollEnabled
C#
public void SetHScrollEnabled(bool hScroll);

Разрешает горизонтальную прокрутку. При false минимум ширины Tree учитывает содержимое, поэтому контейнер может растянуть контрол. Это не фиксирование ширины колонок и не управление вертикальной прокруткой.

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

Разрешить горизонтальную прокрутку.

SetHideFoldingvoid
# SetHideFolding
C#
public void SetHideFolding(bool hide);

Скрывает обычное управление сворачиванием во всём Tree. Не раскрывает ветви и не запрещает программные Collapsed/SetCollapsedRecursive. Состояние ветвей задавайте отдельно.

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

Скрыть обычное управление сворачиванием, сохранив состояние ветвей.

SetHideRootvoid
# SetHideRoot
C#
public void SetHideRoot(bool enable);

Скрывает отображение корня, сохраняя сам корень и его детей. Подходит для плоского списка с общим скрытым родителем. Не удаляет строку и не меняет GetRoot.

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

true скрывает корень, сохраняя его структуру.

SetScrollHintModevoid
# SetScrollHintMode
C#
public void SetScrollHintMode(Tree.ScrollHintModeEnum scrollHintMode);

Настраивает визуальные подсказки скрытого содержимого сверху/снизу: Disabled, Both, Top или Bottom. Не включает прокрутку и не меняет её величину.

Параметры
ИмяТипПо умолчанию
scrollHintModeTree.ScrollHintModeEnum—
scrollHintMode

Disabled, Both, Top или Bottom — визуальные подсказки вертикального скрытого содержимого.

SetSelectModevoid
# SetSelectMode
C#
public void SetSelectMode(Tree.SelectModeEnum mode);

Single выбирает одну ячейку, Row — доступные для выбора ячейки одной строки, Multi позволяет накапливать выбор. Смена режима не очищает и не нормализует старые флаги: перед сменой вызовите DeselectAll. В Multi курсор GetSelected не равен всему набору выбора.

Параметры
ИмяТипПо умолчанию
modeTree.SelectModeEnum—
mode

Single, Row или Multi. Перед сменой очистите прежний выбор через DeselectAll.

SetSelectedvoid
# SetSelected
C#
public void SetSelected(TreeItem item, int column);

Выбирает указанную ячейку проходом одиночного выбора даже в Multi: прежние флаги обходящихся строк снимаются. Может испускать CellSelected, ItemSelected или MultiSelected. Скрытые поддеревья проход пропускает; для гарантированного сброса всех строк сначала DeselectAll. item должен принадлежать этому Tree; null не очищает выбор.

Параметры
ИмяТипПо умолчанию
itemTreeItem—
columnint—
item

Строка этого Tree; в MultiSelected — строка изменяемой ячейки. Не освобождайте полученную из сигнала строку во время обработки ввода.

column

Индекс колонки от 0 до Tree.Columns - 1.

SetTileScrollHintvoid
# SetTileScrollHint
C#
public void SetTileScrollHint(bool tileScrollHint);

Повторять текстуру подсказки прокрутки вместо растягивания. Это оформление hint, не циклическая прокрутка списка.

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

Повторять текстуру подсказки вместо растягивания.

SetVScrollEnabledvoid
# SetVScrollEnabled
C#
public void SetVScrollEnabled(bool hScroll);

Разрешает вертикальную прокрутку. При false минимум высоты Tree учитывает содержимое, поэтому контейнер может растянуть контрол. Горизонтальная прокрутка настраивается отдельно.

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

Разрешить вертикальную прокрутку; имя hScroll в этом методе историческое.

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

ButtonClickedСобытие
# ButtonClicked
C#
public event Tree.ButtonClickedEventHandler ButtonClicked;

Активация кнопки действия: item, column, ID команды и кнопка мыши. Аргумент id — сохранённый ID, не индекс. Для изменения кнопки сначала GetButtonById; проверяйте -1. Активация с клавиатуры также может приходить с MouseButton.Left, поэтому не определяйте источник ввода только по последнему аргументу.

Параметры обработчика
ИмяТипПо умолчанию
itemTreeItem—
columnlong—
idlong—
mouseButtonIndexlong—
item

Строка Tree с активированной кнопкой; принадлежит дереву.

column

Индекс колонки от 0 до Tree.Columns - 1.

id

ID активированной команды, не индекс кнопки.

mouseButtonIndex

Кнопка мыши; клавиатурная активация тоже может передавать Left.

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

Курсор/выбор ячейки изменён через путь выбора, в том числе программный SetSelected. Не является универсальным уведомлением любого изменения флагов: Multi Select, Deselect и DeselectAll могут работать без него.

CheckPropagatedToItemСобытие
# CheckPropagatedToItem
C#
public event Tree.CheckPropagatedToItemEventHandler CheckPropagatedToItem;

Уведомление обхода PropagateCheck(..., true): исходная строка, потомки в глубину, затем родители снизу вверх. Приходит и при неизменном значении. В обработчике читайте IsChecked/IsIndeterminate указанной ячейки; итоговую сводку всего дерева собирайте после окончания обхода. Это не ItemEdited и не автоматическая реакция на SetChecked.

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

Посещённая строка, принадлежащая Tree; не освобождайте её во время обхода.

column

Индекс колонки от 0 до Tree.Columns - 1.

ColumnTitleClickedСобытие
# ColumnTitleClicked
C#
public event Tree.ColumnTitleClickedEventHandler ColumnTitleClicked;

Пользователь активировал заголовок указанной колонки кнопкой мыши. Tree не сортирует строки автоматически: храните направление сортировки в модели и перестройте порядок явно. Программная смена текста или оформления заголовка сигнал не испускает.

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

Индекс колонки от 0 до Columns - 1.

mouseButtonIndex

Кнопка мыши, активировавшая заголовок.

CustomItemClickedСобытие
# CustomItemClicked
C#
public event Tree.CustomItemClickedEventHandler CustomItemClicked;

Уведомление мышиного редактирования Custom после ItemEdited; передаётся кнопка мыши. Контекст — GetEdited/GetEditedColumn. Программный EditSelected не обязан испускать этот сигнал; не используйте его как универсальное событие применения значения.

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

Кнопка мыши этого пути ввода.

CustomPopupEditedСобытие
# CustomPopupEdited
C#
public event Tree.CustomPopupEditedEventHandler CustomPopupEdited;

Запрос собственного редактора ячейки Custom. Контекст уже доступен через GetEdited/GetEditedColumn, область — через GetCustomPopupRect. EditSelected передаёт arrowClicked = false и затем испускает ItemEdited. Окно и применение/отмена значения реализуются приложением.

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

Нажата ли стрелка Custom; программный EditSelected передаёт false.

EmptyClickedСобытие
# EmptyClicked
C#
public event Tree.EmptyClickedEventHandler EmptyClicked;

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

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

Позиция нажатия в локальных координатах Tree.

mouseButtonIndex

Кнопка мыши этого пути ввода.

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

Активация строки, например двойным нажатием или ui_accept, если действие не перехватил встроенный редактор/кнопка. Текущую строку читайте через GetSelected. Это отдельное действие от выбора, а не универсальное уведомление смены значения.

ItemCollapsedСобытие
# ItemCollapsed
C#
public event Tree.ItemCollapsedEventHandler ItemCollapsed;

Состояние Collapsed указанной строки изменилось, в том числе из кода и при раскрытии. Узнать направление изменения можно через item.IsCollapsed(). Повторная установка прежнего значения не уведомляет. Рекурсивный вызов даёт отдельные события по строкам, а не один итоговый снимок.

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

Строка с новым состоянием Collapsed, принадлежащая Tree. Не удаляйте её во время рекурсивного обхода.

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

Уведомление пути редактирования; контекст читайте через GetEdited/GetEditedColumn. Для Check значение уже переключено. Для Custom сигнал может прийти при запросе редактора, до изменения значения приложением: это не универсальный commit. Программные SetText, SetChecked, SetRange и PropagateCheck сами его не испускают.

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

Уведомление пути двойного нажатия на иконку/неотредактированную область строки. Не путайте с ButtonClicked отдельных кнопок действий или ItemActivated. В обработчике заново проверьте текущую строку и допустимость действия.

ItemMouseSelectedСобытие
# ItemMouseSelected
C#
public event Tree.ItemMouseSelectedEventHandler ItemMouseSelected;

Путь выбора мышью сообщает локальную позицию Tree и кнопку мыши. Не приходит от любого программного Select/SetSelected. Для модели выбора отдельно обрабатывайте сигналы выбора и свои программные операции.

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

Позиция мыши в локальных координатах Tree.

mouseButtonIndex

Кнопка мыши этого пути ввода.

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

Уведомление выбора в Single/Row, в том числе из кода. Текущую строку читайте через GetSelected. Не используйте как список всех изменений Multi или как событие снятия выбора.

MultiSelectedСобытие
# MultiSelected
C#
public event Tree.MultiSelectedEventHandler MultiSelected;

В Multi сообщает об установке или снятии флага указанной ячейки. Программный SetSelected может испускать его, TreeItem.Select/Deselect и DeselectAll — нет. При замене выбора уведомления идут во время обхода, поэтому сводный снимок всей модели лучше обновить после завершения операции.

Параметры обработчика
ИмяТипПо умолчанию
itemTreeItem—
columnlong—
selectedbool—
item

Строка этого Tree; в MultiSelected — строка изменяемой ячейки. Не освобождайте полученную из сигнала строку во время обработки ввода.

column

Индекс колонки от 0 до Tree.Columns - 1.

selected

true — установка флага, false — снятие. Это изменение одной ячейки, а не готовый снимок всего выбора.

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

Уведомление пути нажатия левой кнопкой по пустому месту без Shift и модификатора команды (Ctrl/Cmd). Не является универсальным сигналом «выбор стал пустым»: DeselectAll и программные снятия выбора его не испускают. Проверяйте фактический набор выбора отдельно.

Tree.DropModeFlagsEnum

ЗначениеОписание
Disabled = 0

Отключает все разделы сброса. Примечание: Это флаг по умолчанию, он не действует в сочетании с другими флагами.

Inbetween = 2

Включает разделы сброса «над элементом» и «под элементом». Раздел «над элементом» охватывает верхнюю половину элемента, а раздел «под элементом» охватывает нижнюю половину и расширяется вниз слева от любых дочерних элементов. В сочетании с Tree.DropModeFlagsEnum.OnItem эти разделы уменьшаются по высоте вдвое и остаются сверху и снизу соответственно.

OnItem = 1

Включает раздел сброса «на элементе». Этот раздел охватывает весь элемент. В сочетании с Tree.DropModeFlagsEnum.Inbetween этот раздел уменьшается по высоте вдвое и остаётся центрированным по вертикали.

Tree.ScrollHintModeEnum

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

Подсказки при прокрутке будут отображаться вверху и внизу.

Bottom = 3

Будет отображаться только подсказка прокрутки внизу экрана.

Disabled = 0

Подсказки при прокрутке никогда не будут отображаться.

Top = 2

Будет отображаться только подсказка прокрутки вверху.

Tree.SelectModeEnum

ЗначениеОписание
Multi = 2

Позволяет выбирать несколько ячеек одновременно. С точки зрения элементов, допускается выбор нескольких элементов. И в каждом выбранном элементе может быть выбрано несколько столбцов. Курсор фокуса виден в этом режиме, элемент или столбец под курсором не обязательно выбран.

Row = 1

Позволяет выбирать одну строку за раз. С точки зрения элементов, разрешено выбирать только один элемент. И все столбцы выбираются в выбранном элементе. Курсор фокуса всегда скрыт в этом режиме, но он располагается в первом столбце текущего выбора, делая текущий выбранный элемент текущим сфокусированным элементом.

Single = 0

Позволяет выбирать одну ячейку за раз. С точки зрения элементов, разрешено выбирать только один элемент. И в выбранном элементе выбран только один столбец. Курсор фокуса всегда скрыт в этом режиме, но он располагается на текущем выборе, делая текущий выбранный элемент текущим сфокусированным элементом.

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

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

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

Color линий связи между выбранным TreeItem и его дочерними элементами.

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

Color текста для ячейки режима TreeItem.TreeCellMode.Custom при наведении на нее курсора.

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

Color, используемый для рисования контура подсветки при перетаскивании элементов, которые можно сбросить только «на» другие элементы.

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

Color используется для рисования возможных мест сброса/перетаскивания. См. константы Tree.DropModeFlagsEnum для дальнейшего описания мест сброса.

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

Color текста элемента по умолчанию.

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

Color текста для ячейки режима TreeItem.TreeCellMode.Check, когда она нередактируема (см. TreeItem.SetEditable).

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

Color текста используемый, когда на элемент наведен курсор, но он еще не выбран.

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

Color текста, используемый при наведении курсора на элемент, при наведении курсора на кнопку того же элемента в то же время.

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

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

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

Оттенок текстового контура элемента.

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

Color текста, используемый при выборе элемента.

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

Color направляющей.

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

Color линий связи между выбранным TreeItem и его родителями.

##отношения_линия_цвета

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

Color по умолчанию для линий взаимоотношений.

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

Color используется для модуляции текстуры Tree.scroll_hint.

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

Color текста по умолчанию кнопки заголовка.

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

Горизонтальное расстояние между каждой кнопкой в ячейке.

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

Горизонтальное расстояние между флажком и текстом в ячейке режима TreeItem.TreeCellMode.Check.

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

Ширина линий связи между выбранным TreeItem и его дочерними элементами.

По умолчанию: 1
dragging_unfold_wait_msec
int

При перетаскивании элементов это время в миллисекундах, которое нужно подождать, пока элемент развернется.

По умолчанию: 500
draw_guides
int

Рисует направляющие, если не ноль, это действует как логическое значение. Направляющая представляет собой горизонтальную линию, нарисованную внизу каждого элемента.

По умолчанию: 1
draw_relationship_lines
int

Рисует линии отношений, если не ноль, это действует как логическое значение. Линии отношений рисуются в начале дочерних элементов, чтобы показать иерархию.

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

Горизонтальное пространство между ячейками элементов. Также используется как поле в начале элемента, когда сворачивание отключено.

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

Горизонтальное расстояние между значком и текстом в ячейках элемента.

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

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

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

Внутренний нижний край ячейки.

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

Внутренний левый край ячейки.

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

Внутренний правый край ячейки.

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

Внутреннее верхнее поле ячейки.

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

Горизонтальное поле в начале элемента. Используется, когда для элемента включено сворачивание.

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

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

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

Пространство между линиями родительских отношений для выбранного TreeItem и линиями отношений с его родственными элементами, которые не выбраны.

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

Ширина линий связи между выбранным TreeItem и его родителями.

##отношения_линия_width

По умолчанию: 1
relationship_line_width
int

Ширина линий отношений по умолчанию.

По умолчанию: 1
scroll_border
int

Максимальное расстояние между курсором мыши и границей элемента управления, при котором будет срабатывать прокрутка границы при перетаскивании.

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

Максимальное количество деревянных изделий, которые можно прилипнуть к верху, пока дети находятся в поле зрения. 0 отключается.

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

Скорость прокрутки границы.

По умолчанию: 12
scrollbar_h_separation
int

Горизонтальное разделение содержимого дерева и полосы прокрутки.

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

Нижнее поле полос прокрутки. При отрицательном значении используется нижнее поле Tree.panel.

По умолчанию: -1
scrollbar_margin_left
int

Левое поле горизонтальной полосы прокрутки. При отрицательном значении использует левое поле Tree.panel.

По умолчанию: -1
scrollbar_margin_right
int

Правое поле полос прокрутки. При отрицательном значении использует правое поле Tree.panel.

По умолчанию: -1
scrollbar_margin_top
int

Верхнее поле вертикальной полосы прокрутки. При отрицательном значении использует верхнее поле Tree.panel.

По умолчанию: -1
scrollbar_v_separation
int

Вертикальное разделение содержимого дерева и полосы прокрутки.

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

Вертикальный отступ внутри каждого элемента, т. е. расстояние между содержимым элемента и верхней/нижней границей.

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

Font текста элемента.

title_button_font
Font

Font текста кнопки заголовка.

font_size
int

Font размер текста пункта.

title_button_font_size
int

Font размер текста кнопки заголовка.

Стрела

arrow
Texture2D

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

arrow_collapsed
Texture2D

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

arrow_collapsed_mirrored
Texture2D

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

checked
Texture2D

Значок галочки, отображаемый, когда ячейка режима TreeItem.TreeCellMode.Check отмечена и доступна для редактирования (см. TreeItem.SetEditable).

checked_disabled
Texture2D

Значок галочки, отображаемый, когда ячейка режима TreeItem.TreeCellMode.Check отмечена и недоступна для редактирования (см. TreeItem.SetEditable).

indeterminate
Texture2D

Значок галочки, отображаемый, когда ячейка режима TreeItem.TreeCellMode.Check неопределена и доступна для редактирования (см. TreeItem.SetEditable).

indeterminate_disabled
Texture2D

Значок галочки, отображаемый, когда ячейка режима TreeItem.TreeCellMode.Check неопределена и недоступна для редактирования (см. TreeItem.SetEditable).

scroll_hint
Texture2D

Индикатор, который будет отображаться, когда контент еще можно прокручивать. См. Tree.ScrollHintMode.

select_arrow
Texture2D

Значок стрелки, отображаемый для ячейки режима TreeItem.TreeCellMode.Range.

unchecked
Texture2D

Значок галочки, отображаемый, когда ячейка режима TreeItem.TreeCellMode.Check не отмечена и доступна для редактирования (см. TreeItem.SetEditable).

unchecked_disabled
Texture2D

Значок галочки, отображаемый, когда ячейка режима TreeItem.TreeCellMode.Check не отмечена и недоступна для редактирования (см. TreeItem.SetEditable).

updown
Texture2D

Значок стрелки вверх-вниз, отображаемый для ячейки режима TreeItem.TreeCellMode.Range.

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

focus_sound
AudioStream

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

item_hovered_sound
AudioStream

Играл, когда вещь зависла.

item_selected_sound
AudioStream

Воспроизводится при выборе объекта.

button_hover
StyleBox

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

button_pressed
StyleBox

StyleBox используется при нажатии кнопки в дереве.

cursor
StyleBox

StyleBox используется для курсора, когда фокус находится на Tree.

cursor_unfocused
StyleBox

StyleBox используется для курсора, когда Tree не находится в фокусе.

custom_button
StyleBox

StyleBox по умолчанию для ячейки режима TreeItem.TreeCellMode.Custom, когда кнопка включена с помощью TreeItem.SetCustomAsButton.

custom_button_hover
StyleBox

StyleBox для ячейки кнопки режима TreeItem.TreeCellMode.Custom при наведении на нее курсора.

custom_button_pressed
StyleBox

StyleBox для ячейки кнопки режима TreeItem.TreeCellMode.Custom при нажатии.

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

focus
StyleBox

Сфокусированный стиль для Tree, нарисованного поверх всего.

hovered
StyleBox

StyleBox для элемента, на который наведен курсор, но который не выбран.

hovered_dimmed
StyleBox

StyleBox для элемента, на который наведен курсор, в то время как кнопка того же элемента наводится курсором в то же время.

hovered_selected
StyleBox

StyleBox для наведенных и выбранных элементов, используется, когда Tree не находится в фокусе.

hovered_selected_focus
StyleBox

StyleBox для наведенных и выбранных элементов, используется, когда фокус находится на Tree.

panel
StyleBox

Стиль фона для Tree.

selected
StyleBox

StyleBox для выбранных элементов, используется, когда Tree не находится в фокусе.

selected_focus
StyleBox

StyleBox для выбранных элементов, используется, когда фокус находится на Tree.

title_button_hover
StyleBox

StyleBox используется при наведении курсора на кнопку заголовка.

title_button_normal
StyleBox

StyleBox по умолчанию для кнопки заголовка.

title_button_pressed
StyleBox

StyleBox используется при нажатии кнопки заголовка.

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

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

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

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