Files
UnrealEngineUWP/Engine/Source/Editor/VirtualizationEditor/Private/VirtualizationEditorModule.cpp
paul chipchase 8dd3df9f7e CIS fix - Add missing undef of LOCTEXT_NAMESPACE
#rb trivial
#jira UE-162600
#rnx
#preflight 6316f7a57b21ad1e0a0d917f

[CL 21808827 by paul chipchase in ue5-main branch]
2022-09-06 04:35:06 -04:00

72 lines
2.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "VirtualizationEditorModule.h"
#include "Editor/WorkspaceMenuStructure/Public/WorkspaceMenuStructure.h"
#include "Editor/WorkspaceMenuStructure/Public/WorkspaceMenuStructureModule.h"
#include "Framework/Application/SlateApplication.h"
#include "Framework/Docking/TabManager.h"
#include "SVirtualAssetsStatistics.h"
#include "Textures/SlateIcon.h"
#include "Widgets/Docking/SDockTab.h"
#define LOCTEXT_NAMESPACE "VirtualizationEditor"
IMPLEMENT_MODULE(FVirtualizationEditorModule, VirtualizationEditor);
static const FName VirtualAssetsStatisticsTabName = FName(TEXT("VirtualAssetsStatistics"));
void FVirtualizationEditorModule::StartupModule()
{
const FSlateIcon VirtaulAssetsStatisticsIcon(FAppStyle::GetAppStyleSetName(), "DerivedData.Cache.Statistics");
FGlobalTabmanager::Get()->RegisterNomadTabSpawner(VirtualAssetsStatisticsTabName, FOnSpawnTab::CreateRaw(this, &FVirtualizationEditorModule::CreateVirtualAssetsStatisticsTab))
.SetDisplayName(LOCTEXT("VirtualAssetsStatisticsTabTitle", "Virtual Assets"))
.SetTooltipText(LOCTEXT("VirtualAssetsStatisticsTabToolTipText", "Virtual Assets Statistics"))
.SetGroup(WorkspaceMenu::GetMenuStructure().GetDeveloperToolsAuditCategory())
.SetIcon(VirtaulAssetsStatisticsIcon);
#if WITH_RELOAD
// This code attempts to relaunch the tabs when you reload this module
if (IsReloadActive() && FSlateApplication::IsInitialized())
{
ShowVirtualAssetsStatisticsTab();
}
#endif // WITH_RELOAD
}
void FVirtualizationEditorModule::ShutdownModule()
{
if (FSlateApplication::IsInitialized())
{
if (VirtualAssetsStatisticsTab.IsValid())
{
VirtualAssetsStatisticsTab.Pin()->RequestCloseTab();
}
FGlobalTabmanager::Get()->UnregisterNomadTabSpawner(VirtualAssetsStatisticsTabName);
}
}
void FVirtualizationEditorModule::ShowVirtualAssetsStatisticsTab()
{
FGlobalTabmanager::Get()->TryInvokeTab(FTabId(VirtualAssetsStatisticsTabName));
}
TSharedPtr<SWidget> FVirtualizationEditorModule::CreateVirtualAssetsStatisticsDialog()
{
return SNew(SVirtualAssetsStatisticsDialog);
}
TSharedRef<SDockTab> FVirtualizationEditorModule::CreateVirtualAssetsStatisticsTab(const FSpawnTabArgs& Args)
{
return SAssignNew(VirtualAssetsStatisticsTab, SDockTab)
.TabRole(ETabRole::NomadTab)
[
CreateVirtualAssetsStatisticsDialog().ToSharedRef()
];
}
#undef LOCTEXT_NAMESPACE