Files
UnrealEngineUWP/Engine/Source/Editor/CurveTableEditor/Public/CurveTableEditorModule.h
ryan durand 627baf970a Updating copyright for Engine Editor.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869241 via CL 10869527 via CL 10869904
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870586 by ryan durand in Main branch]
2019-12-26 15:33:43 -05:00

52 lines
1.9 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Toolkits/IToolkitHost.h"
#include "Modules/ModuleInterface.h"
#include "Toolkits/AssetEditorToolkit.h"
class ICurveTableEditor;
class UCurveTable;
/** CurveTable Editor module */
class FCurveTableEditorModule : public IModuleInterface,
public IHasMenuExtensibility
{
public:
// IModuleInterface
virtual void StartupModule() override;
virtual void ShutdownModule() override;
/**
* Creates an instance of table editor object. Only virtual so that it can be called across the DLL boundary.
*
* @param Mode Mode that this editor should operate in
* @param InitToolkitHost When Mode is WorldCentric, this is the level editor instance to spawn this editor within
* @param Table The table to start editing
*
* @return Interface to the new table editor
*/
virtual TSharedRef<ICurveTableEditor> CreateCurveTableEditor( const EToolkitMode::Type Mode, const TSharedPtr< class IToolkitHost >& InitToolkitHost, UCurveTable* Table );
/** Gets the extensibility managers for outside entities to extend static mesh editor's menus and toolbars */
virtual TSharedPtr<FExtensibilityManager> GetMenuExtensibilityManager() override {return MenuExtensibilityManager;}
/** CurveTable Editor app identifier string */
static const FName CurveTableEditorAppIdentifier;
private:
/** Helper function to create the curve table editor for standard curve tables */
TSharedRef<ICurveTableEditor> CreateStandardCurveTableEditor(const EToolkitMode::Type Mode, const TSharedPtr< class IToolkitHost >& InitToolkitHost, UCurveTable* Table);
/** Helper function to create the curve table editor for composite curve tables */
TSharedRef<ICurveTableEditor> CreateCompositeCurveTableEditor(const EToolkitMode::Type Mode, const TSharedPtr< class IToolkitHost >& InitToolkitHost, UCurveTable* Table);
TSharedPtr<FExtensibilityManager> MenuExtensibilityManager;
};