Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

TreeView

класс в UnityEditor.IMGUI.Controls

Описание

TreeView — это элемент управления IMGUI, который позволяет создавать древовидные представления, списковые представления и таблицы с несколькими столбцами для инструментов редактора.

Его можно настроить в отношении рендеринга содержимого строки, логики перетаскивания, логики выбора, поиска, сортировки и переименования элементов. Чтобы обеспечить согласованность между TreeView, следующие функции не настраиваются: отрисовка складывающейся стрелки, отрисовка выбора, отрисовка маркеров перетаскивания.

Хорошим местом для начала является BuildRoot.

Свойства

baseIndent Отступ, используемый для всех строк перед стрелками и содержимым дерева.
cellMargin При использовании MultiColumnHeader это значение настраивает прямоугольники ячеек, предусмотренные для всех столбцов, кроме столбца иерархической структуры.
columnIndexForTreeFoldouts При использовании MultiColumnHeader это значение должно быть установлено равным индексу столбца, в котором должны отображаться раскрывающиеся стрелки.
customFoldoutYOffset Пользовательское вертикальное смещение раскрывающейся стрелки.
depthIndentWidth Значение, которое возвращает отступ складных листов для каждого увеличения значения глубины.
extraSpaceBeforeIconAndLabel Значение для управления интервалом перед значком и меткой по умолчанию. Может использоваться, например, для размещения переключателя слева от содержимого.
foldoutOverride Регистрирует обратный вызов для этого свойства, чтобы переопределить кнопку Foldout в TreeView.
foldoutWidth Ширина встроенной раскрывающейся стрелки.
getNewSelectionOverride Регистрирует обратный вызов для этого поля, чтобы переопределить, как TreeView обрабатывает изменения выбора в ответ на нажатия клавиш и щелчки мыши.
hasSearch Текущее состояние поиска в TreeView.
isDragging true, если пользователь в данный момент перетаскивает один или несколько элементов в TreeView, и ложь в противном случае.
isInitialized TreeView инициализируется вызовом Reload(). Поэтому возвращает false, пока Reload() не будет вызвана в первый раз.
multiColumnHeader Получение MultiColumnHeader для TreeView. Может быть нулевым, если TreeView был создан без MultiColumnHeader.
rootItem Скрытый корневой элемент TreeView (он никогда не отображается).
rowHeight Фиксированная высота, используемая для каждой строки в TreeView, если GetCustomRowHeight не был переопределен.
searchString Текущая строка поиска TreeView.
showAlternatingRowBackgrounds Включает этот параметр, чтобы отображались чередующиеся цвета фона строк.
showBorder Включает , чтобы показать границу вокруг TreeView.
showingHorizontalScrollBar Возвращает true, если отображается горизонтальная полоса прокрутки, иначе false.
showingVerticalScrollBar Возвращает true, если отображается вертикальная полоса прокрутки, иначе false.
state Состояние TreeView (расширенное состояние, выделение, прокрутка и т. д.)
totalHeight Возвращает сумму высот строк TreeView, высоты MultiColumnHeader (если используется) и границы (если используется).
treeViewControlID controlID, используемый TreeView для получения фокуса управления клавиатурой.
treeViewRect Образец Rect, в который визуализируется TreeView.
useScrollView При отрисовке содержимого TreeView оно будет заключено в ScrollView?

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

TreeView TreeView всегда строится с объектом состояния и, при необходимости, объектом заголовка с несколькими столбцами, если заголовок необходим.

Публичные Методы

BeginRename Показывает наложение переименования для TreeViewItem.
CollapseAll Свернуть все развернутые элементы в TreeView.
EndRename Заканчивает переименование, если отображается наложение переименования. При вызове, когда наложение переименования не отображается, этот метод ничего не делает.
ExpandAll Развернуть все свернутые элементы в TreeView.
FrameItem Это покажет элемент с идентификатором ID (путем расширения предков этого элемента) и обеспечит его видимость в ScrollView.
GetExpanded Возвращает список идентификаторов TreeViewItem, которые в настоящее время развернуты в TreeView.
GetRows Это список объектов TreeViewItem, созданных в BuildRows.
GetSelection Возвращает список выбранных ID TreeViewItem.
HasFocus Возвращает true, если TreeView и его EditorWindow имеют фокус клавиатуры.
HasSelection Возвращает true, если в TreeView есть выбор.
IsExpanded Возвращает значение true, если TreeViewItem с идентификатором ID в настоящее время развернут.
IsSelected Возвращает true, если в данный момент выбран TreeViewItem с идентификатором ID.
OnGUI Это основной метод графического интерфейса TreeView, в котором обрабатываются и отображаются элементы TreeViewItem.
Reload Вызовите это, чтобы заставить TreeView перезагрузить свои данные. Это, в свою очередь, вызывает вызовы BuildRoot и BuildRows.
Repaint Запросить перерисовку окна, в котором отображается TreeView.
SelectAllRows Выбирает все строки в TreeView.
SetExpanded Установите один элемент TreeViewItem для развертывания или свертывания.
SetExpandedRecursive Развернуть или свернуть все элементы под элементом с идентификатором.
SetFocus Вызов этой функции изменяет фокус клавиатуры на TreeView.
SetFocusAndEnsureSelectedItem Вызов этой функции изменяет фокус клавиатуры на TreeView и обеспечивает выбор элемента. Используйте эту функцию, чтобы включить навигацию по дереву с помощью клавиш.
SetSelection Установите выбранные элементы TreeView.

Защищенные методы

AddExpandedRows Добавляет развернутые строки полного дерева в список ввода. Используйте этот метод только в том случае, если в BuildRoot было построено полное дерево.
AfterRowsGUI Вызывается после того, как для всех строк вызывается RowGUI.
BeforeRowsGUI Вызывается перед вызовом RowGUI любых строк.
BuildRoot Абстрактный метод, который необходимо реализовать. По умолчанию этот метод должен создавать полное дерево TreeViewItems и возвращать корень.
BuildRows Переопределяет этот метод, чтобы управлять созданием строк.
CanBeParent Переопределяет этот метод, чтобы контролировать, какие элементы могут быть родительскими.
CanChangeExpandedState Переопределяет этот метод, чтобы контролировать, можно ли разворачивать или сворачивать элемент с помощью клавиши или мыши.
CanMultiSelect Переопределяет этот метод, чтобы контролировать, может ли элемент быть частью множественного выбора.
CanRename Переопределяет этот метод, чтобы указать, можно ли переименовывать элемент с помощью сочетания клавиш или щелчка по уже выбранному элементу.
CanStartDrag Эта функция вызывается всякий раз, когда элемент TreeViewItem щелкается и перетаскивается. По умолчанию возвращает false.
CenterRectUsingSingleLineHeight Изменяет прямоугольник ввода таким образом, чтобы он располагался по центру и имел высоту, равную EditorGUIUtility.singleLineHeight.
CommandEventHandling Эта функция вызывается автоматически и обрабатывает события ExecuteCommand для «SelectAll» и «FrameSelection». Переопределяет эту функцию, чтобы расширить или избежать командных событий.
ContextClicked Переопределяет этот метод, чтобы обрабатывать контекстные клики вне каких-либо элементов (но все еще в прямоугольнике TreeView).
ContextClickedItem Переопределяет этот метод для обработки контекстного клика по элементу с идентификатором TreeViewItem.id.
DoesItemMatchSearch Переопределяет эту функцию, чтобы расширить или изменить поведение поиска.
DoubleClickedItem Переопределяет этот метод для обработки событий двойного щелчка по элементу.
ExpandedStateChanged Переопределяет , чтобы получать уведомления, когда элементы развернуты или свернуты. Это общее уведомление об изменении расширенного состояния.
FindItem Находит TreeViewItem по идентификатору.
FindRowOfItem Возвращает строку данного элемента TreeViewItem.
FindRows Полезно для преобразования ID TreeViewItem в TreeViewItem с использованием текущих строк.
GetAncestors Этот метод, например. используется для отображения элементов, которые в данный момент находятся под свернутым элементом.
GetCellRectForTreeFoldouts Утилита для настройки нескольких столбцов. Этот метод обрезает входной rowRect по прямоугольнику столбца, определенному columnIndexForTreeFoldouts, чтобы получить прямоугольник ячейки, в котором появляются раскрывающиеся стрелки.
GetContentIndent Возвращает горизонтальное смещение содержимого элемента. Здесь должно начинаться содержимое (после раскрывающейся стрелки).
GetCustomRowHeight Переопределение для управления высотой отдельных строк.
GetDescendantsThatHaveChildren Возвращает всех потомков элемента с идентификатором id, у которых есть дочерние элементы.
GetFirstAndLastVisibleRows Возвращает первый и последний индексы строк, видимых в представлении прокрутки TreeView.
GetFoldoutIndent Возвращает смещение элемента по горизонтали. Здесь отображается раскрывающаяся стрелка.
GetRenameRect Переопределите этот метод, если в RowGUI используется индивидуальная обработка графического интерфейса. Этот метод определяет, где появляется наложение переименования.
GetRowRect Получить прямоугольник для строки.
HandleDragAndDrop Переопределите эту функцию, чтобы управлять поведением перетаскивания TreeView.
KeyEvent Переопределите этот метод для обработки событий, когда TreeView имеет фокус клавиатуры.
RefreshCustomRowHeights Обновляет кэш пользовательских прямоугольников строк на основе высоты, возвращаемой GetCustomRowHeight.
RenameEnded Вызывается, когда переименование завершается либо пользователем, завершающим процесс переименования, либо когда оверлей переименования теряет фокус или закрывается с помощью EndRename.
RowGUI Переопределите этот метод, чтобы добавить пользовательский контент графического интерфейса для строк в TreeView.
SearchChanged Переопределить метод, чтобы получать уведомления об изменениях строки поиска.
SelectionChanged Переопределить метод, чтобы получать уведомления об изменениях выбора.
SelectionClick Используйте этот метод в RowGUI для выполнения логики щелчка мыши.
SetupDragAndDrop Эта функция вызывается, когда CanStartDrag возвращает значение true.
SingleClickedItem Переопределите этот метод для обработки событий одиночного щелчка по элементу.
SortItemIDsInRowOrder Возвращает список, отсортированный в том порядке, в котором они отображаются в TreeView.

Статические Методы

CreateChildListForCollapsedParent Создает фиктивный список TreeViewItem. Полезно при переопределении BuildRows, чтобы предотвратить построение полного дерева элементов.
IsChildListForACollapsedParent Служебный метод для проверки того, идентичен ли дочерний список тому, который возвращается методом CreateChildListForCollapsedParent.
SetupDepthsFromParentsAndChildren Служебный метод, использующий глубину входного элемента TreeViewItem для установки правильной глубины для всех его потомков элементов TreeViewItem.
SetupParentsAndChildrenFromDepths Служебный метод для инициализации всех родительских и дочерних свойств строк с использованием установленных значений порядка и глубины.

Делегаты

DoFoldoutCallback Подпись обратного вызова, используемая для переопределения раскладки TreeView. См. foldoutOverride.
GetNewSelectionFunction Обратный вызов, который определяет, как TreeView обрабатывает изменения выбора в ответ на нажатия клавиш и щелчки мыши.
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3