Version: 2020.1
Experimental: this API is experimental and might be changed or removed in the future.

StackNode

class in UnityEditor.Experimental.GraphView

/

继承自:Experimental.GraphView.Node


实现接口:ICollectibleElement, IDropTarget, IEventHandler, IExperimentalFeatures, IResolvedStyle, ISelectable, ITransform, ITransitionAnimations, IVisualElementScheduler

切换到手册

描述

使用此类可自定义 StackNodes 以及管理将 GraphElements 拖动到 StackNodes 上的操作。

变量

contentContainer此 StackNode 的内容容器。
dragEntered指示当前是否正在拖动此堆栈中的项。
dropPreviewTemplate使用此属性可自定义在将 GraphElements 拖动到 StackNode 上时显示的预览。
hasMultipleSelectionSupport如果 StackNode 支持多重选择,则返回 true。
headerContainer使用此属性可自定义此 StackNode 的标头。

构造函数

StackNodeStackNode 构造函数。

公共函数

AddElement将指定的 GraphElement 添加到 StackNode。
CanAcceptDrop指示此 StackNode 是否接受当前的放置事件。
CollectElementsRetrieves the set of nodes contained in this stack and its edges. The retrieved graph elements match a specific condition.
DragEnter当发生拖动离开事件时,将自动调用此方法。
DragExited当发生拖动退出事件时,将自动调用此方法。
DragLeave当发生拖动离开事件时,将自动调用此方法。
DragPerform当发生放置事件时,将自动调用此方法。
DragUpdated当发生拖动更新事件时,将自动调用此方法。
GetInsertionIndex如果将某一项放置在指定的世界位置,则在 StackNode 中检索插入索引。
InsertElement将指定的 GraphElement 插入到此 StackNode 中的指定索引处。
OnStartDragging当堆栈的一个元素即将被拖出时,将自动调用此方法。
RemoveElement从此 StackNode 中删除指定的 GraphElement。

受保护的函数

AcceptsElement检查是否可以将指定的 GraphElement 添加到此 StackNode。
OnCustomStyleResolved当自定义样式属性解析时调用。
OnSeparatorContextualMenuEvent当上下文菜单即将出现在 StackNode 分隔条上时,将自动调用此方法。

继承的成员

静态变量

disabledUssClassName本地禁用元素的 USS 类名称。

变量

canGrabFocus如果元素可以获得焦点,则返回 true。
delegatesFocus元素是否应将焦点委托给其子项。
focusable如果元素可以获得焦点,则为 true。
focusController返回此元素的焦点控制器。
tabIndex用于对焦点环中可获得焦点的元素排序的整数。必须大于或等于零。
capabilitiesGraphElement 的功能。
elementTypeColor用于 MiniMap 视图的颜色。
layer图形中的 GraphElement 图层。
selected如果当前已选择 GraphElement,则为 true。
showInMiniMapWhether the element is shown in the minimap.
titleGraphElement 的标题。
expanded节点是否已扩展。
extensionContainer用于显示自定义元素的空容器。添加元素后,调用 RefreshExpandedState 以切换该容器的可见性。
inputContainer用于输入端口的输入容器。
mainContainer包含所有其他容器的主容器。
outputContainer用于输出端口的输出容器。
title节点的标题元素。
titleButtonContainer标题栏按钮容器。包含右上角按钮。
titleContainer标题栏容器。
topContainer包含输入和输出容器的整个顶部区域。
childCount 此对象的 contentContainer 中的子元素数
contentContainer 子元素通常添加到此元素中
customStyle返回元素的自定义样式属性访问器。
enabledInHierarchy如果 VisualElement 是在它自己的层级视图中启用,则返回 true。
enabledSelf如果 VisualElement 是本地启用,则返回 true。
experimental返回 UIElements 实验性接口。
generateVisualContent在需要(重新)生成 VisualElement 可视内容时调用。
hierarchy 访问此元素物理层级视图
pickingMode确定在 mouseEvents 或 IPanel.Pick 查询期间是否可以选取此元素。
resolvedStyle返回 VisualElement 解析的样式值。
schedule检索此 VisualElement 的 IVisualElementScheduler
style引用此元素的样式对象。
styleSheets返回一个 VisualElementStyleSheetSet,用于操作附加到此元素的样式表。
this[int] 访问此元素物理层级视图
tooltip用户将元素悬停一小段时间后显示在信息框内的文本。
usageHints提示值的组合,用于指定 VisualElement 的高级预期使用模式。 仅当 VisualElement 尚未成为 Panel 的一部分时,才可以设置此属性。一旦成为 Panel 的一部分,此属性实际上会变为只读状态,尝试更改它将抛出异常。 适当的 UsageHints 的规范会促使系统根据预期的使用模式更好地决定如何处理或加速某些操作。 请注意,这些提示不影响行为或视觉效果,而只影响面板及其内部元素的总体性能。 通常,建议始终考虑指定适当的 UsageHints,但请注意,在某些情况下(例如,由于目标平台的硬件限制),一些 UsageHints 可能会被内部忽略。
userData此属性可用于将特定于应用程序的用户数据与此 VisualElement 关联。
viewDataKey用于查看数据持久性(即树展开状态、滚动位置、缩放级别)。

公共函数

HandleEvent处理事件,通常是通过执行与事件关联的回调处理事件。
HasBubbleUpHandlers如果事件传播 BubbleUp 阶段的事件处理程序已附加到此对象,则返回 true。
HasTrickleDownHandlers如果事件传播 TrickleDown 阶段的事件处理程序已附加到此对象,则返回 true。
RegisterCallback向实例添加事件处理程序。如果已为同一阶段(TrickleDown 或 BubbleUp)注册了事件处理程序,则此方法没有效果。
SendEvent将事件发送到事件处理程序。
UnregisterCallback从此实例删除回调。
Blur通知元素释放焦点。
Focus尝试让此元素获得焦点。
GetGlobalCenter获取 GraphElement 的中心点。
GetPosition获取 GraphElement 定位。
HitTest查看点是否在 GraphElement 之上。
IsAscendable检查 GraphElement 被选中时是否会被自动带到前面。
IsCopiableChecks whether the GraphElement is copiable.
IsDroppableGraphElement 可拖放。
IsGroupableChecks whether the GraphElement is groupable.
IsMovableGraphElement 可以移动。
IsRenamableGraphElement 可以重命名。
IsResizableGraphElement 可以重新确定大小。
IsSelectableGraphElement 是可选择的。
IsSelected当前已在特定容器中选择 GraphElement。
IsStackableChecks whether the GraphElement is stackable.
OnSelected在选择 GraphElement 时调用。
OnUnselected在取消选择 GraphElement 时调用。
ResetLayer将 GraphElement 重置为其原始图层。
Select选择 GraphElement。
SetPosition设置 GraphElement 定位。
Unselect取消选择 GraphElement。
BuildContextualMenu向节点上下文菜单添加菜单项。
InstantiatePort创建一个特定于此节点的新端口。
RefreshExpandedState将自定义元素添加到 extensionContainer 后,调用此方法以使这些元素变得可见。
RefreshPorts刷新端口布局。
SetPosition设置节点位置。
Add向此元素的 contentContainer 添加一个元素
BringToFront将此元素放到其父子列表的末尾。此元素将显示在所有重叠的同级元素前方。
Children从元素的 contentContainer 返回元素
Clear从此元素的 contentContainer 中删除所有子元素
Contains如果元素是此 VisualElement 的直接子级,则返回 true
ElementAt检索相应位置的子元素
EnableInClassList启用或禁用具有给定名称的类。
FindAncestorUserData向上搜索此 VisualElement 的层级视图并检索存储的 userData(如果找到)。
FindCommonAncestor查找 VisualTree 层级视图中两个 VisualElement 之间的最低共同上级
GetClasses获取此元素的类。
GetFirstAncestorOfType从此元素的父级开始向上访问层级视图,返回第一个此类型的 VisualElement
GetFirstOfType从此元素开始向上访问层级视图,返回第一个此类型的 VisualElement
IndexOf检索指定的 VisualElement 的子索引。
Insert向此元素的 contentContainer 插入一个元素
MarkDirtyRepaint在下一帧触发 VisualElement 的重绘。
PlaceBehind将此元素放在其父子列表中同级元素之前紧邻的位置。如果此元素和同级元素位置重叠,此元素将显示在其同级元素之后。
PlaceInFront将此元素放在其父子列表中同级元素之后紧邻的位置。如果此元素和同级元素位置重叠,此元素将显示在其同级元素之前。
Remove从层级视图中删除此子级
RemoveAt从此元素的 contentContainer 中删除位于此位置的子元素
RemoveFromHierarchy将此元素从其父层级视图中删除
SendEvent将事件发送到事件处理程序。
SendToBack将此元素发送到其父子列表的开始处。此元素将显示在所有重叠的同级元素之后。
SetEnabled更改 VisualElement 启用状态。禁用的 VisualElement 不接收大多数事件。
Sort重新排序来自此 VisualElement contentContainer 的子元素。
ToggleInClassList在类列表中添加和删除给定类名之间切换。

受保护的函数

OnPortRemoved删除端口时调用。
ToggleCollapse切换节点的折叠状态。
UseDefaultStyling应用节点的默认样式。必须由使用自身 uxml 文件的 Node 子类显式调用此方法。