TreeView — это элемент управления IMGUI, который позволяет создавать древовидные представления, списковые представления и таблицы с несколькими столбцами для инструментов редактора.
Его можно настроить в отношении рендеринга содержимого строки, логики перетаскивания, логики выбора, поиска, сортировки и переименования элементов. Чтобы обеспечить согласованность между TreeView, следующие функции не настраиваются: отрисовка складывающейся стрелки, отрисовка выбора, отрисовка маркеров перетаскивания.
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? |
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. |