Navigation
Unreal Engine C++ API Reference > Editor > GraphEditor
Inheritance Hierarchy
References
Module | GraphEditor |
Header | /Engine/Source/Editor/GraphEditor/Public/SNodePanel.h |
Include | #include "SNodePanel.h" |
Syntax
class SNodePanel : public SPanel
Variables
Type | Name | Description | |
---|---|---|---|
![]() |
bool | bAllowContinousZoomInterpolation | Allow continous zoom interpolation? |
![]() |
bool | bDeferredZoomToNodeExtents | Deferred zoom to node extents |
![]() |
bool | bDeferredZoomToSelection | Deferred zoom to selected node extents |
![]() |
bool | bIsPanning | Are we panning the view at the moment? |
![]() |
bool | bIsZoomingWithTrackpad | Are we zooming the view with trackpad at the moment? |
![]() |
bool | bRequestDeferredPan | True if pending request for deferred panning |
![]() |
bool | bShowSoftwareCursor | Whether the software cursor should be drawn |
![]() |
bool | bTeleportInsteadOfScrollingWhenZoomingToFit | Teleport immediately, or smoothly scroll when doing a deferred zoom |
![]() |
bool | bVisualUpdatePending | A flag to detect when a visual update is pending to prevent deferred commands like zoom to fit from running when there are no widgets |
![]() |
FGeometry | CachedGeometry | Cached geometry for use within the active timer |
![]() |
TSlotlessChildren< SNode > | Children | The graph node widgets owned by this panel |
![]() |
EGraphRenderingLOD::Type | CurrentLOD | Current LOD level for nodes/pins |
![]() |
const UObject * | DeferredMovementTargetObject | If non-null and a part of this panel, this node will be brought into view on the next Tick |
![]() |
FVector2D | DeferredPanPosition | Position to pan to |
![]() |
TSet< const UObject * > | DeferredSelectionTargetObjects | If not empty and a part of this panel, this node will be selected and brought into view on the next Tick |
![]() |
TAttribute< bool > | IsEditable | Is the graph editable (can nodes be moved, etc...)? |
![]() |
FInputChord | LastKeyChordDetected | The last key chord detected in this graph panel |
![]() |
FMarqueeOperation | Marquee | A pending marquee operation if it's active |
![]() |
FVector2D | NodeGrabOffset | Where in the title the user grabbed to initiate the drag |
![]() |
TMap< UObject *, TSharedRef< SNode > > | NodeToWidgetLookup | Given a node, find the corresponding widget |
![]() |
TWeakPtr< SNode > | NodeUnderMousePtr | The node that the user is dragging. Null when they are not dragging a node. |
![]() |
FVector2D | OldViewOffset | The position within the graph at which the user was looking last tick |
![]() |
float | OldZoomAmount | The actual scalar zoom amount last tick |
![]() |
SGraphEditor::FOnNodeSingleClicked | OnNodeSingleClicked | Called when the user left clicks on a node without dragging |
![]() |
SGraphEditor::FOnSpawnNodeByShortcut | OnSpawnNodeByShortcut | Invoked when the user may be attempting to spawn a node using a shortcut |
![]() |
TMap< TWeakPtr< SNode >, FVector2D > | OriginalNodePositions | Node positions pre-drag, used to limit transaction creation on drag |
![]() |
FVector2D | PastePosition | The position where we should paste when a user executes the paste command. |
![]() |
int32 | PreviousZoomLevel | Previous Zoom Level |
![]() |
TSharedPtr< FScopedTransaction > | ScopedTransactionPtr | The current transaction for undo/redo |
![]() |
FGraphSelectionManager | SelectionManager | Nodes selected in this instance of the editor; the selection is per-instance of the GraphEditor |
![]() |
FVector2D | SoftwareCursorPosition | The current position of the software cursor |
![]() |
float | TotalGestureMagnify | Cumulative magnify delta from trackpad gesture |
![]() |
float | TotalMouseDelta | The total distance that the mouse has been dragged while down |
![]() |
float | TotalMouseDeltaXY | The additive X and Y components of mouse drag (used when zooming) |
![]() |
FVector2D | ViewOffset | The position within the graph at which the user is looking |
![]() |
TSlotlessChildren< SNode > | VisibleChildren | |
![]() |
int32 | ZoomLevel | How zoomed in/out we are. e.g. 0.25f results in quarter-sized nodes. |
![]() |
FCurveSequence | ZoomLevelFade | Curve that handles fading the 'Zoom +X' text |
![]() |
FCurveSequence | ZoomLevelGraphFade | Fade on zoom for graph |
![]() |
TUniquePtr< FZoomLevelsContainer > | ZoomLevels | The interface for mapping ZoomLevel values to actual node scaling values. |
![]() |
float | ZoomPadding | Zoom selection padding |
![]() |
FVector2D | ZoomStartOffset | Offset in the panel the user started the LMB+RMB zoom from |
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
SNodePanel () |
Functions
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
void | AddGraphNode
(
const TSharedRef< SNode >& NodeToAdd |
Add a slot to the CanvasPanel dynamically |
![]() ![]() |
void | ApplyMarqueeSelection
(
const FMarqueeOperation& InMarquee, |
Apply the marquee operation to the current selection |
![]() ![]() ![]() |
void | ArrangeChildNodes
(
const FGeometry& AllottedGeometry, |
Arrange child nodes - allows derived classes to supply non-node children in OnArrangeChildren |
![]() |
void | Cancels any active zoom-to-fit action. | |
![]() |
void | CenterObject
(
const UObject* ObjectToCenter |
On the next tick, centers the widget associated with the object if it exists |
![]() |
void | ChangeZoomLevel
(
int32 ZoomLevelDelta, |
Change zoom level by the specified zoom level delta, about the specified origin. |
![]() ![]() |
FVector2D | ComputeEdgePanAmount
(
const FGeometry& MyGeometry, |
Compute much panel needs to change to pan to location |
![]() |
void | Construct () |
Initialize members |
![]() ![]() |
bool | Is the given node being observed by a widget in this panel? | |
![]() |
void | Commit transactions for any node movements | |
![]() ![]() |
void | FindNodesAffectedByMarquee
(
FGraphPanelSelectionSet& OutAffectedNodes |
Figure out which nodes intersect the marquee rectangle |
![]() ![]() |
bool | GetBoundsForNode
(
const UObject* InNode, |
Get the bounds of the given node |
![]() |
bool | GetBoundsForNodes
(
bool bSelectionSetOnly, |
Get the bounds of the selected nodes |
![]() |
bool | GetBoundsForSelectedNodes
(
FSlateRect& Rect, |
Get the bounding area for the currently selected nodes |
![]() ![]() |
EGraphRenderingLOD::Type | Returns the current LOD level of this panel, based on the zoom factor | |
![]() ![]() |
FVector2D | ||
![]() ![]() |
uint32 | Get the grid snap size | |
![]() ![]() |
const FGuid & | ||
![]() ![]() |
FVector2D | ||
![]() ![]() |
float | The zoom amount; e.g. a value of 0.25f results in quarter-sized nodes | |
![]() ![]() |
bool | GetZoomTargetRect
(
FVector2D& TopLeft, |
When a panel is scrolling/zooming to a target, this can be called to get it's destination |
![]() ![]() |
FText | GetZoomText () |
|
![]() ![]() |
FSlateColor | ||
![]() ![]() |
FVector2D | GraphCoordToPanelCoord
(
const FVector2D& GraphSpaceCoordinate |
Given a coordinate in graph space (e.g. a node's position), return the same coordinate in widget space while taking zoom and panning into account |
![]() ![]() |
bool | If it is focusing on a particular object | |
![]() ![]() |
bool | Query whether this graph is about to start panning/zooming towards a destination | |
![]() ![]() |
bool | HasMoved () |
Returns if the panel has been panned or zoomed since the last update |
![]() ![]() |
bool | IsNodeCulled
(
const TSharedRef< SNode >& Node, |
Determines if a specified node is not visually relevant. |
![]() ![]() |
void | OnBeginNodeInteraction
(
const TSharedRef< SNode >& InNodeToDrag, |
Lets the CanvasPanel know that the user is interacting with a node. |
![]() ![]() |
void | OnEndNodeInteraction
(
const TSharedRef< SNode >& InNodeToDrag |
Lets the CanvasPanel know that the user has ended interacting with a node. |
![]() ![]() |
bool | OnHandleLeftMouseRelease
(
const FGeometry& MyGeometry, |
|
![]() ![]() |
TSharedPtr< SWidget > | OnSummonContextMenu
(
const FGeometry& MyGeometry, |
INTERFACE TO IMPLEMENT. |
![]() ![]() |
void | PaintBackgroundAsLines
(
const FSlateBrush* BackgroundImage, |
Paint the background as lines. |
![]() ![]() |
void | PaintComment
(
const FString& CommentText, |
Paint a comment bubble. |
![]() ![]() |
void | PaintMarquee
(
const FGeometry& AllottedGeometry, |
Paint the marquee selection rectangle. |
![]() ![]() |
void | PaintSoftwareCursor
(
const FGeometry& AllottedGeometry, |
Paint the software mouse if necessary. |
![]() ![]() |
void | PaintSurroundSunkenShadow
(
const FSlateBrush* ShadowImage, |
Paint the well shadow (around the perimeter) |
![]() ![]() |
FVector2D | PanelCoordToGraphCoord
(
const FVector2D& PanelSpaceCoordinate |
Given a coordinate in panel space (i.e. panel widget space), return the same coordinate in graph space while taking zoom and panning into account |
![]() ![]() |
FSlateRect | PanelRectToGraphRect
(
const FSlateRect& PanelSpaceRect |
Given a rectangle in panel space, return a rectangle in graph space. |
![]() ![]() |
void | PopulateVisibleChildren
(
const FGeometry& AllottedGeometry |
Populate visibile children array |
![]() |
void | Should be called whenever the zoom level has changed. | |
![]() ![]() |
void | Remove all nodes from the panel | |
![]() |
void | RequestDeferredPan
(
const FVector2D& TargetPosition |
Ask panel to scroll to location |
![]() |
void | Fires up a per-tick function to zoom the graph to fit. | |
![]() |
void | RestoreViewSettings
(
const FVector2D& InViewOffset, |
Restore the graph panel to the supplied view offset/zoom. |
![]() |
bool | ScrollToLocation
(
const FGeometry& MyGeometry, |
Scroll the view to the desired location |
![]() |
void | SelectAndCenterObject
(
const UObject* ObjectToSelect, |
On the next tick, centers and selects the widget associated with the object if it exists |
![]() |
void | Sets the zoom levels container. | |
![]() |
void | UpdateViewOffset
(
const FGeometry& MyGeometry, |
Update the new view offset location |
![]() |
void | ZoomToFit
(
bool bOnlySelection |
Zooms out to fit either all nodes or only the selected ones. |
![]() |
bool | ZoomToLocation
(
const FVector2D& CurrentSizeWithoutZoom, |
Zoom to fit the desired size |
![]() |
void | ZoomToTarget
(
const FVector2D& TopLeft, |
Zooms to the specified target rect |
Overridden from SWidget
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
FVector2D | ComputeDesiredSize
(
float |
A Panel's desired size in the space required to arrange of its children on the screen while respecting all of the children's desired sizes and any layout-related options specified by the user. |
![]() ![]() |
FChildren * | Returns all the panel children rather than only visible | |
![]() ![]() |
FChildren * | GetChildren () |
All widgets must provide a way to access their children in a layout-agnostic way. |
![]() ![]() ![]() |
float | GetRelativeLayoutScale
(
int32 ChildIndex, |
What is the Child's scale relative to this widget. |
![]() ![]() ![]() |
void | OnArrangeChildren
(
const FGeometry& AllottedGeometry, |
Panels arrange their children in a space described by the AllottedGeometry parameter. |
![]() ![]() ![]() |
FCursorReply | OnCursorQuery
(
const FGeometry& MyGeometry, |
The system asks each widget under the mouse to provide a cursor. This event is bubbled. |
![]() ![]() |
void | OnFocusLost
(
const FFocusEvent& InFocusEvent |
Called when this widget loses focus. This event does not bubble. |
![]() ![]() |
FReply | Called after a key is pressed when this widget has focus (this event bubbles if not handled) | |
![]() ![]() |
FReply | Called after a key is released when this widget has focus | |
![]() ![]() |
FReply | OnMouseButtonDown
(
const FGeometry& MyGeometry, |
MOUSE INPUT The system calls this method to notify the widget that a mouse button was pressed within it. |
![]() ![]() |
FReply | OnMouseButtonUp
(
const FGeometry& MyGeometry, |
The system calls this method to notify the widget that a mouse button was release within it. |
![]() ![]() |
void | OnMouseCaptureLost
(
const FCaptureLostEvent& CaptureLostEvent |
Called when this widget had captured the mouse, but that capture has been revoked for some reason. |
![]() ![]() |
FReply | OnMouseMove
(
const FGeometry& MyGeometry, |
The system calls this method to notify the widget that a mouse moved within it. |
![]() ![]() |
FReply | OnMouseWheel
(
const FGeometry& MyGeometry, |
Called when the mouse wheel is spun. This event is bubbled. |
![]() ![]() |
FReply | OnTouchEnded
(
const FGeometry& MyGeometry, |
Called when a touchpad touch is ended (finger lifted) |
![]() ![]() |
FReply | OnTouchGesture
(
const FGeometry& MyGeometry, |
TOUCH and GESTURES Called when the user performs a gesture on trackpad. This event is bubbled. |
![]() ![]() |
void | Ticks this widget with Geometry. |
Classes
Type | Name | Description | |
---|---|---|---|
![]() |
SNode |