![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include <TypedElementDataStorageUiInterface.h>
Inheritance diagram for UE::Editor::DataStorage::IUiProvider:Classes | |
| struct | FPurposeInfo |
Public Types | |
| enum class | EPurposeType : uint8 { Generic , UniqueByName , UniqueByNameAndColumn } |
| enum class | EMatchApproach : uint8 { LongestMatch , ExactMatch , SingleMatch } |
| using | FPurposeID = FMapKey |
| using | WidgetCreatedCallback = TFunctionRef< void(const TSharedRef< SWidget > &NewWidget, UE::Editor::DataStorage::RowHandle Row)> |
| using | WidgetConstructorCallback = TFunctionRef< bool(TUniquePtr< FTypedElementWidgetConstructor >, TConstArrayView< TWeakObjectPtr< const UScriptStruct > >)> |
| using | WidgetPurposeCallback = TFunctionRef< void(FName, EPurposeType, const FText &)> |
| using | PropertySorterConstructorCallback = TFunction< TSharedPtr< const FColumnSorterInterface >(TWeakObjectPtr< const UScriptStruct > ColumnType, const FProperty &Property)> |
Static Public Attributes | |
| static const FName | PurposeMappingDomain = "WidgetPurpose" |
| using UE::Editor::DataStorage::IUiProvider::PropertySorterConstructorCallback = TFunction<TSharedPtr<const FColumnSorterInterface>(TWeakObjectPtr<const UScriptStruct> ColumnType, const FProperty& Property)> |
| using UE::Editor::DataStorage::IUiProvider::WidgetConstructorCallback = TFunctionRef<bool(TUniquePtr<FTypedElementWidgetConstructor>, TConstArrayView<TWeakObjectPtr<const UScriptStruct> >)> |
| using UE::Editor::DataStorage::IUiProvider::WidgetCreatedCallback = TFunctionRef<void(const TSharedRef<SWidget>& NewWidget, UE::Editor::DataStorage::RowHandle Row)> |
| using UE::Editor::DataStorage::IUiProvider::WidgetPurposeCallback = TFunctionRef<void(FName, EPurposeType, const FText&)> |
|
strong |
|
strong |
|
pure virtual |
Creates a single widget using the provided constructor. Alternative to ConstructWidget that doesn't create the ContainerTedsWidget that wraps the actual widget. Only recommended for advanced use cases, in most situations you want to use ConstructWidget NOTE: This will include any decorator widgets that match with the given row
|
pure virtual |
Creates a single widget using the provided constructor. The provided row will be used to store the widget information on. If columns have already been added to the row, the constructor is free to use that to configure the widget. Arguments are used by the constructor to configure the widget.
|
pure virtual |
|
pure virtual |
Creates all the widgets registered under the provided purpose. This may be a large number of widgets for a wide name or exactly one when the exact name of the widget is registered. Arguments can be provided, but widgets are free to ignore them.
If no factories were found for the requested purpose, the purpose's parent chain will be traversed to try and find an ancestor purpose with factories
|
pure virtual |
Create the container widget that every TEDS UI widget is stored in
|
pure virtual |
|
pure virtual |
|
pure virtual |
Creates widget constructors for the requested purpose. The provided arguments will be used to configure the constructor. Settings made this way will be applied to all widgets created from the constructor, if applicable.
If no factories were found for the requested purpose, the purpose's parent chain will be traversed to try and find an ancestor purpose with factories
|
pure virtual |
Finds matching widget constructors for provided columns, preferring longer matches over shorter matches. The provided list of columns will be updated to contain all columns that couldn't be matched. The provided arguments will be used to configure the constructor. Settings made this way will be applied to all widgets created from the constructor, if applicable.
If there are still columns remaining after matching against the requested purpose, the purpose's parent chain will be traversed to try and match the remaining columns
|
pure virtual |
Find the row handle for a purpose by looking it up using the purpose ID
|
pure virtual |
Widget constructors can provide a custom sorter object that will allows Slate columns to sort by the data that the sorter supports. If none is provided however, TEDS UI will generate one based on the properties in a column that are marked with the meta data "Sortable". Out of the box TEDS UI supports a variety of property types, but additional properties can be registered with the functions below as well. Note that this is mechanic is exclusively for properties that are used in the dynamic generation of sorters. For complex sorting that involves data specific knowledge or combines multiple values it's highly recommended to create a custom sorter and attach it to the appropriate widget constructor. Build sorters for the provided list of columns
|
pure virtual |
Get the name of the default TEDS UI widget purpose used to register default widgets for different types of data (e.g FText -> STextBlock)
|
pure virtual |
Get the name of the general TEDS UI purpose used to register general purpose widgets for columns
|
pure virtual |
Get the table where TEDS UI widgets are stored
|
pure virtual |
Provides a list of all extensions that are enabled.
|
pure virtual |
Calls the provided callback for all known registered widget purposes.
| bool UE::Editor::DataStorage::IUiProvider::RegisterDecoratorWidgetFactory | ( | RowHandle | PurposeRow, |
| const UScriptStruct * | Constructor | ||
| ) |
Registers a decorator widget factory against a specific column Decorator widgets are added onto TEDS UI widgets for the specified purpose when the widget row has the column/tag they are registered against.
|
pure virtual |
Registers a decorator widget factory against a specific column. Decorator widgets are added onto TEDS UI widgets for the specified purpose when the widget row has the column/tag they are registered against.
|
pure virtual |
Register a function to handle converting a property into a sorter.
| void UE::Editor::DataStorage::IUiProvider::RegisterSorterGeneratorForProperty | ( | PropertySorterConstructorCallback | PropertySorterConstructor | ) |
Register a function to handle converting a property into a sorter.
| bool UE::Editor::DataStorage::IUiProvider::RegisterWidgetFactory | ( | FName | Purpose | ) |
|
pure virtual |
|
pure virtual |
| bool UE::Editor::DataStorage::IUiProvider::RegisterWidgetFactory | ( | FName | Purpose, |
| Queries::FConditions | Columns | ||
| ) |
|
pure virtual |
|
pure virtual |
| bool UE::Editor::DataStorage::IUiProvider::RegisterWidgetFactory | ( | RowHandle | PurposeRow | ) |
Registers a widget factory that will be called when the purpose it's registered under is requested. This version registers a generic type. Construction using these are typically cheaper as they can avoid copying the Constructor and take up less memory. The downside is that they can't store additional configuration options. If the purpose has not been registered the factory will not be recorded and a warning will be printed. If registration is successful true will be returned otherwise false.
|
pure virtual |
Widget constructors are the glue between TEDS data and Slate. They are associated with specific columns and provide ways to generate Slate widgets for those columns. They also facilitate communication back-and-forth between TEDS and Slate. Widget purposes can be used to specify what widget constructor to use when, allowing multiple widget constructors to work on the same columns. Through the meta data object individual widgets can be further specialized on an individual baseis. Registers a widget factory that will be called when the purpose it's registered under is requested. This version registers a generic type. Construction using these are typically cheaper as they can avoid copying the Constructor and take up less memory. The downside is that they can't store additional configuration options. If the purpose has not been registered the factory will not be recorded and a warning will be printed. If registration is successful true will be returned otherwise false.
|
pure virtual |
Registers a widget factory that will be called when the purpose it's registered under is requested. This version registers a generic type. Construction using these are typically cheaper as they can avoid copying the Constructor and take up less memory. The downside is that they can't store additional configuration options. If the purpose has not been registered the factory will not be recorded and a warning will be printed. The provided columns will be used when matching the factory during widget construction. If registration is successful true will be returned otherwise false.
| bool UE::Editor::DataStorage::IUiProvider::RegisterWidgetFactory | ( | RowHandle | PurposeRow, |
| Queries::FConditions | Columns | ||
| ) |
Registers a widget factory that will be called when the purpose it's registered under is requested. This version registers a generic type. Construction using these are typically cheaper as they can avoid copying the Constructor and take up less memory. The downside is that they can't store additional configuration options. If the purpose has not been registered the factory will not be recorded and a warning will be printed. The provided columns will be used when matching the factory during widget construction. If registration is successful true will be returned otherwise false.
|
pure virtual |
|
pure virtual |
|
pure virtual |
Overload for RegisterWidgetPurpose that allows you to use a custom ID to map to the TEDS Mapping table for lookup
| PurposeID | A unique ID for the purpose that can be used to look up the row handle later |
| InPurposeInfo | Struct with init params for the purpose |
|
pure virtual |
Widget purposes indicates how widgets can be used and categorizes/organizes the available widget factories. Purposes as used to match columns to widget constructors and provide contextual information on how the widgets get setup. In practice this allows tools to provide what purposes they support and TEDS UI will find the closest matching widget constructors that are compatible with the purpose. Register a widget purpose. Widget purposes indicates how widgets can be used and categorizes/organizes the available widget factories. If the same purpose is registered multiple times, only the first will be recorded and later registrations will be ignored and the return value will be InvalidRowHandle. The purposes will be mapped to the TEDS Mapping Table using InPurposeInfo.GeneratePurposeID() which can be used to lookup the purpose row.
| InPurposeInfo | Struct with init params for the purpose |
|
pure virtual |
| void UE::Editor::DataStorage::IUiProvider::UnregisterSorterGeneratorForProperty | ( | ) |
Unregister a function to handle converting a property into a sorter.
|
pure virtual |
Unregister a function to handle converting a property into a sorter.
|
inlinestatic |