Files
UnrealEngineUWP/Engine/Source/Editor/Matinee/Private/MatineeModule.cpp
Matthew Griffin bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00

64 lines
2.2 KiB
C++

// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved.
#include "MatineeModule.h"
#include "ModuleManager.h"
#include "Matinee.h"
#include "Matinee/MatineeActor.h"
const FName MatineeAppIdentifier = FName(TEXT("MatineeApp"));
/*-----------------------------------------------------------------------------
FMatineeModule
-----------------------------------------------------------------------------*/
class FMatineeModule : public IMatineeModule
{
public:
/** Constructor, set up console commands and variables **/
FMatineeModule()
{
}
/** Called right after the module DLL has been loaded and the module object has been created */
virtual void StartupModule() override
{
MenuExtensibilityManager = MakeShareable(new FExtensibilityManager);
ToolBarExtensibilityManager = MakeShareable(new FExtensibilityManager);
}
/** Called before the module is unloaded, right before the module object is destroyed. */
virtual void ShutdownModule() override
{
MenuExtensibilityManager.Reset();
ToolBarExtensibilityManager.Reset();
}
DECLARE_DERIVED_EVENT(FMatineeModule, IMatineeModule::FMatineeEditorOpenedEvent, FMatineeEditorOpenedEvent);
virtual FMatineeEditorOpenedEvent& OnMatineeEditorOpened() override
{
return MatineeEditorOpenedEvent;
}
virtual TSharedRef<IMatinee> CreateMatinee(const EToolkitMode::Type Mode, const TSharedPtr< IToolkitHost >& InitToolkitHost, AMatineeActor* MatineeActor) override
{
TSharedRef<FMatinee> MatineeEd(new FMatinee());
MatineeEd->InitMatinee(Mode, InitToolkitHost, MatineeActor);
MatineeEditorOpenedEvent.Broadcast();
return MatineeEd;
}
/** Gets the extensibility managers for outside entities to extend matinee editor's menus and toolbars */
virtual TSharedPtr<FExtensibilityManager> GetMenuExtensibilityManager() override { return MenuExtensibilityManager; }
virtual TSharedPtr<FExtensibilityManager> GetToolBarExtensibilityManager() override { return ToolBarExtensibilityManager; }
private:
TSharedPtr<FExtensibilityManager> MenuExtensibilityManager;
TSharedPtr<FExtensibilityManager> ToolBarExtensibilityManager;
FMatineeEditorOpenedEvent MatineeEditorOpenedEvent;
};
IMPLEMENT_MODULE(FMatineeModule, Matinee);