Tree
Иерархический список с колонками и элементами TreeItem.
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Конструктор
public Tree();Создаёт пустой Tree с одной колонкой. Корня ещё нет; создайте его через CreateItem.
Свойства16
AllowReselectСвойство
public bool AllowReselect { get; set; }Разрешает повторное уведомление при выборе уже выбранной ячейки/строки через обработку выбора. Не включает Multi и не делает программный TreeItem.Select в Multi источником сигналов.
AllowRmbSelectСвойство
public bool AllowRmbSelect { get; set; }Разрешает выбор строки правой кнопкой мыши. Это политика ввода: она не открывает контекстное меню, не меняет SelectMode и не ограничивает программный выбор.
AllowSearchСвойство
public bool AllowSearch { get; set; }Разрешает клавиатурный поиск по началу исходной подписи без учёта регистра. Это переход по строкам, не фильтрация данных и не поле поиска. В Multi поиск перемещает только курсор, не добавляя строку к выбору. Интервал набора задаёт gui/timers/incremental_search_max_interval_msec.
AutoTooltipСвойство
public bool AutoTooltip { get; set; }Если у ячейки нет явной подсказки, использовать её подпись/значение как подсказку. Не генерирует описание для доступности и не заменяет отдельные подсказки кнопок действий. Для отключения этого поведения задайте false; одной пустой подсказки строки недостаточно.
ColumnTitlesVisibleСвойство
public bool ColumnTitlesVisible { get; set; }Показывает заголовки колонок, по умолчанию false. Лучше задавать до заполнения и измерения колонок. Ограничение: динамический показ после GetColumnWidth может оставить старый кэш ширины. Для пересчёта сохраните IsColumnClippingContent каждой колонки, переключите SetColumnClipContent на противоположное значение и верните сохранённое.
ColumnsСвойство
public int Columns { get; set; }Число колонок, не меньше 1; по умолчанию 1. Задавайте до заполнения. Уменьшение удаляет данные лишних ячеек во всех строках. Изменение во время мышиного выбора запрещено.
DropModeFlagsСвойство
public int DropModeFlags { get; set; }Зоны назначения перетаскивания: 0 — выключены, OnItem (1) — на строку, Inbetween (2) — между строками, 3 — оба варианта. Управляет расчётом/подсветкой цели, а не переносом данных. Реализуйте проверку и изменение модели в drag-and-drop обработчиках; учитывайте SetAcceptChildren и запрет циклов.
EnableDragUnfoldingСвойство
public bool EnableDragUnfolding { get; set; }Разрешает раскрытие ветви при задержке перетаскиваемого элемента над ней. Не создаёт данные перетаскивания и не выполняет перенос модели. Отключение останавливает ожидающий таймер раскрытия.
EnableRecursiveFoldingСвойство
public bool EnableRecursiveFolding { get; set; }Разрешает рекурсивное сворачивание/раскрытие через пользовательский жест с Shift. Не запрещает SetCollapsedRecursive из кода.
HideFoldingСвойство
public bool HideFolding { get; set; }Скрывает обычное управление сворачиванием во всём Tree. Не раскрывает ветви и не запрещает программные Collapsed/SetCollapsedRecursive. Состояние ветвей задавайте отдельно.
HideRootСвойство
public bool HideRoot { get; set; }Скрывает отображение корня, сохраняя сам корень и его детей. Подходит для плоского списка с общим скрытым родителем. Не удаляет строку и не меняет GetRoot.
ScrollHintModeСвойство
public Tree.ScrollHintModeEnum ScrollHintMode { get; set; }Настраивает визуальные подсказки скрытого содержимого сверху/снизу: Disabled, Both, Top или Bottom. Не включает прокрутку и не меняет её величину.
ScrollHorizontalEnabledСвойство
public bool ScrollHorizontalEnabled { get; set; }Разрешает горизонтальную прокрутку. При false минимум ширины Tree учитывает содержимое, поэтому контейнер может растянуть контрол. Это не фиксирование ширины колонок и не управление вертикальной прокруткой.
ScrollVerticalEnabledСвойство
public bool ScrollVerticalEnabled { get; set; }Разрешает вертикальную прокрутку. При false минимум высоты Tree учитывает содержимое, поэтому контейнер может растянуть контрол. Горизонтальная прокрутка настраивается отдельно.
SelectModeСвойство
public Tree.SelectModeEnum SelectMode { get; set; }Single выбирает одну ячейку, Row — доступные для выбора ячейки одной строки, Multi позволяет накапливать выбор. Смена режима не очищает и не нормализует старые флаги: перед сменой вызовите DeselectAll. В Multi курсор GetSelected не равен всему набору выбора.
TileScrollHintСвойство
public bool TileScrollHint { get; set; }Повторять текстуру подсказки прокрутки вместо растягивания. Это оформление hint, не циклическая прокрутка списка.
Методы73
AreColumnTitlesVisiblebool
public bool AreColumnTitlesVisible();Показывает заголовки колонок, по умолчанию false. Лучше задавать до заполнения и измерения колонок. Ограничение: динамический показ после GetColumnWidth может оставить старый кэш ширины. Для пересчёта сохраните IsColumnClippingContent каждой колонки, переключите SetColumnClipContent на противоположное значение и верните сохранённое.
boolПоказывает заголовки колонок, по умолчанию false. Лучше задавать до заполнения и измерения колонок. Ограничение: динамический показ после GetColumnWidth может оставить старый кэш ширины. Для пересчёта сохраните IsColumnClippingContent каждой колонки, переключите SetColumnClipContent на противоположное значение и верните сохранённое.
Clearvoid
public void Clear();Немедленно удаляет корень и все присоединённые строки, сбрасывает выбранный и редактируемый элементы. Старые ссылки недействительны. Ранее отсоединённые поддеревья не удаляются. Во время мышиного выбора вызов запрещён.
CreateItemTreeItem
public TreeItem CreateItem(TreeItem parent = null, int index = -1);Без parent первый вызов создаёт корень, последующие — его детей. С parent создаёт ребёнка указанной строки этого Tree. index < 0 добавляет в конец; индекс существующего ребёнка вставляет перед ним. Нельзя вызывать во время мышиного выбора.
| Имя | Тип | По умолчанию |
|---|---|---|
parent | TreeItem | null |
index | int | -1 |
parentРодитель из этого же Tree; null выбирает корень по правилам CreateItem.
indexСтруктурный индекс ребёнка. Для создания отрицательный добавляет в конец; для GetChild отрицательный отсчитывается с конца.
TreeItemБез parent первый вызов создаёт корень, последующие — его детей. С parent создаёт ребёнка указанной строки этого Tree. index < 0 добавляет в конец; индекс существующего ребёнка вставляет перед ним. Нельзя вызывать во время мышиного выбора.
DeselectAllvoid
public void DeselectAll();Снимает выбор со всех строк и сбрасывает курсор: GetSelected = null, GetSelectedColumn = -1. Не испускает CellSelected, ItemSelected или MultiSelected. Если модель должна отреагировать на программный сброс, обновите её явно.
EditSelected2 перегрузки
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.
public bool EditSelected(bool forceEdit = false);Запускает действие редактирования ячейки курсора GetSelected/GetSelectedColumn. Сначала проверьте, что строка есть и принадлежит Tree. Без forceEdit требуется Editable. Check сразу переключает checked и испускает ItemEdited; Custom запрашивает собственный редактор и тоже испускает ItemEdited до изменения значения приложением. String/Range могут открыть встроенный редактор, Icon редактора не имеет. true означает обработанное действие/запуск редактора, не гарантированное сохранение нового значения. Перегрузка без аргументов использует false.
| Имя | Тип | По умолчанию |
|---|---|---|
forceEdit | bool | false |
forceEditРазрешить действие даже при Editable = false; не означает принудительное сохранение нового значения.
boolЗапускает действие редактирования ячейки курсора GetSelected/GetSelectedColumn. Сначала проверьте, что строка есть и принадлежит Tree. Без forceEdit требуется Editable. Check сразу переключает checked и испускает ItemEdited; Custom запрашивает собственный редактор и тоже испускает ItemEdited до изменения значения приложением. String/Range могут открыть встроенный редактор, Icon редактора не имеет. true означает обработанное действие/запуск редактора, не гарантированное сохранение нового значения. Перегрузка без аргументов использует false.
EnsureCursorIsVisiblevoid
public void EnsureCursorIsVisible();Прокручивает к текущей ячейке курсора. Без курсора ничего не делает; не собирает и не прокручивает весь набор Multi. Часть обновления может быть отложена до следующего кадра. Не раскрывает скрытых родителей и не включает Visible.
GetAllowReselectbool
public bool GetAllowReselect();Разрешает повторное уведомление при выборе уже выбранной ячейки/строки через обработку выбора. Не включает Multi и не делает программный TreeItem.Select в Multi источником сигналов.
boolРазрешает повторное уведомление при выборе уже выбранной ячейки/строки через обработку выбора. Не включает Multi и не делает программный TreeItem.Select в Multi источником сигналов.
GetAllowRmbSelectbool
public bool GetAllowRmbSelect();Разрешает выбор строки правой кнопкой мыши. Это политика ввода: она не открывает контекстное меню, не меняет SelectMode и не ограничивает программный выбор.
boolРазрешает выбор строки правой кнопкой мыши. Это политика ввода: она не открывает контекстное меню, не меняет SelectMode и не ограничивает программный выбор.
GetAllowSearchbool
public bool GetAllowSearch();Разрешает клавиатурный поиск по началу исходной подписи без учёта регистра. Это переход по строкам, не фильтрация данных и не поле поиска. В Multi поиск перемещает только курсор, не добавляя строку к выбору. Интервал набора задаёт gui/timers/incremental_search_max_interval_msec.
boolРазрешает клавиатурный поиск по началу исходной подписи без учёта регистра. Это переход по строкам, не фильтрация данных и не поле поиска. В Multi поиск перемещает только курсор, не добавляя строку к выбору. Интервал набора задаёт gui/timers/incremental_search_max_interval_msec.
GetButtonIdAtPositionint
public int GetButtonIdAtPosition(Vector2 position);ID кнопки в локальной позиции Tree либо -1 при отсутствии попадания. Координаты не экранные и не локальные для TreeItem. Возвращает ID, не индекс; зависит от текущей раскладки строк.
| Имя | Тип | По умолчанию |
|---|---|---|
position | Vector2 | — |
positionПозиция в локальных координатах контрола Tree.
intID кнопки в локальной позиции Tree либо -1 при отсутствии попадания. Координаты не экранные и не локальные для TreeItem. Возвращает ID, не индекс; зависит от текущей раскладки строк.
GetColumnAtPositionint
public int GetColumnAtPosition(Vector2 position);Индекс колонки под строкой в локальной позиции Tree; -1, если подходящей строки нет. Это поиск по содержимому, не универсальный hit-test заголовков.
| Имя | Тип | По умолчанию |
|---|---|---|
position | Vector2 | — |
positionПозиция в локальных координатах контрола Tree.
intИндекс колонки под строкой в локальной позиции Tree; -1, если подходящей строки нет. Это поиск по содержимому, не универсальный hit-test заголовков.
GetColumnExpandRatioint
public int GetColumnExpandRatio(int column);Сохранённый целочисленный вес расширения. Не возвращает процент ширины или отношение итоговых размеров колонок.
| Имя | Тип | По умолчанию |
|---|---|---|
column | int | — |
columnИндекс колонки от 0 до Columns - 1.
intСохранённый целочисленный вес расширения. Не возвращает процент ширины или отношение итоговых размеров колонок.
GetColumnTitlestring
public string GetColumnTitle(int column);Исходная строка заголовка, не её автоматически переведённое отображение.
| Имя | Тип | По умолчанию |
|---|---|---|
column | int | — |
columnИндекс колонки от 0 до Columns - 1.
stringИсходная строка заголовка, не её автоматически переведённое отображение.
GetColumnTitleAlignmentHorizontalAlignment
public HorizontalAlignment GetColumnTitleAlignment(int column);Сохранённое выравнивание заголовка, по умолчанию Center. Настройки ячеек строк независимы.
| Имя | Тип | По умолчанию |
|---|---|---|
column | int | — |
columnИндекс колонки от 0 до Columns - 1.
HorizontalAlignmentСохранённое выравнивание заголовка, по умолчанию Center. Настройки ячеек строк независимы.
GetColumnTitleDirectionControl.TextDirection
public Control.TextDirection GetColumnTitleDirection(int column);Сохранённое направление письма заголовка. Inherited — наследование от Tree, а не уже вычисленное направление.
| Имя | Тип | По умолчанию |
|---|---|---|
column | int | — |
columnИндекс колонки от 0 до Columns - 1.
Control.TextDirectionСохранённое направление письма заголовка. Inherited — наследование от Tree, а не уже вычисленное направление.
GetColumnTitleLanguagestring
public string GetColumnTitleLanguage(int column);Сохранённая языковая подсказка заголовка, не текущая локаль приложения.
| Имя | Тип | По умолчанию |
|---|---|---|
column | int | — |
columnИндекс колонки от 0 до Columns - 1.
stringСохранённая языковая подсказка заголовка, не текущая локаль приложения.
GetColumnTitleTooltipTextstring
public string GetColumnTitleTooltipText(int column);Сохранённая явная подсказка заголовка; пустая строка не означает отсутствие любой подсказки Control.
| Имя | Тип | По умолчанию |
|---|---|---|
column | int | — |
columnИндекс колонки от 0 до Columns - 1.
stringСохранённая явная подсказка заголовка; пустая строка не означает отсутствие любой подсказки Control.
GetColumnWidthint
public int GetColumnWidth(int column);Текущая вычисленная ширина колонки: минимум плюс доля свободного места при Expand. Зависит от размера Tree, темы, видимых строк и заголовка; не равна обязательно CustomMinimumWidth. Запрашивайте после настройки размеров и содержимого.
| Имя | Тип | По умолчанию |
|---|---|---|
column | int | — |
columnИндекс колонки от 0 до Columns - 1.
intТекущая вычисленная ширина колонки: минимум плюс доля свободного места при Expand. Зависит от размера Tree, темы, видимых строк и заголовка; не равна обязательно CustomMinimumWidth. Запрашивайте после настройки размеров и содержимого.
GetColumnsint
public int GetColumns();Число колонок, не меньше 1; по умолчанию 1. Задавайте до заполнения. Уменьшение удаляет данные лишних ячеек во всех строках. Изменение во время мышиного выбора запрещено.
intЧисло колонок, не меньше 1; по умолчанию 1. Задавайте до заполнения. Уменьшение удаляет данные лишних ячеек во всех строках. Изменение во время мышиного выбора запрещено.
GetCustomDrawingCanvasItemRid
public Rid GetCustomDrawingCanvasItem();Возвращает принадлежащий Tree RID для пользовательского рисования внутри callback ячейки. Не освобождайте его через RenderingServer и не используйте после удаления Tree. Это не отдельный CanvasItem Entity и не разрешение рисовать вне цикла отрисовки.
RidВозвращает принадлежащий Tree RID для пользовательского рисования внутри callback ячейки. Не освобождайте его через RenderingServer и не используйте после удаления Tree. Это не отдельный CanvasItem Entity и не разрешение рисовать вне цикла отрисовки.
GetCustomPopupRectRect2
public Rect2 GetCustomPopupRect();Последняя область для размещения собственного редактора Custom, в глобальных координатах интерфейса Tree. Это не автоматически экранные координаты внешнего Window; учитывайте CanvasLayer, преобразования и встраивание окна. Читайте при CustomPopupEdited после актуальной раскладки, не используйте как постоянную геометрию строки.
Rect2Последняя область для размещения собственного редактора Custom, в глобальных координатах интерфейса Tree. Это не автоматически экранные координаты внешнего Window; учитывайте CanvasLayer, преобразования и встраивание окна. Читайте при CustomPopupEdited после актуальной раскладки, не используйте как постоянную геометрию строки.
GetDropModeFlagsint
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
public int GetDropSectionAtPosition(Vector2 position);Зона переноса в локальной позиции Tree: -100 — нет цели, -1 — сосед выше, 0 — на строку/последний ребёнок, 1 — сосед ниже, 2 — первый ребёнок существующей ветви. Значение 2 действительно используется при комбинированных зонах; не ограничивайте обработчик -1/0/1. Нужны включённые DropModeFlags; результат не подтверждает допустимость данных модели.
| Имя | Тип | По умолчанию |
|---|---|---|
position | Vector2 | — |
positionПозиция в локальных координатах контрола Tree.
intЗона переноса в локальной позиции Tree: -100 — нет цели, -1 — сосед выше, 0 — на строку/последний ребёнок, 1 — сосед ниже, 2 — первый ребёнок существующей ветви. Значение 2 действительно используется при комбинированных зонах; не ограничивайте обработчик -1/0/1. Нужны включённые DropModeFlags; результат не подтверждает допустимость данных модели.
GetEditedTreeItem
public TreeItem GetEdited();Строка последнего контекста редактирования, либо null после очистки/удаления. Не равна обязательно GetSelected. В Custom контекст устанавливается ещё при запросе собственного редактора. Сначала проверьте эту ссылку, затем используйте GetEditedColumn.
TreeItemСтрока последнего контекста редактирования, либо null после очистки/удаления. Не равна обязательно GetSelected. В Custom контекст устанавливается ещё при запросе собственного редактора. Сначала проверьте эту ссылку, затем используйте GetEditedColumn.
GetEditedColumnint
public int GetEditedColumn();Колонка последнего контекста редактирования, не текущего курсора. Clear сбрасывает GetEdited, но может сохранить прежний номер колонки. Используйте его только вместе с ненулевым действительным GetEdited и текущим Columns.
intКолонка последнего контекста редактирования, не текущего курсора. Clear сбрасывает GetEdited, но может сохранить прежний номер колонки. Используйте его только вместе с ненулевым действительным GetEdited и текущим Columns.
GetItemAreaRectRect2
public Rect2 GetItemAreaRect(TreeItem item, int column = -1, int buttonIndex = -1);Вычисленная область строки в локальных координатах Tree; column = -1 — вся строка, иначе одна колонка. Для buttonIndex задайте колонку и неотрицательный индекс кнопки, не ID. Требует строки этого Tree. Результат не гарантирует видимость в области прокрутки; для скрытой/свёрнутой ветви сначала восстановите нужную видимость и раскладку.
| Имя | Тип | По умолчанию |
|---|---|---|
item | TreeItem | — |
column | int | -1 |
buttonIndex | int | -1 |
itemДействительная строка этого Tree.
columnКолонка или -1 для всей строки.
buttonIndexНеотрицательный индекс кнопки, не ID; -1 для обычной области строки/ячейки.
Rect2Вычисленная область строки в локальных координатах Tree; column = -1 — вся строка, иначе одна колонка. Для buttonIndex задайте колонку и неотрицательный индекс кнопки, не ID. Требует строки этого Tree. Результат не гарантирует видимость в области прокрутки; для скрытой/свёрнутой ветви сначала восстановите нужную видимость и раскладку.
GetItemAtPositionTreeItem
public TreeItem GetItemAtPosition(Vector2 position);Строка в локальной позиции Tree или null, если строка не найдена. Учитывает текущую прокрутку и раскладку; передавайте координату контрола, не экрана. Возвращённая строка принадлежит Tree.
| Имя | Тип | По умолчанию |
|---|---|---|
position | Vector2 | — |
positionПозиция в локальных координатах контрола Tree.
TreeItemСтрока в локальной позиции Tree или null, если строка не найдена. Учитывает текущую прокрутку и раскладку; передавайте координату контрола, не экрана. Возвращённая строка принадлежит Tree.
GetNextSelectedTreeItem
public TreeItem GetNextSelected(TreeItem from);Возвращает следующую строку с внутренним флагом выбора хотя бы в одной колонке. Начните с null, затем передавайте предыдущий результат; конец — null. Обходит структурный порядок, включая скрытый корень и свёрнутые ветви. Читает сохранённые флаги даже у Selectable = false; для доступных выбранных ячеек дополнительно проверяйте IsSelected по колонкам.
| Имя | Тип | По умолчанию |
|---|---|---|
from | TreeItem | — |
fromПредыдущая найденная строка; null начинает обход с корня.
TreeItemВозвращает следующую строку с внутренним флагом выбора хотя бы в одной колонке. Начните с null, затем передавайте предыдущий результат; конец — null. Обходит структурный порядок, включая скрытый корень и свёрнутые ветви. Читает сохранённые флаги даже у Selectable = false; для доступных выбранных ячеек дополнительно проверяйте IsSelected по колонкам.
GetPressedButtonint
public int GetPressedButton();Сохранённый индекс кнопки последнего обработанного нажатия, либо -1. Это индекс в колонке, не ID команды и не универсальная проверка «кнопка сейчас удерживается». Для команды в обработчике используйте id из ButtonClicked.
intСохранённый индекс кнопки последнего обработанного нажатия, либо -1. Это индекс в колонке, не ID команды и не универсальная проверка «кнопка сейчас удерживается». Для команды в обработчике используйте id из ButtonClicked.
GetRootTreeItem
public TreeItem GetRoot();Возвращает структурный корень даже при HideRoot = true; null до первого CreateItem и после Clear. Результат принадлежит Tree.
TreeItemВозвращает структурный корень даже при HideRoot = true; null до первого CreateItem и после Clear. Результат принадлежит Tree.
GetScrollVector2
public Vector2 GetScroll();Текущее смещение прокрутки в пикселях. Для оси с невидимой полосой возвращает 0. Это не позиция Tree и не индекс первой видимой строки.
Vector2Текущее смещение прокрутки в пикселях. Для оси с невидимой полосой возвращает 0. Это не позиция Tree и не индекс первой видимой строки.
GetScrollHintModeTree.ScrollHintModeEnum
public Tree.ScrollHintModeEnum GetScrollHintMode();Настраивает визуальные подсказки скрытого содержимого сверху/снизу: Disabled, Both, Top или Bottom. Не включает прокрутку и не меняет её величину.
Tree.ScrollHintModeEnumНастраивает визуальные подсказки скрытого содержимого сверху/снизу: Disabled, Both, Top или Bottom. Не включает прокрутку и не меняет её величину.
GetSelectModeTree.SelectModeEnum
public Tree.SelectModeEnum GetSelectMode();Single выбирает одну ячейку, Row — доступные для выбора ячейки одной строки, Multi позволяет накапливать выбор. Смена режима не очищает и не нормализует старые флаги: перед сменой вызовите DeselectAll. В Multi курсор GetSelected не равен всему набору выбора.
Tree.SelectModeEnumSingle выбирает одну ячейку, Row — доступные для выбора ячейки одной строки, Multi позволяет накапливать выбор. Смена режима не очищает и не нормализует старые флаги: перед сменой вызовите DeselectAll. В Multi курсор GetSelected не равен всему набору выбора.
GetSelectedTreeItem
public TreeItem GetSelected();Возвращает строку текущего курсора либо null. В Multi выбор может существовать без курсора, а курсор — стоять на уже снятой с выбора ячейке. Для набора выбранных строк обходите GetNextSelected. Результат принадлежит Tree.
TreeItemВозвращает строку текущего курсора либо null. В Multi выбор может существовать без курсора, а курсор — стоять на уже снятой с выбора ячейке. Для набора выбранных строк обходите GetNextSelected. Результат принадлежит Tree.
GetSelectedColumnint
public int GetSelectedColumn();Колонка текущего курсора; после DeselectAll равна -1. В Multi не перечисляет выбранные колонки и не гарантирует IsSelected для этой ячейки.
intКолонка текущего курсора; после DeselectAll равна -1. В Multi не перечисляет выбранные колонки и не гарантирует IsSelected для этой ячейки.
IsAutoTooltipEnabledbool
public bool IsAutoTooltipEnabled();Если у ячейки нет явной подсказки, использовать её подпись/значение как подсказку. Не генерирует описание для доступности и не заменяет отдельные подсказки кнопок действий. Для отключения этого поведения задайте false; одной пустой подсказки строки недостаточно.
boolЕсли у ячейки нет явной подсказки, использовать её подпись/значение как подсказку. Не генерирует описание для доступности и не заменяет отдельные подсказки кнопок действий. Для отключения этого поведения задайте false; одной пустой подсказки строки недостаточно.
IsColumnClippingContentbool
public bool IsColumnClippingContent(int column);Установленная политика исключения содержимого строк из расчёта минимума. Не сообщает, действительно ли конкретная подпись сейчас обрезана.
| Имя | Тип | По умолчанию |
|---|---|---|
column | int | — |
columnИндекс колонки от 0 до Columns - 1.
boolУстановленная политика исключения содержимого строк из расчёта минимума. Не сообщает, действительно ли конкретная подпись сейчас обрезана.
IsColumnExpandingbool
public bool IsColumnExpanding(int column);Участвует ли колонка в распределении свободного места. Это разрешение расширения, не признак того, что сейчас есть свободное место.
| Имя | Тип | По умолчанию |
|---|---|---|
column | int | — |
columnИндекс колонки от 0 до Columns - 1.
boolУчаствует ли колонка в распределении свободного места. Это разрешение расширения, не признак того, что сейчас есть свободное место.
IsDragUnfoldingEnabledbool
public bool IsDragUnfoldingEnabled();Разрешает раскрытие ветви при задержке перетаскиваемого элемента над ней. Не создаёт данные перетаскивания и не выполняет перенос модели. Отключение останавливает ожидающий таймер раскрытия.
boolРазрешает раскрытие ветви при задержке перетаскиваемого элемента над ней. Не создаёт данные перетаскивания и не выполняет перенос модели. Отключение останавливает ожидающий таймер раскрытия.
public bool IsFoldingHidden();Скрывает обычное управление сворачиванием во всём Tree. Не раскрывает ветви и не запрещает программные Collapsed/SetCollapsedRecursive. Состояние ветвей задавайте отдельно.
boolСкрывает обычное управление сворачиванием во всём Tree. Не раскрывает ветви и не запрещает программные Collapsed/SetCollapsedRecursive. Состояние ветвей задавайте отдельно.
IsHScrollEnabledbool
public bool IsHScrollEnabled();Разрешает горизонтальную прокрутку. При false минимум ширины Tree учитывает содержимое, поэтому контейнер может растянуть контрол. Это не фиксирование ширины колонок и не управление вертикальной прокруткой.
boolРазрешает горизонтальную прокрутку. При false минимум ширины Tree учитывает содержимое, поэтому контейнер может растянуть контрол. Это не фиксирование ширины колонок и не управление вертикальной прокруткой.
IsRecursiveFoldingEnabledbool
public bool IsRecursiveFoldingEnabled();Разрешает рекурсивное сворачивание/раскрытие через пользовательский жест с Shift. Не запрещает SetCollapsedRecursive из кода.
boolРазрешает рекурсивное сворачивание/раскрытие через пользовательский жест с Shift. Не запрещает SetCollapsedRecursive из кода.
public bool IsRootHidden();Скрывает отображение корня, сохраняя сам корень и его детей. Подходит для плоского списка с общим скрытым родителем. Не удаляет строку и не меняет GetRoot.
boolСкрывает отображение корня, сохраняя сам корень и его детей. Подходит для плоского списка с общим скрытым родителем. Не удаляет строку и не меняет GetRoot.
IsScrollHintTiledbool
public bool IsScrollHintTiled();Повторять текстуру подсказки прокрутки вместо растягивания. Это оформление hint, не циклическая прокрутка списка.
boolПовторять текстуру подсказки прокрутки вместо растягивания. Это оформление hint, не циклическая прокрутка списка.
IsVScrollEnabledbool
public bool IsVScrollEnabled();Разрешает вертикальную прокрутку. При false минимум высоты Tree учитывает содержимое, поэтому контейнер может растянуть контрол. Горизонтальная прокрутка настраивается отдельно.
boolРазрешает вертикальную прокрутку. При false минимум высоты Tree учитывает содержимое, поэтому контейнер может растянуть контрол. Горизонтальная прокрутка настраивается отдельно.
ScrollToItemvoid
public void ScrollToItem(TreeItem item, bool centerOnItem = false);Прокручивает к строке, не выбирая её и не раскрывая родителей. item должен принадлежать этому Tree. Перед вызовом раскройте нужную цепочку и настройте размеры контрола; centerOnItem пытается центрировать по вертикали в пределах доступной прокрутки.
| Имя | Тип | По умолчанию |
|---|---|---|
item | TreeItem | — |
centerOnItem | bool | false |
itemДействительная строка этого Tree.
centerOnItemПытаться центрировать строку по вертикали; не меняет выбор.
SetAllowReselectvoid
public void SetAllowReselect(bool allow);Разрешает повторное уведомление при выборе уже выбранной ячейки/строки через обработку выбора. Не включает Multi и не делает программный TreeItem.Select в Multi источником сигналов.
| Имя | Тип | По умолчанию |
|---|---|---|
allow | bool | — |
allowРазрешить соответствующую политику повторного выбора или правой кнопки мыши.
SetAllowRmbSelectvoid
public void SetAllowRmbSelect(bool allow);Разрешает выбор строки правой кнопкой мыши. Это политика ввода: она не открывает контекстное меню, не меняет SelectMode и не ограничивает программный выбор.
| Имя | Тип | По умолчанию |
|---|---|---|
allow | bool | — |
allowРазрешить соответствующую политику повторного выбора или правой кнопки мыши.
SetAllowSearchvoid
public void SetAllowSearch(bool allow);Разрешает клавиатурный поиск по началу исходной подписи без учёта регистра. Это переход по строкам, не фильтрация данных и не поле поиска. В Multi поиск перемещает только курсор, не добавляя строку к выбору. Интервал набора задаёт gui/timers/incremental_search_max_interval_msec.
| Имя | Тип | По умолчанию |
|---|---|---|
allow | bool | — |
allowРазрешить клавиатурный поиск-переход без фильтрации строк.
SetAutoTooltipvoid
public void SetAutoTooltip(bool enable);Если у ячейки нет явной подсказки, использовать её подпись/значение как подсказку. Не генерирует описание для доступности и не заменяет отдельные подсказки кнопок действий. Для отключения этого поведения задайте false; одной пустой подсказки строки недостаточно.
| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
enableАвтоматическая подсказка из значения ячейки при отсутствии явной.
SetColumnClipContentvoid
public void SetColumnClipContent(int column, bool enable);Разрешает не учитывать содержимое строк при вычислении минимальной ширины колонки. Не исключает минимум видимого заголовка и не отключает Expand. При false полная ширина текста учитывается только для ячеек с TextOverrunBehavior = NoTrimming; обрезаемый текст сам не заставляет колонку вместить всю подпись.
| Имя | Тип | По умолчанию |
|---|---|---|
column | int | — |
enable | bool | — |
columnИндекс колонки от 0 до Columns - 1.
enableИсключить содержимое строк из расчёта минимальной ширины.
SetColumnCustomMinimumWidthvoid
public void SetColumnCustomMinimumWidth(int column, int minWidth);Задаёт неотрицательный минимум ширины колонки в пикселях, не фиксированную ширину. Заголовок, содержимое и Expand могут сделать её шире. Отрицательное значение игнорируется; 0 снимает локальный минимум. Для колонки заданной ширины также отключите Expand и настройте ClipContent.
| Имя | Тип | По умолчанию |
|---|---|---|
column | int | — |
minWidth | int | — |
columnИндекс колонки от 0 до Columns - 1.
minWidthНеотрицательный минимум в пикселях; 0 снимает локальный минимум, отрицательные значения игнорируются.
SetColumnExpandvoid
public void SetColumnExpand(int column, bool expand);Разрешает колонке получать свободное место сверх её минимума; по умолчанию true. false сохраняет вычисленный минимум, а не принудительно обрезает содержимое до произвольного числа пикселей.
| Имя | Тип | По умолчанию |
|---|---|---|
column | int | — |
expand | bool | — |
columnИндекс колонки от 0 до Columns - 1.
expandРазрешить распределение свободного места на эту колонку.
SetColumnExpandRatiovoid
public void SetColumnExpandRatio(int column, int ratio);Задаёт относительный вес расширяемой колонки, по умолчанию 1. Вес 1:2 делит дополнительное место, а не итоговую ширину. Используйте положительные целые значения: 0 и отрицательные технически сохраняются без проверки и могут дать нежелательный расчёт. На колонку с Expand = false вес не влияет.
| Имя | Тип | По умолчанию |
|---|---|---|
column | int | — |
ratio | int | — |
columnИндекс колонки от 0 до Columns - 1.
ratioПоложительный целочисленный вес дополнительной ширины.
SetColumnTitlevoid
public void SetColumnTitle(int column, string title);Задаёт исходный заголовок колонки и обновляет его текстовый расчёт. Отображение использует перевод Tree; GetColumnTitle остаётся исходной строкой. Сам setter не включает заголовки и не сортирует строки.
| Имя | Тип | По умолчанию |
|---|---|---|
column | int | — |
title | string | — |
columnИндекс колонки от 0 до Columns - 1.
titleИсходный заголовок; для перевода добавьте его в каталог приложения.
SetColumnTitleAlignmentvoid
public void SetColumnTitleAlignment(int column, HorizontalAlignment titleAlignment);Выравнивает текст заголовка: Left, Center или Right. Fill не поддерживается и вызывает предупреждение; не используйте его. Не меняет направление письма или выравнивание строк данных.
| Имя | Тип | По умолчанию |
|---|---|---|
column | int | — |
titleAlignment | HorizontalAlignment | — |
columnИндекс колонки от 0 до Columns - 1.
titleAlignmentLeft, Center или Right; Fill не поддерживается.
SetColumnTitleDirectionvoid
public void SetColumnTitleDirection(int column, Control.TextDirection direction);Задаёт базовое направление письма заголовка. Inherited следует раскладке Tree. Не меняет исходный GetColumnTitle, порядок колонок или направление текста в строках данных.
| Имя | Тип | По умолчанию |
|---|---|---|
column | int | — |
direction | Control.TextDirection | — |
columnИндекс колонки от 0 до Columns - 1.
directionБазовое направление письма заголовка.
SetColumnTitleLanguagevoid
public void SetColumnTitleLanguage(int column, string language);Языковая подсказка формирования текста заголовка, например ar. Пустая строка использует локаль по умолчанию. Не переводит текст и не переключает язык приложения.
| Имя | Тип | По умолчанию |
|---|---|---|
column | int | — |
language | string | — |
columnИндекс колонки от 0 до Columns - 1.
languageЯзыковая подсказка формирования текста, не перевод заголовка.
SetColumnTitleTooltipTextvoid
public void SetColumnTitleTooltipText(int column, string tooltipText);Задаёт явную подсказку заголовка, отдельно от подсказок ячеек и кнопок. Пустая строка возвращает поведение подсказки самого Control.
| Имя | Тип | По умолчанию |
|---|---|---|
column | int | — |
tooltipText | string | — |
columnИндекс колонки от 0 до Columns - 1.
tooltipTextЯвная подсказка заголовка или пустая строка для поведения Control.
SetColumnTitlesVisiblevoid
public void SetColumnTitlesVisible(bool visible);Показывает заголовки колонок, по умолчанию false. Лучше задавать до заполнения и измерения колонок. Ограничение: динамический показ после GetColumnWidth может оставить старый кэш ширины. Для пересчёта сохраните IsColumnClippingContent каждой колонки, переключите SetColumnClipContent на противоположное значение и верните сохранённое.
| Имя | Тип | По умолчанию |
|---|---|---|
visible | bool | — |
visibleПоказать заголовки; при динамической смене учитывайте кэш измеренной ширины.
SetColumnsvoid
public void SetColumns(int amount);Число колонок, не меньше 1; по умолчанию 1. Задавайте до заполнения. Уменьшение удаляет данные лишних ячеек во всех строках. Изменение во время мышиного выбора запрещено.
| Имя | Тип | По умолчанию |
|---|---|---|
amount | int | — |
amountНовое число колонок, не меньше 1.
SetDropModeFlagsvoid
public void SetDropModeFlags(int flags);Зоны назначения перетаскивания: 0 — выключены, OnItem (1) — на строку, Inbetween (2) — между строками, 3 — оба варианта. Управляет расчётом/подсветкой цели, а не переносом данных. Реализуйте проверку и изменение модели в drag-and-drop обработчиках; учитывайте SetAcceptChildren и запрет циклов.
| Имя | Тип | По умолчанию |
|---|---|---|
flags | int | — |
flags0, OnItem (1), Inbetween (2) или их объединение 3.
SetEnableDragUnfoldingvoid
public void SetEnableDragUnfolding(bool enable);Разрешает раскрытие ветви при задержке перетаскиваемого элемента над ней. Не создаёт данные перетаскивания и не выполняет перенос модели. Отключение останавливает ожидающий таймер раскрытия.
| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
enableРазрешить раскрытие ветви при удержании перетаскиваемого элемента над ней.
SetEnableRecursiveFoldingvoid
public void SetEnableRecursiveFolding(bool enable);Разрешает рекурсивное сворачивание/раскрытие через пользовательский жест с Shift. Не запрещает SetCollapsedRecursive из кода.
| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
enableРазрешить рекурсивный жест сворачивания.
SetHScrollEnabledvoid
public void SetHScrollEnabled(bool hScroll);Разрешает горизонтальную прокрутку. При false минимум ширины Tree учитывает содержимое, поэтому контейнер может растянуть контрол. Это не фиксирование ширины колонок и не управление вертикальной прокруткой.
| Имя | Тип | По умолчанию |
|---|---|---|
hScroll | bool | — |
hScrollРазрешить горизонтальную прокрутку.
SetHideFoldingvoid
public void SetHideFolding(bool hide);Скрывает обычное управление сворачиванием во всём Tree. Не раскрывает ветви и не запрещает программные Collapsed/SetCollapsedRecursive. Состояние ветвей задавайте отдельно.
| Имя | Тип | По умолчанию |
|---|---|---|
hide | bool | — |
hideСкрыть обычное управление сворачиванием, сохранив состояние ветвей.
SetHideRootvoid
public void SetHideRoot(bool enable);Скрывает отображение корня, сохраняя сам корень и его детей. Подходит для плоского списка с общим скрытым родителем. Не удаляет строку и не меняет GetRoot.
| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
enabletrue скрывает корень, сохраняя его структуру.
SetScrollHintModevoid
public void SetScrollHintMode(Tree.ScrollHintModeEnum scrollHintMode);Настраивает визуальные подсказки скрытого содержимого сверху/снизу: Disabled, Both, Top или Bottom. Не включает прокрутку и не меняет её величину.
| Имя | Тип | По умолчанию |
|---|---|---|
scrollHintMode | Tree.ScrollHintModeEnum | — |
scrollHintModeDisabled, Both, Top или Bottom — визуальные подсказки вертикального скрытого содержимого.
SetSelectModevoid
public void SetSelectMode(Tree.SelectModeEnum mode);Single выбирает одну ячейку, Row — доступные для выбора ячейки одной строки, Multi позволяет накапливать выбор. Смена режима не очищает и не нормализует старые флаги: перед сменой вызовите DeselectAll. В Multi курсор GetSelected не равен всему набору выбора.
| Имя | Тип | По умолчанию |
|---|---|---|
mode | Tree.SelectModeEnum | — |
modeSingle, Row или Multi. Перед сменой очистите прежний выбор через DeselectAll.
SetSelectedvoid
public void SetSelected(TreeItem item, int column);Выбирает указанную ячейку проходом одиночного выбора даже в Multi: прежние флаги обходящихся строк снимаются. Может испускать CellSelected, ItemSelected или MultiSelected. Скрытые поддеревья проход пропускает; для гарантированного сброса всех строк сначала DeselectAll. item должен принадлежать этому Tree; null не очищает выбор.
| Имя | Тип | По умолчанию |
|---|---|---|
item | TreeItem | — |
column | int | — |
itemСтрока этого Tree; в MultiSelected — строка изменяемой ячейки. Не освобождайте полученную из сигнала строку во время обработки ввода.
columnИндекс колонки от 0 до Tree.Columns - 1.
SetTileScrollHintvoid
public void SetTileScrollHint(bool tileScrollHint);Повторять текстуру подсказки прокрутки вместо растягивания. Это оформление hint, не циклическая прокрутка списка.
| Имя | Тип | По умолчанию |
|---|---|---|
tileScrollHint | bool | — |
tileScrollHintПовторять текстуру подсказки вместо растягивания.
SetVScrollEnabledvoid
public void SetVScrollEnabled(bool hScroll);Разрешает вертикальную прокрутку. При false минимум высоты Tree учитывает содержимое, поэтому контейнер может растянуть контрол. Горизонтальная прокрутка настраивается отдельно.
| Имя | Тип | По умолчанию |
|---|---|---|
hScroll | bool | — |
hScrollРазрешить вертикальную прокрутку; имя hScroll в этом методе историческое.
Сигналы и события15
ButtonClickedСобытие
public event Tree.ButtonClickedEventHandler ButtonClicked;Активация кнопки действия: item, column, ID команды и кнопка мыши. Аргумент id — сохранённый ID, не индекс. Для изменения кнопки сначала GetButtonById; проверяйте -1. Активация с клавиатуры также может приходить с MouseButton.Left, поэтому не определяйте источник ввода только по последнему аргументу.
| Имя | Тип | По умолчанию |
|---|---|---|
item | TreeItem | — |
column | long | — |
id | long | — |
mouseButtonIndex | long | — |
itemСтрока Tree с активированной кнопкой; принадлежит дереву.
columnИндекс колонки от 0 до Tree.Columns - 1.
idID активированной команды, не индекс кнопки.
mouseButtonIndexКнопка мыши; клавиатурная активация тоже может передавать Left.
CellSelectedСобытие
public event Action CellSelected;Курсор/выбор ячейки изменён через путь выбора, в том числе программный SetSelected. Не является универсальным уведомлением любого изменения флагов: Multi Select, Deselect и DeselectAll могут работать без него.
CheckPropagatedToItemСобытие
public event Tree.CheckPropagatedToItemEventHandler CheckPropagatedToItem;Уведомление обхода PropagateCheck(..., true): исходная строка, потомки в глубину, затем родители снизу вверх. Приходит и при неизменном значении. В обработчике читайте IsChecked/IsIndeterminate указанной ячейки; итоговую сводку всего дерева собирайте после окончания обхода. Это не ItemEdited и не автоматическая реакция на SetChecked.
| Имя | Тип | По умолчанию |
|---|---|---|
item | TreeItem | — |
column | long | — |
itemПосещённая строка, принадлежащая Tree; не освобождайте её во время обхода.
columnИндекс колонки от 0 до Tree.Columns - 1.
ColumnTitleClickedСобытие
public event Tree.ColumnTitleClickedEventHandler ColumnTitleClicked;Пользователь активировал заголовок указанной колонки кнопкой мыши. Tree не сортирует строки автоматически: храните направление сортировки в модели и перестройте порядок явно. Программная смена текста или оформления заголовка сигнал не испускает.
| Имя | Тип | По умолчанию |
|---|---|---|
column | long | — |
mouseButtonIndex | long | — |
columnИндекс колонки от 0 до Columns - 1.
mouseButtonIndexКнопка мыши, активировавшая заголовок.
CustomItemClickedСобытие
public event Tree.CustomItemClickedEventHandler CustomItemClicked;Уведомление мышиного редактирования Custom после ItemEdited; передаётся кнопка мыши. Контекст — GetEdited/GetEditedColumn. Программный EditSelected не обязан испускать этот сигнал; не используйте его как универсальное событие применения значения.
| Имя | Тип | По умолчанию |
|---|---|---|
mouseButtonIndex | long | — |
mouseButtonIndexКнопка мыши этого пути ввода.
CustomPopupEditedСобытие
public event Tree.CustomPopupEditedEventHandler CustomPopupEdited;Запрос собственного редактора ячейки Custom. Контекст уже доступен через GetEdited/GetEditedColumn, область — через GetCustomPopupRect. EditSelected передаёт arrowClicked = false и затем испускает ItemEdited. Окно и применение/отмена значения реализуются приложением.
| Имя | Тип | По умолчанию |
|---|---|---|
arrowClicked | bool | — |
arrowClickedНажата ли стрелка Custom; программный EditSelected передаёт false.
EmptyClickedСобытие
public event Tree.EmptyClickedEventHandler EmptyClicked;Нажатие по пустой области содержимого Tree: передаются локальная позиция и кнопка мыши. Не означает, что модель выбора уже очищена или что нужно удалить данные.
| Имя | Тип | По умолчанию |
|---|---|---|
clickPosition | Vector2 | — |
mouseButtonIndex | long | — |
clickPositionПозиция нажатия в локальных координатах Tree.
mouseButtonIndexКнопка мыши этого пути ввода.
ItemActivatedСобытие
public event Action ItemActivated;Активация строки, например двойным нажатием или ui_accept, если действие не перехватил встроенный редактор/кнопка. Текущую строку читайте через GetSelected. Это отдельное действие от выбора, а не универсальное уведомление смены значения.
ItemCollapsedСобытие
public event Tree.ItemCollapsedEventHandler ItemCollapsed;Состояние Collapsed указанной строки изменилось, в том числе из кода и при раскрытии. Узнать направление изменения можно через item.IsCollapsed(). Повторная установка прежнего значения не уведомляет. Рекурсивный вызов даёт отдельные события по строкам, а не один итоговый снимок.
| Имя | Тип | По умолчанию |
|---|---|---|
item | TreeItem | — |
itemСтрока с новым состоянием Collapsed, принадлежащая Tree. Не удаляйте её во время рекурсивного обхода.
ItemEditedСобытие
public event Action ItemEdited;Уведомление пути редактирования; контекст читайте через GetEdited/GetEditedColumn. Для Check значение уже переключено. Для Custom сигнал может прийти при запросе редактора, до изменения значения приложением: это не универсальный commit. Программные SetText, SetChecked, SetRange и PropagateCheck сами его не испускают.
ItemIconDoubleClickedСобытие
public event Action ItemIconDoubleClicked;Уведомление пути двойного нажатия на иконку/неотредактированную область строки. Не путайте с ButtonClicked отдельных кнопок действий или ItemActivated. В обработчике заново проверьте текущую строку и допустимость действия.
ItemMouseSelectedСобытие
public event Tree.ItemMouseSelectedEventHandler ItemMouseSelected;Путь выбора мышью сообщает локальную позицию Tree и кнопку мыши. Не приходит от любого программного Select/SetSelected. Для модели выбора отдельно обрабатывайте сигналы выбора и свои программные операции.
| Имя | Тип | По умолчанию |
|---|---|---|
mousePosition | Vector2 | — |
mouseButtonIndex | long | — |
mousePositionПозиция мыши в локальных координатах Tree.
mouseButtonIndexКнопка мыши этого пути ввода.
ItemSelectedСобытие
public event Action ItemSelected;Уведомление выбора в Single/Row, в том числе из кода. Текущую строку читайте через GetSelected. Не используйте как список всех изменений Multi или как событие снятия выбора.
MultiSelectedСобытие
public event Tree.MultiSelectedEventHandler MultiSelected;В Multi сообщает об установке или снятии флага указанной ячейки. Программный SetSelected может испускать его, TreeItem.Select/Deselect и DeselectAll — нет. При замене выбора уведомления идут во время обхода, поэтому сводный снимок всей модели лучше обновить после завершения операции.
| Имя | Тип | По умолчанию |
|---|---|---|
item | TreeItem | — |
column | long | — |
selected | bool | — |
itemСтрока этого Tree; в MultiSelected — строка изменяемой ячейки. Не освобождайте полученную из сигнала строку во время обработки ввода.
columnИндекс колонки от 0 до Tree.Columns - 1.
selectedtrue — установка флага, false — снятие. Это изменение одной ячейки, а не готовый снимок всего выбора.
NothingSelectedСобытие
public event Action NothingSelected;Уведомление пути нажатия левой кнопкой по пустому месту без Shift и модификатора команды (Ctrl/Cmd). Не является универсальным сигналом «выбор стал пустым»: DeselectAll и программные снятия выбора его не испускают. Проверяйте фактический набор выбора отдельно.
Tree.DropModeFlagsEnum
| Значение | Описание |
|---|---|
Disabled = 0 | Отключает все разделы сброса. Примечание: Это флаг по умолчанию, он не действует в сочетании с другими флагами. |
Inbetween = 2 | Включает разделы сброса «над элементом» и «под элементом». Раздел «над элементом» охватывает верхнюю половину элемента, а раздел «под элементом» охватывает нижнюю половину и расширяется вниз слева от любых дочерних элементов.
В сочетании с |
OnItem = 1 | Включает раздел сброса «на элементе». Этот раздел охватывает весь элемент.
В сочетании с |
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_colorColor |
Color(0.27, 0.27, 0.27, 1) |
custom_button_font_highlightColor |
Color(0.95, 0.95, 0.95, 1) |
drop_on_item_colorColor |
Color(1, 1, 1, 1) |
drop_position_colorColor |
Color(1, 1, 1, 1) |
font_colorColor |
Color(0.7, 0.7, 0.7, 1) |
font_disabled_colorColor |
Color(0.875, 0.875, 0.875, 0.5) |
font_hovered_colorColor |
Color(0.95, 0.95, 0.95, 1) |
font_hovered_dimmed_colorColor |
Color(0.875, 0.875, 0.875, 1) |
font_hovered_selected_colorColor |
Color(1, 1, 1, 1) |
font_outline_colorColor | Оттенок текстового контура элемента. По умолчанию:Color(0, 0, 0, 1) |
font_selected_colorColor |
Color(1, 1, 1, 1) |
guide_colorColor |
Color(0.7, 0.7, 0.7, 0.25) |
parent_hl_line_colorColor |
##отношения_линия_цвета По умолчанию:Color(0.27, 0.27, 0.27, 1) |
relationship_line_colorColor |
Color(0.27, 0.27, 0.27, 1) |
scroll_hint_colorColor |
Color(0, 0, 0, 1) |
title_button_colorColor |
Color(0.875, 0.875, 0.875, 1) |
button_marginint | Горизонтальное расстояние между каждой кнопкой в ячейке. По умолчанию:4 |
check_h_separationint | Горизонтальное расстояние между флажком и текстом в ячейке режима 4 |
children_hl_line_widthint | Ширина линий связи между выбранным 1 |
dragging_unfold_wait_msecint | При перетаскивании элементов это время в миллисекундах, которое нужно подождать, пока элемент развернется. По умолчанию:500 |
draw_guidesint | Рисует направляющие, если не ноль, это действует как логическое значение. Направляющая представляет собой горизонтальную линию, нарисованную внизу каждого элемента. По умолчанию:1 |
draw_relationship_linesint | Рисует линии отношений, если не ноль, это действует как логическое значение. Линии отношений рисуются в начале дочерних элементов, чтобы показать иерархию. По умолчанию:0 |
h_separationint | Горизонтальное пространство между ячейками элементов. Также используется как поле в начале элемента, когда сворачивание отключено. По умолчанию:4 |
icon_h_separationint | Горизонтальное расстояние между значком и текстом в ячейках элемента. По умолчанию:4 |
icon_max_widthint | Максимально допустимая ширина значка в ячейках элемента. Это ограничение применяется поверх размера значка по умолчанию, но до значения, установленного с помощью 0 |
inner_item_margin_bottomint | Внутренний нижний край ячейки. По умолчанию:0 |
inner_item_margin_leftint | Внутренний левый край ячейки. По умолчанию:0 |
inner_item_margin_rightint | Внутренний правый край ячейки. По умолчанию:0 |
inner_item_margin_topint | Внутреннее верхнее поле ячейки. По умолчанию:0 |
item_marginint | Горизонтальное поле в начале элемента. Используется, когда для элемента включено сворачивание. По умолчанию:16 |
outline_sizeint | Размер контура текста.
Примечание: При использовании шрифта с включенным 0 |
parent_hl_line_marginint | Пространство между линиями родительских отношений для выбранного 0 |
parent_hl_line_widthint | Ширина линий связи между выбранным ##отношения_линия_width По умолчанию:1 |
relationship_line_widthint | Ширина линий отношений по умолчанию. По умолчанию:1 |
scroll_borderint | Максимальное расстояние между курсором мыши и границей элемента управления, при котором будет срабатывать прокрутка границы при перетаскивании. По умолчанию:4 |
scroll_max_sticky_itemsint | Максимальное количество деревянных изделий, которые можно прилипнуть к верху, пока дети находятся в поле зрения. 0 |
scroll_speedint | Скорость прокрутки границы. По умолчанию:12 |
scrollbar_h_separationint | Горизонтальное разделение содержимого дерева и полосы прокрутки. По умолчанию:4 |
scrollbar_margin_bottomint | Нижнее поле полос прокрутки. При отрицательном значении используется нижнее поле -1 |
scrollbar_margin_leftint | Левое поле горизонтальной полосы прокрутки. При отрицательном значении использует левое поле -1 |
scrollbar_margin_rightint | Правое поле полос прокрутки. При отрицательном значении использует правое поле -1 |
scrollbar_margin_topint | Верхнее поле вертикальной полосы прокрутки. При отрицательном значении использует верхнее поле -1 |
scrollbar_v_separationint | Вертикальное разделение содержимого дерева и полосы прокрутки. По умолчанию:4 |
v_separationint | Вертикальный отступ внутри каждого элемента, т. е. расстояние между содержимым элемента и верхней/нижней границей. По умолчанию:4 |
fontFont |
|
title_button_fontFont |
|
font_sizeint | Font размер текста пункта. |
title_button_font_sizeint | Font размер текста кнопки заголовка. Стрела |
arrowTexture2D | Значок стрелки, используемый, когда складной элемент не свёрнут. |
arrow_collapsedTexture2D | Значок стрелки, используемый, когда складной элемент свёрнут (для макетов слева направо). |
arrow_collapsed_mirroredTexture2D | Значок стрелки, используемый, когда сворачиваемый элемент свёрнут (для макетов с направлением справа налево). |
checkedTexture2D | Значок галочки, отображаемый, когда ячейка режима |
checked_disabledTexture2D | Значок галочки, отображаемый, когда ячейка режима |
indeterminateTexture2D | Значок галочки, отображаемый, когда ячейка режима |
indeterminate_disabledTexture2D | Значок галочки, отображаемый, когда ячейка режима |
scroll_hintTexture2D | Индикатор, который будет отображаться, когда контент еще можно прокручивать. См. |
select_arrowTexture2D | Значок стрелки, отображаемый для ячейки режима |
uncheckedTexture2D | Значок галочки, отображаемый, когда ячейка режима |
unchecked_disabledTexture2D | Значок галочки, отображаемый, когда ячейка режима |
updownTexture2D | Значок стрелки вверх-вниз, отображаемый для ячейки режима Сосредоточься. |
focus_soundAudioStream | Играл, когда это |
item_hovered_soundAudioStream | Играл, когда вещь зависла. |
item_selected_soundAudioStream | Воспроизводится при выборе объекта. |
button_hoverStyleBox |
|
button_pressedStyleBox |
|
cursorStyleBox |
|
cursor_unfocusedStyleBox |
|
custom_buttonStyleBox |
|
custom_button_hoverStyleBox |
|
custom_button_pressedStyleBox |
Сосредоточься |
focusStyleBox | Сфокусированный стиль для |
hoveredStyleBox |
|
hovered_dimmedStyleBox |
|
hovered_selectedStyleBox |
|
hovered_selected_focusStyleBox |
|
panelStyleBox | Стиль фона для |
selectedStyleBox |
|
selected_focusStyleBox |
|
title_button_hoverStyleBox |
|
title_button_normalStyleBox |
|
title_button_pressedStyleBox |
|