Files
UnrealEngineUWP/Engine/Source/Editor/Matinee/Private/MatineeModule.cpp
2014-03-14 14:13:41 -04:00

62 lines
2.1 KiB
C++

// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
#include "MatineeModule.h"
#include "ModuleManager.h"
#include "Matinee.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() {return MenuExtensibilityManager;}
virtual TSharedPtr<FExtensibilityManager> GetToolBarExtensibilityManager() {return ToolBarExtensibilityManager;}
private:
TSharedPtr<FExtensibilityManager> MenuExtensibilityManager;
TSharedPtr<FExtensibilityManager> ToolBarExtensibilityManager;
FMatineeEditorOpenedEvent MatineeEditorOpenedEvent;
};
IMPLEMENT_MODULE(FMatineeModule, Matinee);