You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
Removed redundant private include paths from build.cs files. Fixed include paths to be relative to the private or public folders. Hid or removed includes that reached into other private module folders. Updated PublicInclude paths when necessary. #jira #preflight 631e283bec5b0c765fc0ffdb [CL 21960084 by bryan sefcik in ue5-main branch]
123 lines
3.9 KiB
C++
123 lines
3.9 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "ClassViewerModule.h"
|
|
|
|
#include "ClassViewerFilter.h"
|
|
#include "ClassViewerProjectSettings.h"
|
|
#include "Framework/Application/SlateApplication.h"
|
|
#include "Framework/Docking/TabManager.h"
|
|
#include "ISettingsModule.h"
|
|
#include "Internationalization/Internationalization.h"
|
|
#include "Modules/ModuleManager.h"
|
|
#include "SClassViewer.h"
|
|
#include "Styling/AppStyle.h"
|
|
#include "Textures/SlateIcon.h"
|
|
#include "UObject/NameTypes.h"
|
|
#include "UObject/UObjectGlobals.h"
|
|
#include "UObject/WeakObjectPtr.h"
|
|
#include "Widgets/DeclarativeSyntaxSupport.h"
|
|
#include "Widgets/Docking/SDockTab.h"
|
|
#include "WorkspaceMenuStructure.h"
|
|
#include "WorkspaceMenuStructureModule.h"
|
|
|
|
#define LOCTEXT_NAMESPACE "ClassViewer"
|
|
|
|
IMPLEMENT_MODULE( FClassViewerModule, ClassViewer );
|
|
|
|
namespace ClassViewerModule
|
|
{
|
|
static const FName ClassViewerApp = FName("ClassViewerApp");
|
|
}
|
|
|
|
TSharedRef<SDockTab> CreateClassPickerTab( const FSpawnTabArgs& Args )
|
|
{
|
|
FClassViewerInitializationOptions InitOptions;
|
|
InitOptions.Mode = EClassViewerMode::ClassBrowsing;
|
|
InitOptions.DisplayMode = EClassViewerDisplayMode::TreeView;
|
|
|
|
return SNew(SDockTab)
|
|
.TabRole( ETabRole::NomadTab )
|
|
[
|
|
SNew( SClassViewer, InitOptions )
|
|
.OnClassPickedDelegate(FOnClassPicked())
|
|
];
|
|
}
|
|
|
|
|
|
void FClassViewerModule::StartupModule()
|
|
{
|
|
FGlobalTabmanager::Get()->RegisterNomadTabSpawner( ClassViewerModule::ClassViewerApp, FOnSpawnTab::CreateStatic( &CreateClassPickerTab ) )
|
|
.SetDisplayName( NSLOCTEXT("ClassViewerApp", "TabTitle", "Class Viewer") )
|
|
.SetTooltipText( NSLOCTEXT("ClassViewerApp", "TooltipText", "Displays all classes that exist within this project.") )
|
|
.SetGroup( WorkspaceMenu::GetMenuStructure().GetToolsCategory() )
|
|
.SetIcon( FSlateIcon(FAppStyle::GetAppStyleSetName(), "ClassViewer.TabIcon") );
|
|
|
|
ISettingsModule* SettingsModule = FModuleManager::GetModulePtr<ISettingsModule>("Settings");
|
|
if (SettingsModule != nullptr)
|
|
{
|
|
// ClassViewer Editor Settings
|
|
SettingsModule->RegisterSettings("Project", "Editor", "ClassViewer",
|
|
LOCTEXT("ClassViewerSettingsName", "Class Viewer"),
|
|
LOCTEXT("ClassViewerSettingsDescription", "Configure options for the Class Viewer."),
|
|
GetMutableDefault<UClassViewerProjectSettings>()
|
|
);
|
|
}
|
|
|
|
}
|
|
|
|
void FClassViewerModule::ShutdownModule()
|
|
{
|
|
if (FSlateApplication::IsInitialized())
|
|
{
|
|
FGlobalTabmanager::Get()->UnregisterNomadTabSpawner( ClassViewerModule::ClassViewerApp );
|
|
}
|
|
|
|
// Unregister the setting
|
|
ISettingsModule* SettingsModule = FModuleManager::GetModulePtr<ISettingsModule>("Settings");
|
|
|
|
if (SettingsModule != nullptr)
|
|
{
|
|
SettingsModule->UnregisterSettings("Project", "Editor", "ClassViewer");
|
|
}
|
|
|
|
SClassViewer::DestroyClassHierarchy();
|
|
}
|
|
|
|
|
|
/**
|
|
* Creates a class viewer widget
|
|
*
|
|
* @param InitOptions Programmer-driven configuration for this widget instance
|
|
* @param OnClassPickedDelegate Optional callback when a class is selected in 'class picking' mode
|
|
*
|
|
* @return New class viewer widget
|
|
*/
|
|
TSharedRef<SWidget> FClassViewerModule::CreateClassViewer(const FClassViewerInitializationOptions& InitOptions, const FOnClassPicked& OnClassPickedDelegate )
|
|
{
|
|
return SNew( SClassViewer, InitOptions )
|
|
.OnClassPickedDelegate(OnClassPickedDelegate);
|
|
}
|
|
|
|
TSharedRef<IClassViewerFilter> FClassViewerModule::CreateClassFilter(const FClassViewerInitializationOptions& InitOptions)
|
|
{
|
|
return TSharedRef<IClassViewerFilter>(new FClassViewerFilter(InitOptions));
|
|
}
|
|
|
|
TSharedRef<FClassViewerFilterFuncs> FClassViewerModule::CreateFilterFuncs()
|
|
{
|
|
return TSharedRef<FClassViewerFilterFuncs>(new FClassViewerFilterFuncs());
|
|
}
|
|
|
|
void FClassViewerModule::RegisterGlobalClassViewerFilter(const TSharedRef<IClassViewerFilter>& Filter)
|
|
{
|
|
GlobalClassViewerFilter = Filter;
|
|
OnGlobalClassViewerFilterModified.Broadcast();
|
|
}
|
|
|
|
const TSharedPtr<IClassViewerFilter>& FClassViewerModule::GetGlobalClassViewerFilter()
|
|
{
|
|
return GlobalClassViewerFilter;
|
|
}
|
|
|
|
#undef LOCTEXT_NAMESPACE
|