Files
UnrealEngineUWP/Engine/Plugins/Editor/MaterialAnalyzer/Source/MaterialAnalyzerModule.cpp
Ryan Durand 28d3d740dd (Integrating from Dev-EngineMerge to Main)
Second batch of remaining Engine copyright updates.

#rnx
#rb none
#jira none

[CL 10871196 by Ryan Durand in Main branch]
2019-12-27 07:44:07 -05:00

68 lines
1.9 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "MaterialAnalyzerModule.h"
#include "SMaterialAnalyzer.h"
#include "EditorModeRegistry.h"
#include "Modules/ModuleManager.h"
#include "Framework/Docking/TabManager.h"
#include "ISettingsModule.h"
#include "Editor.h"
#include "WorkspaceMenuStructure.h"
#include "WorkspaceMenuStructureModule.h"
#include "EditorStyleSet.h"
#include "Widgets/Docking/SDockTab.h"
#define LOCTEXT_NAMESPACE "MaterialAnalyzer"
DEFINE_LOG_CATEGORY(MaterialAnalyzer);
static const FName MaterialAnalyzerName("MaterialAnalyzer");
class FMaterialAnalyzerModule : public IModuleInterface
{
public:
FMaterialAnalyzerModule()
{
}
// FModuleInterface overrides
virtual void StartupModule() override;
virtual void ShutdownModule() override {}
virtual bool SupportsDynamicReloading() override
{
return true;
}
TSharedRef<SDockTab> SpawnMaterialAnalyzerTab(const FSpawnTabArgs& SpawnTabArgs);
protected:
};
void FMaterialAnalyzerModule::StartupModule()
{
FGlobalTabmanager::Get()->RegisterNomadTabSpawner(
MaterialAnalyzerName,
FOnSpawnTab::CreateRaw(this, &FMaterialAnalyzerModule::SpawnMaterialAnalyzerTab))
.SetGroup(WorkspaceMenu::GetMenuStructure().GetDeveloperToolsMiscCategory())
.SetDisplayName(LOCTEXT("TabTitle", "Material Analyzer"))
.SetTooltipText(LOCTEXT("TooltipText", "Opens Material Analyzer tool."))
.SetIcon(FSlateIcon(FEditorStyle::GetStyleSetName(), "MaterialEditor.ToggleMaterialStats.Tab"));
}
TSharedRef<SDockTab> FMaterialAnalyzerModule::SpawnMaterialAnalyzerTab(const FSpawnTabArgs& SpawnTabArgs)
{
const TSharedRef<SDockTab> MajorTab = SNew(SDockTab)
.TabRole(ETabRole::NomadTab);
TSharedPtr<SWidget> TabContent;
TabContent = SNew(SMaterialAnalyzer, MajorTab, SpawnTabArgs.GetOwnerWindow());
MajorTab->SetContent(TabContent.ToSharedRef());
return MajorTab;
}
IMPLEMENT_MODULE(FMaterialAnalyzerModule, MaterialAnalyzer)
#undef LOCTEXT_NAMESPACE