Navigation
API > API/Editor > API/Editor/GraphEditor
| Name | SNodePanel |
| Type | class |
| Header File | /Engine/Source/Editor/GraphEditor/Public/SNodePanel.h |
| Include Path | #include "SNodePanel.h" |
Syntax
class SNodePanel : public SPanel
Inheritance Hierarchy
- FSharedFromThisBase → TSharedFromThis → SWidget → SPanel → SNodePanel
- FSlateControlledConstruction → SWidget → SPanel → SNodePanel
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
SLATE_DECLARE_WIDGET_API(SNodePanel, SPanel, UE_API) public SNodePanel() |
SNodePanel.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| SelectionManager | FGraphSelectionManager | Nodes selected in this instance of the editor; the selection is per-instance of the GraphEditor | SNodePanel.h |
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| ActiveTimerHandle | TWeakPtr< FActiveTimerHandle > | The handle to the active timer | SNodePanel.h | |
| CurrentBookmarkGuid | FGuid | Current view bookmark info | SNodePanel.h | |
| IsEditableAttribute | TSlateAttribute< bool > | Is the graph editable (can nodes be moved, etc...)? | SNodePanel.h | |
| ViewOffsetAttribute | TSlateAttribute< FVector2f > | The position within the graph at which the user is looking | SNodePanel.h | |
| ZoomTargetBottomRight | FVector2f | SNodePanel.h | ||
| ZoomTargetTopLeft | FVector2f | Zoom target rectangle | SNodePanel.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool Contains
(
UObject* Node |
Is the given node being observed by a widget in this panel? | SNodePanel.h | |
void FinalizeNodeMovements() |
Commit transactions for any node movements | SNodePanel.h | |
bool GetBoundsForSelectedNodes
(
FSlateRect& Rect, |
Get the bounding area for the currently selected nodes | SNodePanel.h | |
UObject * GetCurrentHoveredNode() |
SNodePanel.h | ||
EGraphRenderingLOD::Type GetCurrentLOD() |
Returns the current LOD level of this panel, based on the zoom factor | SNodePanel.h | |
FChildren * GetManagedChildren() |
SNodePanel.h | ||
UE::Slate::FDeprecateVector2DResult GetPastePosition() |
SNodePanel.h | ||
const FGuid & GetViewBookmarkId() |
SNodePanel.h | ||
UE::Slate::FDeprecateVector2DResult GetViewOffset() |
SNodePanel.h | ||
FChildren * GetVisibleChildren() |
Returns all the visible panel children | SNodePanel.h | |
float GetZoomAmount() |
@retun the zoom amount; e.g. a value of 0.25f results in quarter-sized nodes | SNodePanel.h | |
int32 GetZoomLevel() |
SNodePanel.h | ||
const TSharedPtr< FZoomLevelsContainer > & GetZoomLevels() |
SNodePanel.h | ||
bool GetZoomTargetRect
(
FVector2D& TopLeft, |
When a panel is scrolling/zooming to a target, this can be called to get it's destination | SNodePanel.h | |
bool GetZoomTargetRect
(
FVector2f& TopLeft, |
SNodePanel.h | ||
FText GetZoomText() |
SNodePanel.h | ||
FSlateColor GetZoomTextColorAndOpacity() |
SNodePanel.h | ||
bool HasDeferredObjectFocus() |
If it is focusing on a particular object | SNodePanel.h | |
bool HasDeferredZoomDestination() |
Query whether this graph is about to start panning/zooming towards a destination | SNodePanel.h | |
bool HasMoved() |
Returns if the panel has been panned or zoomed since the last update | SNodePanel.h | |
UE::Slate::FDeprecateVector2DResult PanelCoordToGraphCoord
(
const UE::Slate::FDeprecateVector2DParameter& 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 | SNodePanel.h | |
void RequestDeferredPan
(
const UE::Slate::FDeprecateVector2DParameter& TargetPosition |
Ask panel to scroll to location | SNodePanel.h | |
void RestoreViewSettings
(
const UE::Slate::FDeprecateVector2DParameter& InViewOffset, |
Restore the graph panel to the supplied view offset/zoom. | SNodePanel.h | |
void SetCurrentHoveredNode
(
UObject* InNode |
SNodePanel.h | ||
void SetViewOffset
(
const UE::Slate::FDeprecateVector2DResult& InViewOffset |
Sets the current view offset | SNodePanel.h | |
void SetZoomLevel
(
int32 InZoomLevel |
Sets the current zoom level | SNodePanel.h | |
void SetZoomLevelsContainer () |
Sets the zoom levels container. | SNodePanel.h | |
void SetZoomLevelsContainer
(
const TSharedPtr< FZoomLevelsContainer >& InZoomLevels |
SNodePanel.h | ||
void ZoomToFit
(
bool bOnlySelection |
Zooms out to fit either all nodes or only the selected ones. | SNodePanel.h |
Public Virtual
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual FChildren * GetAllChildren() |
Returns only the visible children as this is the function called by the invalidation system | SNodePanel.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void CancelZoomToFit() |
Cancels any active zoom-to-fit action. | SNodePanel.h | |
void CenterObject
(
const UObject* ObjectToCenter |
On the next tick, centers the widget associated with the object if it exists | SNodePanel.h | |
void ChangeZoomLevel
(
int32 ZoomLevelDelta, |
Change zoom level by the specified zoom level delta, about the specified origin. | SNodePanel.h | |
void Construct() |
Initialize members | SNodePanel.h | |
void FindNodesAffectedByMarquee
(
FGraphPanelSelectionSet& OutAffectedNodes |
Figure out which nodes intersect the marquee rectangle | SNodePanel.h | |
bool GetBoundsForNode
(
const UObject* InNode, |
SNodePanel.h | ||
bool GetBoundsForNode
(
const UObject* InNode, |
Get the bounds of the given node | SNodePanel.h | |
bool GetBoundsForNodes
(
bool bSelectionSetOnly, |
SNodePanel.h | ||
bool GetBoundsForNodes
(
bool bSelectionSetOnly, |
Get the bounds of the selected nodes | SNodePanel.h | |
bool GetIsEditable() |
SNodePanel.h | ||
TSlateAttributeRef< bool > GetIsEditableAttribute() |
SNodePanel.h | ||
const FNodeSnappingManager * GetSnappingManager () |
SNodePanel.h | ||
FNodeSnappingManager * GetSnappingManager () |
SNodePanel.h | ||
TSlateAttributeRef< FVector2f > GetViewOffsetAttribute() |
SNodePanel.h | ||
FVector2f GraphCoordToPanelCoord
(
const UE::Slate::FDeprecateVector2DParameter& 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 | SNodePanel.h | |
bool IsNodeCulled
(
const TSharedRef< SNode >& Node, |
Determines if a specified node is not visually relevant. | SNodePanel.h | |
void PaintBackgroundAsLines
(
const FSlateBrush* BackgroundImage, |
Paint the background as lines. | SNodePanel.h | |
void PaintComment
(
const FString& CommentText, |
Paint a comment bubble. | SNodePanel.h | |
void PaintMarquee
(
const FGeometry& AllottedGeometry, |
Paint the marquee selection rectangle. | SNodePanel.h | |
void PaintSoftwareCursor
(
const FGeometry& AllottedGeometry, |
Paint the software mouse if necessary. | SNodePanel.h | |
void PaintSurroundSunkenShadow
(
const FSlateBrush* ShadowImage, |
Paint the well shadow (around the perimeter) | SNodePanel.h | |
FSlateRect PanelRectToGraphRect
(
const FSlateRect& PanelSpaceRect |
Given a rectangle in panel space, return a rectangle in graph space. | SNodePanel.h | |
void PostChangedZoom() |
Should be called whenever the zoom level has changed. | SNodePanel.h | |
void RequestZoomToFit() |
Fires up a per-tick function to zoom the graph to fit. | SNodePanel.h | |
bool ScrollToLocation
(
const FGeometry& MyGeometry, |
Scroll the view to the desired location | SNodePanel.h | |
void SelectAndCenterObject
(
const UObject* ObjectToSelect, |
On the next tick, centers and selects the widget associated with the object if it exists | SNodePanel.h | |
void SetIsEditable
(
TAttribute< bool > InIsEditableAttribute |
SNodePanel.h | ||
void UpdateViewOffset
(
const FGeometry& MyGeometry, |
Update the new view offset location | SNodePanel.h | |
bool ZoomToLocation
(
const FVector2f& CurrentSizeWithoutZoom, |
Zoom to fit the desired size | SNodePanel.h | |
void ZoomToTarget
(
const FVector2f& TopLeft, |
Zooms to the specified target rect | SNodePanel.h |
Protected Virtual
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void AddGraphNode
(
const TSharedRef< SNode >& NodeToAdd |
Add a slot to the CanvasPanel dynamically | SNodePanel.h | |
virtual void ArrangeChildNodes
(
const FGeometry& AllottedGeometry, |
Arrange child nodes - allows derived classes to supply non-node children in OnArrangeChildren | SNodePanel.h | |
virtual void OnBeginNodeInteraction
(
const TSharedRef< SNode >& InNodeToDrag, |
SNodePanel.h | ||
virtual void OnBeginNodeInteraction
(
const TSharedRef< SNode >& InNodeToDrag, |
Lets the CanvasPanel know that the user is interacting with a node. | SNodePanel.h | |
virtual void OnEndNodeInteraction
(
const TSharedRef< SNode >& InNodeToDrag |
Lets the CanvasPanel know that the user has ended interacting with a node. | SNodePanel.h | |
virtual bool OnHandleLeftMouseRelease
(
const FGeometry& MyGeometry, |
SNodePanel.h | ||
virtual void OnSelectionChanged
(
const TSet< UObject* >& Objects |
Called when the graph selection changed | SNodePanel.h | |
virtual TSharedPtr< SWidget > OnSummonContextMenu
(
const FGeometry& MyGeometry, |
INTERFACE TO IMPLEMENT. | SNodePanel.h | |
virtual void PopulateVisibleChildren
(
const FGeometry& AllottedGeometry |
Populate visibile children array | SNodePanel.h | |
virtual void RemoveAllNodes() |
Remove all nodes from the panel | SNodePanel.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static void ApplyMarqueeSelection
(
const FMarqueeOperation& InMarquee, |
Apply the marquee operation to the current selection | SNodePanel.h | |
static FVector2f ComputeEdgePanAmount
(
const FGeometry& MyGeometry, |
Compute much panel needs to change to pan to location | SNodePanel.h | |
static uint32 GetSnapGridSize() |
Get the grid snap size | SNodePanel.h |