Files
UnrealEngineUWP/Engine/Source/Editor/GraphEditor/Public/GraphEditorActions.h
Lauren Barnes 6248f8d412 Replacing legacy EditorStyle calls with AppStyle
#preflight 6272a74d2f6d177be3c6fdda
#rb Matt.Kuhlenschmidt

#ROBOMERGE-OWNER: Lauren.Barnes
#ROBOMERGE-AUTHOR: lauren.barnes
#ROBOMERGE-SOURCE: CL 20057269 via CL 20070159 via CL 20072035 via CL 20072203
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
#ROBOMERGE-CONFLICT from-shelf

[CL 20105363 by Lauren Barnes in ue5-main branch]
2022-05-09 13:12:28 -04: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 "Styling/AppStyle.h"
class FGraphEditorCommandsImpl : public TCommands<FGraphEditorCommandsImpl>
{
public:
FGraphEditorCommandsImpl()
: TCommands<FGraphEditorCommandsImpl>( TEXT("GraphEditor"), NSLOCTEXT("Contexts", "GraphEditor", "Graph Editor"), NAME_None, FAppStyle::GetAppStyleSetName() )
{
}
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();
};