Files
UnrealEngineUWP/Engine/Source/Editor/GraphEditor/Public/GraphEditorModule.h
Chris Gagnon 8fc25ea18e Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 4676797 by Chris Gagnon in Dev-Editor branch]
2019-01-02 14:54:39 -05:00

56 lines
1.7 KiB
C++

// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Misc/Attribute.h"
#include "Framework/Commands/UICommandList.h"
#include "GraphEditor.h"
#include "Modules/ModuleInterface.h"
class FExtender;
class UEdGraph;
/**
* Graph editor public interface
*/
class FGraphEditorModule : public IModuleInterface
{
public:
virtual void StartupModule() override;
virtual void ShutdownModule() override;
/** Delegates to be called to extend the graph menus */
DECLARE_DELEGATE_RetVal_FiveParams( TSharedRef<FExtender>, FGraphEditorMenuExtender_SelectedNode, const TSharedRef<FUICommandList>, const UEdGraph*, const UEdGraphNode*, const UEdGraphPin*, bool);
virtual TArray<FGraphEditorMenuExtender_SelectedNode>& GetAllGraphEditorContextMenuExtender() {return GraphEditorContextMenuExtender;}
private:
friend class SGraphEditor;
/**
* DO NOT CALL THIS METHOD. Use SNew(SGraphEditor) to make instances of SGraphEditor.
*
* @return A GraphEditor implementation.
*/
virtual TSharedRef<SGraphEditor> PRIVATE_MakeGraphEditor(
const TSharedPtr<FUICommandList>& InAdditionalCommands,
const TAttribute<bool>& InIsEditable,
const TAttribute<bool>& InDisplayAsReadOnly,
const TAttribute<bool>& InIsEmpty,
TAttribute<FGraphAppearanceInfo> Appearance,
TSharedPtr<SWidget> InTitleBar,
UEdGraph* InGraphToEdit,
SGraphEditor::FGraphEditorEvents GraphEvents,
bool InAutoExpandActionMenu,
UEdGraph* InGraphToDiff,
FSimpleDelegate InOnNavigateHistoryBack,
FSimpleDelegate InOnNavigateHistoryForward,
TAttribute<bool> ShowGraphStateOverlay);
private:
/** All extender delegates for the graph menus */
TArray<FGraphEditorMenuExtender_SelectedNode> GraphEditorContextMenuExtender;
};