Files
patrick boutot 54e5f2f814 AdvancedWidgets: Runtime widget to display the property value of a UObject. Features include:
- Can show the value of the properties (false by default).
  - Can show functions and/or properties. By default, it shows everything that is BP visible but it can be overridden with a callback.
   - It uses the BP VM to set the value (opposite to the DetailView that uses the editor pipeline to re-instantiate the child of the object).
   - User can define an "customizer"  for your type. If not customizer is found, it will export to text the property value. The "customizer" is a simple SWidget. There is no super custom functionality like the DetailView has.
  - Search bar (can be customized with additional widgets).
#jira UE-130880
#rb lauren.barnes, sebastian.nordren

#ROBOMERGE-AUTHOR: patrick.boutot
#ROBOMERGE-SOURCE: CL 20829550 via CL 20829552 via CL 20829554
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20832350 by patrick boutot in ue5-main branch]
2022-06-27 12:03:09 -04:00

42 lines
1.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "AdvancedWidgetsModule.h"
#include "Framework/PropertyViewer/PropertyValueFactory.h"
#include "Modules/ModuleManager.h"
#include "Styling/AdvancedWidgetsStyle.h"
IMPLEMENT_MODULE(FAdvancedWidgetsModule, AdvancedWidgets);
namespace UE::AdvancedWidgets::Private
{
static const FName NAME_AdvancedWidgets = "AdvancedWidgets";
}
FAdvancedWidgetsModule& FAdvancedWidgetsModule::GetModule()
{
return FModuleManager::LoadModuleChecked<FAdvancedWidgetsModule>(UE::AdvancedWidgets::Private::NAME_AdvancedWidgets);
}
FAdvancedWidgetsModule* FAdvancedWidgetsModule::GetModulePtr()
{
return FModuleManager::GetModulePtr<FAdvancedWidgetsModule>(UE::AdvancedWidgets::Private::NAME_AdvancedWidgets);
}
void FAdvancedWidgetsModule::StartupModule()
{
UE::AdvancedWidgets::FAdvancedWidgetsStyle::Create();
PropertyValueFactory = MakeUnique<UE::PropertyViewer::FPropertyValueFactory>();
}
void FAdvancedWidgetsModule::ShutdownModule()
{
UE::AdvancedWidgets::FAdvancedWidgetsStyle::Destroy();
}
UE::PropertyViewer::FPropertyValueFactory& FAdvancedWidgetsModule::GetPropertyValueFactory() const
{
return *(PropertyValueFactory.Get());
}