Files
UnrealEngineUWP/Engine/Source/Editor/DataLayerEditor/Private/DataLayerEditorModule.cpp
aurel cordonnier fc542f6cfd Merge from Release-Engine-Staging @ 18081189 to Release-Engine-Test
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971

[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
2021-11-07 23:43:01 -05:00

51 lines
2.0 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "DataLayerEditorModule.h"
#include "PropertyEditorModule.h"
#include "EditorWidgetsModule.h"
#include "ObjectNameEditSinkRegistry.h"
#include "Widgets/SWidget.h"
#include "Widgets/DeclarativeSyntaxSupport.h"
#include "Editor.h"
#include "Modules/ModuleManager.h"
#include "DataLayer/DataLayerPropertyTypeCustomization.h"
#include "DataLayer/SDataLayerBrowser.h"
#include "DataLayer/DataLayerNameEditSink.h"
#include "WorldPartition/DataLayer/DataLayer.h"
IMPLEMENT_MODULE(FDataLayerEditorModule, DataLayerEditor );
static const FName NAME_ActorDataLayer(TEXT("ActorDataLayer"));
void FDataLayerEditorModule::StartupModule()
{
FPropertyEditorModule& PropertyModule = FModuleManager::LoadModuleChecked<FPropertyEditorModule>("PropertyEditor");
PropertyModule.RegisterCustomPropertyTypeLayout(NAME_ActorDataLayer, FOnGetPropertyTypeCustomizationInstance::CreateLambda([] { return MakeShared<FDataLayerPropertyTypeCustomization>(); }));
FEditorWidgetsModule& EditorWidgetsModule = FModuleManager::LoadModuleChecked<FEditorWidgetsModule>("EditorWidgets");
EditorWidgetsModule.GetObjectNameEditSinkRegistry()->RegisterObjectNameEditSink(MakeShared<FDataLayerNameEditSink>());
}
void FDataLayerEditorModule::ShutdownModule()
{
if (FPropertyEditorModule* PropertyModule = FModuleManager::GetModulePtr<FPropertyEditorModule>("PropertyEditor"))
{
PropertyModule->UnregisterCustomPropertyTypeLayout(NAME_ActorDataLayer);
}
}
TSharedRef<SWidget> FDataLayerEditorModule::CreateDataLayerBrowser()
{
TSharedRef<SWidget> NewDataLayerBrowser = SNew(SDataLayerBrowser);
DataLayerBrowser = NewDataLayerBrowser;
return NewDataLayerBrowser;
}
void FDataLayerEditorModule::SyncDataLayerBrowserToDataLayer(const UDataLayer* DataLayer)
{
if (DataLayerBrowser.IsValid())
{
TSharedRef<SDataLayerBrowser> Browser = StaticCastSharedRef<SDataLayerBrowser>(DataLayerBrowser.Pin().ToSharedRef());
Browser->SyncDataLayerBrowserToDataLayer(DataLayer);
}
}