2016-01-07 08:17:16 -05:00
|
|
|
// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved.
|
2015-04-22 15:58:21 -04:00
|
|
|
|
|
|
|
|
#include "SizeMapModule.h"
|
|
|
|
|
#include "ISizeMapModule.h"
|
|
|
|
|
#include "SSizeMap.h"
|
|
|
|
|
#include "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
|