You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
#rb Per.Larsson #jira UE-162600 #rnx #preflight 6317334c7b21ad1e0a1448be - When the statistics panel lived in the DDC editor module it was easier to keep all virtualization functionality in one place. Now that we have our own module we can move it to its own code file for better readability. - Added a utility function ::SetupMenuEntries called when the module is started, we should add all future menu entries here. [CL 21816542 by paul chipchase in ue5-main branch]
86 lines
2.6 KiB
C++
86 lines
2.6 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 "Modules/ModuleManager.h"
|
|
#include "RehydrationMenuEntry.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"));
|
|
|
|
namespace
|
|
{
|
|
|
|
/** Utility function for adding menu entries, called when the module is started */
|
|
void SetupMenuEntries()
|
|
{
|
|
UE::Virtualization::SetupRehydrationContentMenuEntry();
|
|
}
|
|
|
|
} //namespace
|
|
|
|
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
|
|
|
|
SetupMenuEntries();
|
|
}
|
|
|
|
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
|