Projekt for SPIE - Avatar for safety briefing / managment event
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

59 lines
3.4 KiB

// Copyright 2019 yangxiangyun
// All Rights Reserved
#pragma once
#include "CoreMinimal.h"
#include "Framework/Commands/Commands.h"
#include "NGAEditorStyle.h"
class FNodeGraphAssistantCommands : public TCommands<FNodeGraphAssistantCommands>
{
public:
FNodeGraphAssistantCommands() : TCommands<FNodeGraphAssistantCommands>
(
"NodeGraphAssistant",
NSLOCTEXT("NodeGraphAssistant", "NodeGraphAssistantCommand", "Node graph assistant command"),
NAME_None,
FNGAEditorStyle::Get().GetStyleSetName()
)
{}
TSharedPtr< FUICommandInfo > RearrangeNode;
TSharedPtr< FUICommandInfo > BypassNodes;
TSharedPtr< FUICommandInfo > SelectDownStreamNodes;
TSharedPtr< FUICommandInfo > SelectUpStreamNodes;
TSharedPtr< FUICommandInfo > CycleWireDrawStyle;
TSharedPtr< FUICommandInfo > ToggleMaterialGraphWireColor;
TSharedPtr< FUICommandInfo > ToggleAutoConnect;
TSharedPtr< FUICommandInfo > DuplicateNodeWithInput;
TSharedPtr< FUICommandInfo > ExchangeWires;
TSharedPtr< FUICommandInfo > ToggleInsertNode;
TSharedPtr< FUICommandInfo > BypassAndKeepNodes;
TSharedPtr< FUICommandInfo > ConnectNodes;
virtual void RegisterCommands() override;
};
#define LOCTEXT_NAMESPACE "FNodeGraphAssistantCommands"
inline void FNodeGraphAssistantCommands::RegisterCommands()
{
UI_COMMAND(RearrangeNode, "Rearrange Nodes", "Rearrange Nodes into grid structure", EUserInterfaceActionType::Button, FInputChord(EKeys::R, false, false, true, false));
UI_COMMAND(BypassNodes, "Bypass Nodes", "Disconnect selected nodes from outside connections while maintain connetion flow,delete selected nodes if fully bypassed.", EUserInterfaceActionType::Button, FInputChord(EKeys::X, false, false, true, false));
UI_COMMAND(SelectDownStreamNodes, "Select downstream nodes", "Select all nodes connected to selected nodes' inputs", EUserInterfaceActionType::Button, FInputChord(EKeys::A, false, false, true, false));
UI_COMMAND(SelectUpStreamNodes, "Select upstream nodes", "Select all nodes connected to selected nodes' outputs", EUserInterfaceActionType::Button, FInputChord(EKeys::D, false, false, true, false));
UI_COMMAND(CycleWireDrawStyle, "Wire Style", "Cycle through connection wire drawing style", EUserInterfaceActionType::Button, FInputChord());
UI_COMMAND(ToggleMaterialGraphWireColor, "Wire color", "toggle wire color for material graph", EUserInterfaceActionType::Button, FInputChord());
UI_COMMAND(ToggleAutoConnect, "Auto Connect", "Automatically connect selected node's pin to adjacent node pins", EUserInterfaceActionType::ToggleButton, FInputChord());
UI_COMMAND(DuplicateNodeWithInput, "Duplicate Node With Input", "duplicate nodes and keep inputs", EUserInterfaceActionType::Button, FInputChord(EKeys::V, false, false, true, false));
UI_COMMAND(ExchangeWires, "Exchange Wires", "Exchange two selected wires", EUserInterfaceActionType::Button, FInputChord(EKeys::T, false, false, true, false));
UI_COMMAND(ToggleInsertNode, "Auto Insert", "Automatically insert dragging node to hovered wire.", EUserInterfaceActionType::ToggleButton, FInputChord());
UI_COMMAND(BypassAndKeepNodes, "Bypass Nodes", "Disconnect selected nodes from outside connections while maintain connetion flow.", EUserInterfaceActionType::Button, FInputChord(EKeys::X, true, false, true, false));
UI_COMMAND(ConnectNodes, "Connect Nodes", "Auto connect all plausible pins withing selected nodes.", EUserInterfaceActionType::Button, FInputChord(EKeys::C, false, false, true, false));
}
#undef LOCTEXT_NAMESPACE