Files
UnrealEngineUWP/Engine/Source/Editor/GraphEditor/Public/GraphEditorActions.h
sebastian nordgren 9f571a3e15 Added "Break This Link" command to graph editor, which is displayed instead of the "Break Link..." submenu when there's only one link to display.
Fixed various Title Case errors in graph editor command names.

#review-18238003 @lauren.barnes
#preflight 619b8f30f934c1a291ceaa0b

[CL 18258594 by sebastian nordgren in ue5-main branch]
2021-11-22 10:13:04 -05:00

150 lines
4.9 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Framework/Commands/Commands.h"
#include "EditorStyleSet.h"
class FGraphEditorCommandsImpl : public TCommands<FGraphEditorCommandsImpl>
{
public:
FGraphEditorCommandsImpl()
: TCommands<FGraphEditorCommandsImpl>( TEXT("GraphEditor"), NSLOCTEXT("Contexts", "GraphEditor", "Graph Editor"), NAME_None, FEditorStyle::GetStyleSetName() )
{
}
virtual ~FGraphEditorCommandsImpl()
{
}
GRAPHEDITOR_API virtual void RegisterCommands() override;
TSharedPtr< FUICommandInfo > ReconstructNodes;
TSharedPtr< FUICommandInfo > BreakNodeLinks;
// Execution sequence specific commands
TSharedPtr< FUICommandInfo > AddExecutionPin;
TSharedPtr< FUICommandInfo > InsertExecutionPinBefore;
TSharedPtr< FUICommandInfo > InsertExecutionPinAfter;
TSharedPtr< FUICommandInfo > RemoveExecutionPin;
// SetFieldsInStruct specific commands
TSharedPtr< FUICommandInfo > RemoveThisStructVarPin;
TSharedPtr< FUICommandInfo > RemoveOtherStructVarPins;
TSharedPtr< FUICommandInfo > RestoreAllStructVarPins;
// Select node specific commands
TSharedPtr< FUICommandInfo > AddOptionPin;
TSharedPtr< FUICommandInfo > RemoveOptionPin;
TSharedPtr< FUICommandInfo > ChangePinType;
TSharedPtr< FUICommandInfo > DeleteAndReconnectNodes;
// Pin visibility modes
TSharedPtr< FUICommandInfo > ShowAllPins;
TSharedPtr< FUICommandInfo > HideNoConnectionPins;
TSharedPtr< FUICommandInfo > HideNoConnectionNoDefaultPins;
// Event / Function Entry commands
TSharedPtr< FUICommandInfo > AddParentNode;
// CallFunction commands
TSharedPtr< FUICommandInfo > CreateMatchingFunction;
// Debugging commands
TSharedPtr< FUICommandInfo > RemoveBreakpoint;
TSharedPtr< FUICommandInfo > AddBreakpoint;
TSharedPtr< FUICommandInfo > EnableBreakpoint;
TSharedPtr< FUICommandInfo > DisableBreakpoint;
TSharedPtr< FUICommandInfo > ToggleBreakpoint;
// Encapsulation commands
TSharedPtr< FUICommandInfo > CollapseNodes;
TSharedPtr< FUICommandInfo > PromoteSelectionToFunction;
TSharedPtr< FUICommandInfo > PromoteSelectionToMacro;
TSharedPtr< FUICommandInfo > ExpandNodes;
TSharedPtr< FUICommandInfo > CollapseSelectionToFunction;
TSharedPtr< FUICommandInfo > CollapseSelectionToMacro;
TSharedPtr< FUICommandInfo > ConvertFunctionToEvent;
TSharedPtr< FUICommandInfo > ConvertEventToFunction;
// Alignment commands
TSharedPtr< FUICommandInfo > AlignNodesTop;
TSharedPtr< FUICommandInfo > AlignNodesMiddle;
TSharedPtr< FUICommandInfo > AlignNodesBottom;
TSharedPtr< FUICommandInfo > AlignNodesLeft;
TSharedPtr< FUICommandInfo > AlignNodesCenter;
TSharedPtr< FUICommandInfo > AlignNodesRight;
TSharedPtr< FUICommandInfo > StraightenConnections;
TSharedPtr< FUICommandInfo > DistributeNodesHorizontally;
TSharedPtr< FUICommandInfo > DistributeNodesVertically;
// Enable/disable commands
TSharedPtr< FUICommandInfo > EnableNodes;
TSharedPtr< FUICommandInfo > DisableNodes;
TSharedPtr< FUICommandInfo > EnableNodes_Always;
TSharedPtr< FUICommandInfo > EnableNodes_DevelopmentOnly;
//
TSharedPtr< FUICommandInfo > SelectReferenceInLevel;
TSharedPtr< FUICommandInfo > AssignReferencedActor;
// Find references
TSharedPtr< FUICommandInfo > FindReferences;
GRAPHEDITOR_API TSharedPtr< FUICommandInfo > GetFindReferences() const { return FindReferences; }
TSharedPtr< FUICommandInfo > FindAndReplaceReferences;
// Jumps to the definition of the selected node (or otherwise focuses something interesting about that node, e.g., the inner graph for a collapsed graph)
TSharedPtr< FUICommandInfo > GoToDefinition;
// Pin-specific actions
TSharedPtr< FUICommandInfo > BreakThisLink;
TSharedPtr< FUICommandInfo > BreakPinLinks;
TSharedPtr< FUICommandInfo > PromoteToVariable;
TSharedPtr< FUICommandInfo > PromoteToLocalVariable;
TSharedPtr< FUICommandInfo > SplitStructPin;
TSharedPtr< FUICommandInfo > RecombineStructPin;
TSharedPtr< FUICommandInfo > StartWatchingPin;
TSharedPtr< FUICommandInfo > StopWatchingPin;
TSharedPtr< FUICommandInfo > ResetPinToDefaultValue;
TSharedPtr< FUICommandInfo > SelectAllInputNodes;
TSharedPtr< FUICommandInfo > SelectAllOutputNodes;
//create a comment node
TSharedPtr< FUICommandInfo > CreateComment;
// Zoom in and out on the graph editor
TSharedPtr< FUICommandInfo > ZoomIn;
TSharedPtr< FUICommandInfo > ZoomOut;
// Go to node documentation
TSharedPtr< FUICommandInfo > GoToDocumentation;
// Open the context menu at last known mouse position
TSharedPtr< FUICommandInfo > SummonCreateNodeMenu;
// Quick jump commands
struct FQuickJumpCommandInfo
{
TSharedPtr< FUICommandInfo > QuickJump;
TSharedPtr< FUICommandInfo > SetQuickJump;
TSharedPtr< FUICommandInfo > ClearQuickJump;
};
TArray< FQuickJumpCommandInfo > QuickJumpCommands;
TSharedPtr< FUICommandInfo > ClearAllQuickJumps;
};
class GRAPHEDITOR_API FGraphEditorCommands
{
public:
static void Register();
static const FGraphEditorCommandsImpl& Get();
static void Unregister();
};