Files
UnrealEngineUWP/Engine/Source/Editor/SizeMap/SizeMapModule.cpp
Ben Marsh 20bf0eb6a1 Updating copyright notices to 2017 (copying from //Tasks/UE4/Dev-Copyright-2017).
#rb none
#lockdown Nick.Penwarden

[CL 3226823 by Ben Marsh in Main branch]
2016-12-08 08:52:44 -05:00

63 lines
1.6 KiB
C++

// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
#include "SizeMapModule.h"
#include "UObject/NameTypes.h"
#include "Templates/SharedPointer.h"
#include "Internationalization/Internationalization.h"
#include "Modules/ModuleManager.h"
#include "Widgets/DeclarativeSyntaxSupport.h"
#include "Framework/Docking/TabManager.h"
#include "ISizeMapModule.h"
#include "SSizeMap.h"
#include "Widgets/Docking/SDockTab.h"
#define LOCTEXT_NAMESPACE "SizeMap"
class FSizeMapModule : public ISizeMapModule
{
public:
FSizeMapModule()
: SizeMapTabId("SizeMap")
{
}
virtual void StartupModule() override
{
FGlobalTabmanager::Get()->RegisterNomadTabSpawner(SizeMapTabId, FOnSpawnTab::CreateRaw( this, &FSizeMapModule::SpawnSizeMapTab ) )
.SetDisplayName( LOCTEXT("SizeMapTitle", "Size Map") )
.SetMenuType( ETabSpawnerMenuType::Hidden );
}
virtual void ShutdownModule() override
{
FGlobalTabmanager::Get()->UnregisterNomadTabSpawner(SizeMapTabId);
}
virtual void InvokeSizeMapTab(const TArray<FName>& AssetPackageNames) override
{
TSharedRef<SDockTab> NewTab = FGlobalTabmanager::Get()->InvokeTab( SizeMapTabId );
TSharedRef<SSizeMap> SizeMap = StaticCastSharedRef<SSizeMap>( NewTab->GetContent() );
SizeMap->SetRootAssetPackageNames( AssetPackageNames );
}
private:
TSharedRef<SDockTab> SpawnSizeMapTab( const FSpawnTabArgs& SpawnTabArgs )
{
TSharedRef<SDockTab> NewTab = SNew(SDockTab)
.TabRole(ETabRole::NomadTab);
NewTab->SetContent( SNew(SSizeMap) );
return NewTab;
}
private:
FName SizeMapTabId;
};
IMPLEMENT_MODULE( FSizeMapModule, SizeMap )
#undef LOCTEXT_NAMESPACE