Version: 2021.1
LanguageEnglish
  • C#
Experimental: this API is experimental and might be changed or removed in the future.

StackNode

class in UnityEditor.Experimental.GraphView

/

Inherits from:Experimental.GraphView.Node


Implements interfaces:IDropTarget

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Description

Use this class to customize StackNodes and to manage dragging GraphElements over StackNodes.

Properties

contentContainerThe content container of this StackNode.
dragEnteredIndicates if items from this stack are currently being dragged.
dropPreviewTemplateUse this property to customize the preview that appears when GraphElements are dragged over the StackNode.
hasMultipleSelectionSupportReturns true if the StackNode supports multiselection.
headerContainerUse this property to customize the header for this StackNode.

Constructors

StackNodeStackNode constructor.

Public Methods

AddElementAdds the specified GraphElement to the StackNode.
CanAcceptDropIndicates whether this StackNode accepts the current drop event.
CollectElementsRetrieves the set of nodes contained in this stack and its edges. The retrieved graph elements match a specific condition.
DragEnterThis method is automatically called when a drag leave event occurs.
DragExitedThis method is automatically called when a drag exit event occurs.
DragLeaveThis method is automatically called when a drag leave event occurs.
DragPerformThis method is automatically called when a drop event occurs.
DragUpdatedThis method is automatically called when a drag updated event occurs.
GetInsertionIndexRetrieves the insertion index in the StackNode if an item is dropped at the specified world position.
InsertElementInserts the specified GraphElement at the specified index in this StackNode.
OnStartDraggingThis method is automatically called when an element of the stack is about to be dragged out of it.
RemoveElementRemoves the specified GraphElement from this StackNode.

Protected Methods

AcceptsElementChecks whether the specified GraphElement can be added to this StackNode.
OnCustomStyleResolvedCalled when the custom style properties are resolved.
OnSeparatorContextualMenuEventThis method is automatically called when a contextual menu is about to appear on a StackNode separator.

Inherited Members

Static Properties

disabledUssClassNameUSS class name of local disabled elements.

Properties

canGrabFocusReturn true if the element can be focused.
delegatesFocusWhether the element should delegate the focus to its children.
focusableTrue if the element can be focused.
focusControllerReturn the focus controller for this element.
tabIndexAn integer used to sort focusables in the focus ring. Must be greater than or equal to zero.
capabilitiesThe GraphElement's capabilities.
elementTypeColorThe color used for the MiniMap view.
layerThe GraphElement's layer in the graph.
selectedTrue if the GraphElement is currently selected.
showInMiniMapWhether the element is shown in the minimap.
titleThe GraphElement's title.
expandedIs node expanded.
extensionContainerEmpty container used to display custom elements. After adding elements, call RefreshExpandedState in order to toggle this container visibility.
inputContainerInput container used for input ports.
mainContainerMain container that includes all other containers.
outputContainerOutputs container, used for output ports.
titleNode's title element.
titleButtonContainerTitle bar button container. Contains the top right buttons.
titleContainerTitle bar container.
topContainerEntire top area containing input and output containers.
childCount Number of child elements in this object's contentContainer
contentContainer child elements are added to this element, usually this
customStyleReturns the custom style properties accessor for this element.
enabledInHierarchyReturns true if the VisualElement is enabled in its own hierarchy.
enabledSelfReturns true if the VisualElement is enabled locally.
experimentalReturns the UIElements experimental interfaces.
generateVisualContentCalled when the VisualElement visual contents need to be (re)generated.
hierarchy Access to this element physical hierarchy
pickingModeDetermines if this element can be pick during mouseEvents or IPanel.Pick queries.
resolvedStyleReturns the VisualElement resolved style values.
scheduleRetrieves this VisualElement's IVisualElementScheduler
styleReference to the style object of this element.
styleSheetsReturns a VisualElementStyleSheetSet that manipulates style sheets attached to this element.
this[int] Access to this element physical hierarchy
tooltipText to display inside an information box after the user hovers the element for a small amount of time.
usageHintsA combination of hint values that specify high-level intended usage patterns for the VisualElement. This property can only be set when the VisualElement is not yet part of a Panel. Once part of a Panel, this property becomes effectively read-only, and attempts to change it will throw an exception. The specification of proper UsageHints drives the system to make better decisions on how to process or accelerate certain operations based on the anticipated usage pattern. Note that those hints do not affect behavioral or visual results, but only affect the overall performance of the panel and the elements within. Generally it advised to always consider specifying the proper UsageHints, but keep in mind that some UsageHints may be internally ignored under certain conditions (e.g. due to hardware limitations on the target platform).
userDataThis property can be used to associate application-specific user data with this VisualElement.
viewDataKeyUsed for view data persistence (ie. tree expanded states, scroll position, zoom level).

Public Methods

HandleEventHandle an event, most often by executing the callbacks associated with the event.
HasBubbleUpHandlersReturn true if event handlers for the event propagation BubbleUp phase have been attached on this object.
HasTrickleDownHandlersReturns true if event handlers, for the event propagation TrickleDown phase, are attached to this object.
RegisterCallbackAdds an event handler to the instance. If the event handler has already been registered for the same phase (either TrickleDown or BubbleUp) then this method has no effect.
SendEventSends an event to the event handler.
UnregisterCallbackRemove callback from the instance.
BlurTell the element to release the focus.
FocusAttempt to give the focus to this element.
GetGlobalCenterGet the GraphElement's center point.
GetPositionGet the GraphElement position.
HitTestSee if point is over the GraphElement.
IsAscendableChecks if the GraphElement is automatically brought to front when selected.
IsCopiableChecks whether the GraphElement is copiable.
IsDroppableThe GraphElement is drag&droppable.
IsGroupableChecks whether the GraphElement is groupable.
IsMovableThe GraphElement is movable.
IsRenamableThe GraphElement is renamable.
IsResizableThe GraphElement is resizable.
IsSelectableThe GraphElement is selectable.
IsSelectedThe GraphElement is currently selected in specific container.
IsSnappableChecks whether the GraphElement is snappable.
IsStackableChecks whether the GraphElement is stackable.
OnSelectedCalled when the GraphElement is selected.
OnUnselectedCalled when the GraphElement is unselected.
ResetLayerReset the GraphElement to its original layer.
SelectSelect the GraphElement.
SetPositionSet the GraphElement position.
UnselectDeselect the GraphElement.
BuildContextualMenuAdd menu items to the node contextual menu.
InstantiatePortCreate a new port specific to this node.
RefreshExpandedStateAfter adding custom elements to the extensionContainer, call this method in order for them to become visible.
RefreshPortsRefresh the layout of the ports.
SetPositionSet node position.
AddAdd an element to this element's contentContainer
BringToFrontBrings this element to the end of its parent children list. The element will be visually in front of any overlapping sibling elements.
ChildrenReturns the elements from its contentContainer
ClearRemove all child elements from this element's contentContainer
ContainsReturns true if the element is a direct child of this VisualElement
ElementAtRetrieves the child element at position
EnableInClassListEnables or disables the class with the given name.
FindAncestorUserDataSearchs up the hierachy of this VisualElement and retrieves stored userData, if any is found.
FindCommonAncestorFinds the lowest commont ancestor between two VisualElements inside the VisualTree hierarchy
GetClassesRetrieve the classes for this element.
GetFirstAncestorOfTypeWalks up the hierarchy, starting from this element's parent, and returns the first VisualElement of this type
GetFirstOfTypeWalks up the hierarchy, starting from this element, and returns the first VisualElement of this type
IndexOfRetrieves the child index of the specified VisualElement.
InsertInsert an element into this element's contentContainer
MarkDirtyRepaintTriggers a repaint of the VisualElement on the next frame.
PlaceBehindPlaces this element right before the sibling element in their parent children list. If the element and the sibling position overlap, the element will be visually behind of its sibling.
PlaceInFrontPlaces this element right after the sibling element in their parent children list. If the element and the sibling position overlap, the element will be visually in front of its sibling.
RemoveRemoves this child from the hierarchy
RemoveAtRemove the child element located at this position from this element's contentContainer
RemoveFromHierarchyRemoves this element from its parent hierarchy
SendEventSends an event to the event handler.
SendToBackSends this element to the beginning of its parent children list. The element will be visually behind any overlapping sibling elements.
SetEnabledChanges the VisualElement enabled state. A disabled VisualElement does not receive most events.
SortReorders child elements from this VisualElement contentContainer.
ToggleInClassListToggles between adding and removing the given class name from the class list.

Protected Methods

OnPortRemovedCalled when port is remove.
ToggleCollapseToggle node's collapse state.
UseDefaultStylingApplies the default styling of Node. This must be explicitly called by Node subclasses that use their own uxml files.