Unity 6.3
0 онлайн 77 гостей 3 в системе
Вход

TreeView<T0>

класс в UnityEditor.IMGUI.Controls

Описание

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

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

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

Свойства

Свойство Описание
baseIndentОтступ, используемый для всех строк перед стрелками и содержимым дерева.
cellMarginПри использовании MultiColumnHeader это значение настраивает прямые ячеек, предоставляемые для всех столбцов, кроме столбца развернутого дерева.
columnIndexForTreeFoldoutsПри использовании MultiColumnHeader это значение должно быть установлено на индекс столбца, в котором должны появляться стрелки разворачивания.
customFoldoutYOffsetНастраиваемое вертикальное смещение стрелки разворачивания.
depthIndentWidthЗначение, которое возвращает, насколько развернутые элементы будут отставлены для каждого увеличивающегося значения глубины.
enableItemHoveringУстановите это свойство на true, если требуется эффект перемещения объекта. Значение по умолчанию — false.
extraSpaceBeforeIconAndLabelЗначение для управления пробелом перед значком и меткой по умолчанию. Может использоваться e.g для размещения переключателя слева от содержимого.
foldoutOverrideЗарегистрируйте обратный вызов в этом свойстве, чтобы переопределить кнопку сворачивания в TreeView.
foldoutWidthШирина встроенной стрелки развертывания.
getNewSelectionOverrideЗарегистрируйте обратный вызов в этом поле, чтобы переопределить обработку изменений выделения в TreeView при нажатии клавиш и щелчках мышью.
hasSearchТекущее состояние поиска из TreeView.
hoveredItemИспользуйте это свойство для определения того, над каким TreeViewItem в TreeView в данный момент находится курсор мыши. Это свойство действительно только в том случае, если свойство enableItemHovering установлено на true.
isDraggingTrue, если пользователь перетаскивает один или несколько элементов в TreeView, и false в противном случае.
isInitializedTreeView инициализируется при вызове Reload(). Поэтому возвращает false до тех пор, пока Reload() не будет вызван в первый раз.
multiColumnHeaderПолучить MultiColumnHeader из TreeView. Может быть null, если TreeView был создан без MultiColumnHeader.
rootItemСкрытый корневой элемент TreeView (он никогда не отображается).
rowHeightФиксированная высота, используемая для каждой строки в TreeView, если GetCustomRowHeight не переопределена.
searchStringТекущая строка поиска TreeView.
showAlternatingRowBackgroundsВключите эту опцию, чтобы показать чередующиеся цвета фона строк.
showBorderВключите это, чтобы показать границу вокруг TreeView.
showingHorizontalScrollBarВозвращает true, если показана горизонтальная прокрутка, в противном случае false.
showingVerticalScrollBarВозвращает true, если показана вертикальная полоса прокрутки, в противном случае false.
stateСостояние TreeView (развёрнутое состояние, выделение, прокрутка и т. д.)
totalHeightВозвращает сумму высот строк TreeView, высоты MultiColumnHeader (если используется) и границы (если используется).
treeViewControlIDcontrolID используется TreeView для получения фокуса управления клавиатуры.
treeViewRectПрямоугольник, на который отображается TreeView.
useScrollViewПри рисовании содержимого TreeView, будет ли оно включено в ScrollView?

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

Конструктор Описание
TreeView_1Объект TreeView всегда создаётся с объектом состояния и, при необходимости, с объектом многоколоночного заголовка, если заголовок нужен.

Открытые методы

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

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

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

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

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

Делегаты

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