Navigation
API > API/Editor > API/Editor/GraphEditor
Inheritance Hierarchy
- SNodePanel
- FGCObject
- SGraphPanel
References
| Module | GraphEditor |
| Header | /Engine/Source/Editor/GraphEditor/Public/SGraphPanel.h |
| Include | #include "SGraphPanel.h" |
Syntax
class SGraphPanel :
public SNodePanel,
public FGCObject
Variables
| Type | Name | Description | |
|---|---|---|---|
| bool | bIsDrawStateCached | ||
| FCurveSequence | BounceCurve | Bouncing curve | |
| bool | bPreservePinPreviewConnection | Should we ignore the OnStopMakingConnection unless forced? | |
| bool | bShowPIENotification | Whether to draw the overlay indicating we're in PIE | |
| FVector2D | CachedAllottedGeometryScaledSize | Geometry cache | |
| TSet< FEdGraphPinReference > | CurrentHoveredPins | List of pins currently being hovered over | |
| TSharedPtr< TArray< FDiffSingleResult > > | DiffResults | If this graph is displaying the results of a diff, this will provide info on how to display the nodes | |
| TAttribute< int32 > | FocusedDiffResult | ||
| TObjectPtr< UEdGraph > | GraphObj | ||
| FPointerEvent | LastPointerEvent | ||
| FGeometry | LastPointerGeometry | The mouse state from the last mouse move event, used to synthesize pin actions when hovering over a spline on the panel | |
| TWeakPtr< SGraphPin > | MarkedPin | Pin marked via shift-clicking | |
| SGraphEditor::FOnMouseButtonDown | OnClicked | Called when the graph itself is clicked | |
| SGraphEditor::FOnDisallowedPinConnection | OnDisallowedPinConnection | Called when the user generates a warning tooltip because a connection was invalid | |
| SGraphEditor::FOnDoubleClicked | OnDoubleClicked | Called when the graph itself is double clicked | |
| SGraphEditor::FOnDropActor | OnDropActor | Invoked when an actor is dropped onto the panel | |
| SGraphEditor::FOnDropStreamingLevel | OnDropStreamingLevel | Invoked when a streaming level is dropped onto the panel | |
| FOnGetContextMenuFor | OnGetContextMenuFor | Invoked when we need to summon a context menu | |
| FSingleNodeEvent | OnNodeDoubleClicked | What to do when a node is double-clicked | |
| FOnNodeTextCommitted | OnTextCommitted | Invoked when text is committed on panel | |
| FOnUpdateGraphPanel | OnUpdateGraphPanel | Invoked when the panel is updated | |
| FOnNodeVerifyTextCommit | OnVerifyTextCommit | Invoked when text is being committed on panel to verify it | |
| SGraphEditor::EPinVisibility | PinVisibility | Pin visibility mode | |
| FVector2D | PreviewConnectorEndpoint | ||
| TArray< FGraphPinHandle > | PreviewConnectorFromPins | Sometimes the panel draws a preview connector; e.g. when the user is connecting pins | |
| FVector2D | PreviousFrameSavedMousePosForSplineOverlap | The overlap results from the previous OnPaint call | |
| FGraphSplineOverlapResult | PreviousFrameSplineOverlap | ||
| FVector2D | SavedMousePosForOnPaintEventLocalSpace | Last mouse position seen, used for paint-centric highlighting | |
| TAttribute< bool > | ShowGraphStateOverlay | Whether to draw decorations for graph state (PIE / ReadOnly etc.) | |
| double | TimeWhenMouseEnteredPin | Time since the last mouse enter/exit on a pin | |
| double | TimeWhenMouseLeftPin |
Destructors
| Type | Name | Description | |
|---|---|---|---|
~SGraphPanel () |
Destructor. |
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | AddNode
(
UEdGraphNode* Node, |
Helper method to add a new node to the panel | |
| void | AddPinToHoverSet
(
UEdGraphPin* HoveredPin |
||
| void | ArrangeChildrenForContextMenuSummon
(
const FGeometry& AllottedGeometry, |
||
| void | AttachGraphEvents
(
TSharedPtr< SGraphNode > CreatedSubNode |
Helper to attach graph events to sub node, which won't be placed directly on the graph | |
| void | Construct
(
const FArguments& InArgs |
Construct a widget | |
| void | |||
| void | GetAllPins
(
TSet< TSharedRef< SWidget > >& AllPins |
||
| bool | GetBoundsForNode
(
const UObject* InNode, |
Attempt to retrieve the bounds for the specified node | |
| const TSharedRef< SGraphNode > | GetChild
(
int32 ChildIndex |
||
| UEdGraph * | GetGraphObj () |
||
| TSharedPtr< SGraphNode > | GetNodeWidgetFromGuid
(
FGuid Guid |
Get a graph node widget from the specified GUID, if it applies to any nodes in this graph | |
| SGraphEditor::EPinVisibility | |||
| const FGraphSplineOverlapResult & | |||
| TArray< UEdGraphNode * > | Get a list of selected editor graph nodes from the selection manager. | ||
| EActiveTimerReturnType | InvalidatePerTick
(
double InCurrentTime, |
When the graph panel needs to be dynamically refreshing for animations, this function is registered to tick and invalidate the UI. | |
| bool | Returns if this graph is editable | ||
| bool | IsNodeTitleVisible
(
const UEdGraphNode* Node, |
Use to determine if a comment title is currently visible | |
| bool | IsRectVisible
(
const FVector2D& TopLeft, |
Use to determine if a rectangle is currently visible | |
| bool | True in case a connection is currently being relinked, false if not. | ||
| void | JumpToNode
(
const UEdGraphNode* JumpToMe, |
||
| void | JumpToPin
(
const UEdGraphPin* JumptToMe |
||
| bool | JumpToRect
(
const FVector2D& BottomLeft, |
Focuses the view on rectangle, zooming if neccesary | |
| void | NotifyGraphChanged
(
const FEdGraphEditAction& InAction |
||
| void | OnBeginMakingConnection
(
FGraphPinHandle PinHandle |
||
| void | OnBeginMakingConnection
(
UEdGraphPin* InOriginatingPin |
||
| void | OnBeginRelinkConnection
(
const FGraphPinHandle& InSourcePinHandle, |
Indicate that the connection from the given start to the given end pins is being relinked. | |
| void | OnEndRelinkConnection
(
bool bForceStop |
The relink connection operation either got cancelled or has successfully been executed. | |
| void | OnStopMakingConnection
(
bool bForceStop |
||
| void | |||
| void | Purges the existing visual representation (typically followed by an Update call in the next tick) | ||
| void | RefreshNode
(
UEdGraphNode& Node |
Refresh the visual state of a single node | |
| void | RemoveNode
(
const UEdGraphNode* Node |
Helper method to remove a node from the panel | |
| void | RemovePinFromHoverSet
(
UEdGraphPin* UnhoveredPin |
||
| void | SetNodeFactory
(
const TSharedRef< class FGraphNodeFactory >& NewNodeFactory |
Sets the current widget factory. | |
| void | SetPinVisibility
(
SGraphEditor::EPinVisibility InVisibility |
||
| void | Straighten all connections between the selected nodes | ||
| void | StraightenConnections
(
UEdGraphPin* SourcePin, |
Straighten any connections attached to the specified pin, optionally limiting to the specified pin to align | |
| TSharedPtr< SWidget > | SummonContextMenu
(
const FVector2D& WhereToSummon, |
||
| void | SummonCreateNodeMenuFromUICommand
(
uint32 NumNodesAdded |
||
| void | Update () |
Update this GraphPanel to match the data that it is observing. |
Overridden from SNodePanel
| Type | Name | Description | |
|---|---|---|---|
| void | AddGraphNode
(
const TSharedRef< SNode >& NodeToAdd |
Add a slot to the CanvasPanel dynamically | |
| bool | OnHandleLeftMouseRelease
(
const FGeometry& MyGeometry, |
||
| TSharedPtr< SWidget > | OnSummonContextMenu
(
const FGeometry& MyGeometry, |
INTERFACE TO IMPLEMENT. | |
| void | Remove all nodes from the panel |
Overridden from SWidget
| Type | Name | Description | |
|---|---|---|---|
| TSharedPtr< IToolTip > | GetToolTip () |
||
| void | OnArrangeChildren
(
const FGeometry& AllottedGeometry, |
Panels arrange their children in a space described by the AllottedGeometry parameter. | |
| void | OnDragEnter
(
const FGeometry& MyGeometry, |
DRAG AND DROP (DragDrop) Called during drag and drop when the drag enters a widget. | |
| void | OnDragLeave
(
const FDragDropEvent& DragDropEvent |
Called during drag and drop when the drag leaves a widget. | |
| FReply | OnDragOver
(
const FGeometry& MyGeometry, |
Called during drag and drop when the the mouse is being dragged over a widget. | |
| FReply | OnDrop
(
const FGeometry& MyGeometry, |
Called when the user is dropping something onto a widget; terminates drag and drop. | |
| FReply | Called after a key is pressed when this widget has focus (this event bubbles if not handled) | ||
| FReply | OnMouseButtonDoubleClick
(
const FGeometry& InMyGeometry, |
Called when a mouse button is double clicked. Override this in derived classes. | |
| 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. | |
| FReply | OnMouseMove
(
const FGeometry& MyGeometry, |
The system calls this method to notify the widget that a mouse moved within it. | |
| int32 | OnPaint
(
const FPaintArgs& Args, |
The widget should respond by populating the OutDrawElements array with FDrawElements that represent it and any of its children. | |
| bool | Checks to see if this widget supports keyboard focus. Override this in derived classes. |
Overridden from FGCObject
| Type | Name | Description | |
|---|---|---|---|
| void | AddReferencedObjects
(
FReferenceCollector& Collector |
Pure virtual that must be overloaded by the inheriting class. | |
| FString | Overload this method to report a name for your referencer |
Classes
| Type | Name | Description | |
|---|---|---|---|
| FArguments |
Enums
| Type | Name | Description | |
|---|---|---|---|
| AddNodeBehavior | Flag to control AddNode, more readable than a bool: |
Typedefs
| Name | Description |
|---|---|
| FOnGetContextMenuFor |