UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FSimpleWidgetConstructor Struct Reference

#include <TypedElementDataStorageUiInterface.h>

+ Inheritance diagram for FSimpleWidgetConstructor:

Public Member Functions

TYPEDELEMENTFRAMEWORK_API FSimpleWidgetConstructor (const UScriptStruct *InTypeInfo)
 
 FSimpleWidgetConstructor ()
 
virtual ~FSimpleWidgetConstructor () override=default
 
virtual TYPEDELEMENTFRAMEWORK_API TSharedPtr< SWidgetCreateWidget (UE::Editor::DataStorage::ICoreProvider *DataStorage, UE::Editor::DataStorage::IUiProvider *DataStorageUi, UE::Editor::DataStorage::RowHandle TargetRow, UE::Editor::DataStorage::RowHandle WidgetRow, const UE::Editor::DataStorage::FMetaDataView &Arguments) override
 
virtual TYPEDELEMENTFRAMEWORK_API bool SetColumns (UE::Editor::DataStorage::ICoreProvider *DataStorage, UE::Editor::DataStorage::RowHandle WidgetRow) override
 
- Public Member Functions inherited from FTypedElementWidgetConstructor
TYPEDELEMENTFRAMEWORK_API FTypedElementWidgetConstructor (const UScriptStruct *InTypeInfo)
 
 FTypedElementWidgetConstructor (EForceInit)
 
virtual ~FTypedElementWidgetConstructor () override=default
 
virtual TYPEDELEMENTFRAMEWORK_API TConstArrayView< const UScriptStruct * > GetAdditionalColumnsList () const
 
virtual TYPEDELEMENTFRAMEWORK_API FText CreateWidgetDisplayNameText (UE::Editor::DataStorage::ICoreProvider *DataStorage, UE::Editor::DataStorage::RowHandle Row=UE::Editor::DataStorage::InvalidRowHandle) const
 
virtual TYPEDELEMENTFRAMEWORK_API TSharedPtr< SWidgetConstructFinalWidget (UE::Editor::DataStorage::RowHandle Row, UE::Editor::DataStorage::ICoreProvider *DataStorage, UE::Editor::DataStorage::IUiProvider *DataStorageUi, const UE::Editor::DataStorage::FMetaDataView &Arguments)
 
virtual TYPEDELEMENTFRAMEWORK_API TArray< TSharedPtr< const UE::Editor::DataStorage::FColumnSorterInterface > > ConstructColumnSorters (UE::Editor::DataStorage::ICoreProvider *DataStorage, UE::Editor::DataStorage::IUiProvider *DataStorageUi, const UE::Editor::DataStorage::FMetaDataView &Arguments)
 
TYPEDELEMENTFRAMEWORK_API UE::Editor::DataStorage::RowHandle GetWidgetFactoryRow () const
 
virtual TYPEDELEMENTFRAMEWORK_API FString CreateWidgetDisplayName (UE::Editor::DataStorage::ICoreProvider *DataStorage, UE::Editor::DataStorage::RowHandle Row) const final
 
virtual TYPEDELEMENTFRAMEWORK_API bool Initialize (const UE::Editor::DataStorage::FMetaDataView &InArguments, TArray< TWeakObjectPtr< const UScriptStruct > > InMatchedColumnTypes, const UE::Editor::DataStorage::Queries::FConditions &InQueryConditions)
 
virtual TYPEDELEMENTFRAMEWORK_API const UE::Editor::DataStorage::Queries::FConditionsGetQueryConditions () const final
 
virtual TYPEDELEMENTFRAMEWORK_API bool Initialize (const UE::Editor::DataStorage::FMetaDataView &InArguments, TArray< TWeakObjectPtr< const UScriptStruct > > InMatchedColumnTypes, UE::Editor::DataStorage::RowHandle FactoryRowHandle)
 
virtual TYPEDELEMENTFRAMEWORK_API const UE::Editor::DataStorage::Queries::FConditionsGetQueryConditions (const UE::Editor::DataStorage::ICoreProvider *Storage) const
 
- Public Member Functions inherited from FTedsWidgetConstructorBase
TYPEDELEMENTFRAMEWORK_API FTedsWidgetConstructorBase (const UScriptStruct *InTypeInfo)
 
 FTedsWidgetConstructorBase (EForceInit)
 
virtual ~FTedsWidgetConstructorBase ()=default
 
virtual TYPEDELEMENTFRAMEWORK_API const UScriptStructGetTypeInfo () const
 
virtual TYPEDELEMENTFRAMEWORK_API const TArray< TWeakObjectPtr< const UScriptStruct > > & GetMatchedColumns () const
 

Protected Member Functions

virtual TYPEDELEMENTFRAMEWORK_API TSharedPtr< SWidgetCreateWidget (const UE::Editor::DataStorage::FMetaDataView &Arguments) override final
 
virtual TYPEDELEMENTFRAMEWORK_API bool FinalizeWidget (UE::Editor::DataStorage::ICoreProvider *DataStorage, UE::Editor::DataStorage::IUiProvider *DataStorageUi, UE::Editor::DataStorage::RowHandle Row, const TSharedPtr< SWidget > &Widget) override final
 
virtual TYPEDELEMENTFRAMEWORK_API TSharedPtr< SWidgetConstruct (UE::Editor::DataStorage::RowHandle WidgetRow, UE::Editor::DataStorage::ICoreProvider *DataStorage, UE::Editor::DataStorage::IUiProvider *DataStorageUi, const UE::Editor::DataStorage::FMetaDataView &Arguments) override final
 
- Protected Member Functions inherited from FTypedElementWidgetConstructor
virtual TYPEDELEMENTFRAMEWORK_API FText DescribeColumnType (const UScriptStruct *ColumnType) const
 
TYPEDELEMENTFRAMEWORK_API void AddDefaultWidgetColumns (UE::Editor::DataStorage::RowHandle Row, UE::Editor::DataStorage::ICoreProvider *DataStorage) const
 
TYPEDELEMENTFRAMEWORK_API UE::Editor::DataStorage::RowHandle GetTargetRow (UE::Editor::DataStorage::ICoreProvider *DataStorage, UE::Editor::DataStorage::RowHandle WidgetRow) const
 
- Protected Member Functions inherited from FTedsWidgetConstructorBase
bool Initialize_Internal (const UE::Editor::DataStorage::FMetaDataView &InArguments, TArray< TWeakObjectPtr< const UScriptStruct > > InMatchedColumnTypes)
 

Additional Inherited Members

- Protected Attributes inherited from FTedsWidgetConstructorBase
TArray< TWeakObjectPtr< const UScriptStruct > > MatchedColumnTypes
 
TMap< TWeakObjectPtr< const UScriptStruct >, FNameMatchedDynamicTemplates
 
UE::Editor::DataStorage::RowHandle WidgetFactoryRow = UE::Editor::DataStorage::InvalidRowHandle
 
const UE::Editor::DataStorage::Queries::FConditionsQueryConditions = nullptr
 
const UScriptStructTypeInfo = nullptr
 

Detailed Description

A simple widget constructor that cuts down on most of the boilerplate, in most cases you want to inherit from this to create your widget constructor Only requires you to override CreateWidget() to create the actual SWidget

Constructor & Destructor Documentation

◆ FSimpleWidgetConstructor() [1/2]

FSimpleWidgetConstructor::FSimpleWidgetConstructor ( const UScriptStruct InTypeInfo)
explicit

Call this constructor with StaticStruct() on your derived class to pass in the type information

◆ FSimpleWidgetConstructor() [2/2]

FSimpleWidgetConstructor::FSimpleWidgetConstructor ( )
inline

◆ ~FSimpleWidgetConstructor()

virtual FSimpleWidgetConstructor::~FSimpleWidgetConstructor ( )
overridevirtualdefault

Member Function Documentation

◆ Construct()

TSharedPtr< SWidget > FSimpleWidgetConstructor::Construct ( UE::Editor::DataStorage::RowHandle  WidgetRow,
UE::Editor::DataStorage::ICoreProvider DataStorage,
UE::Editor::DataStorage::IUiProvider DataStorageUi,
const UE::Editor::DataStorage::FMetaDataView Arguments 
)
finaloverrideprotectedvirtual

Helper function to call SetColumns() and CreateWidget(), you should not need to override this for simple widget constructors

Reimplemented from FTypedElementWidgetConstructor.

◆ CreateWidget() [1/2]

TSharedPtr< SWidget > FSimpleWidgetConstructor::CreateWidget ( const UE::Editor::DataStorage::FMetaDataView Arguments)
finaloverrideprotectedvirtual

Old CreateWidget overload that exists for backwards compatibility, you should use the overload that provides the row instead

Reimplemented from FTypedElementWidgetConstructor.

◆ CreateWidget() [2/2]

TSharedPtr< SWidget > FSimpleWidgetConstructor::CreateWidget ( UE::Editor::DataStorage::ICoreProvider DataStorage,
UE::Editor::DataStorage::IUiProvider DataStorageUi,
UE::Editor::DataStorage::RowHandle  TargetRow,
UE::Editor::DataStorage::RowHandle  WidgetRow,
const UE::Editor::DataStorage::FMetaDataView Arguments 
)
overridevirtual

Create a new instance of the target widget. This is a required function.

Reimplemented from FTypedElementWidgetConstructor.

◆ FinalizeWidget()

bool FSimpleWidgetConstructor::FinalizeWidget ( UE::Editor::DataStorage::ICoreProvider DataStorage,
UE::Editor::DataStorage::IUiProvider DataStorageUi,
UE::Editor::DataStorage::RowHandle  Row,
const TSharedPtr< SWidget > &  Widget 
)
finaloverrideprotectedvirtual

Old function in the widget creation pipeline that isn't used anymore. All your logic should go in CreateWidget() itself

Reimplemented from FTypedElementWidgetConstructor.

◆ SetColumns()

bool FSimpleWidgetConstructor::SetColumns ( UE::Editor::DataStorage::ICoreProvider DataStorage,
UE::Editor::DataStorage::RowHandle  Row 
)
overridevirtual

Set any values in columns if needed. The columns provided through GetAdditionalColumnsList() will have already been created.

Reimplemented from FTypedElementWidgetConstructor.


The documentation for this struct was generated from the following files: