UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TypedElementAttributeBinding.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
8#include "Misc/Attribute.h"
10
12{
13 class ICoreProvider;
14
25 {
26 public:
27
28 /* Create an attribute binder for a given row. */
30
31 /* Create an attribute binder for a given row. */
33
44 template <typename AttributeType, TDataColumnType ColumnType>
45 TAttribute<AttributeType> BindData(AttributeType ColumnType::* InVariable, const AttributeType& InDefaultValue = AttributeType());
46
59 template <typename AttributeType, TDynamicColumnTemplate ColumnType>
60 TAttribute<AttributeType> BindData(const FName& InIdentifier, AttributeType ColumnType::* InVariable, const AttributeType& InDefaultValue = AttributeType());
61
80 template <typename AttributeType, typename DataType, TDataColumnType ColumnType>
81 TAttribute<AttributeType> BindData(DataType ColumnType::* InVariable, TFunction<AttributeType(const DataType&)> InConverter, const DataType& InDefaultValue = DataType());
82
102 template <typename AttributeType, typename DataType, TDynamicColumnTemplate ColumnType>
103 TAttribute<AttributeType> BindData(const FName& InIdentifier, DataType ColumnType::* InVariable, TFunction<AttributeType(const DataType&)> InConverter, const DataType& InDefaultValue = DataType());
104
112 template <typename DataType, TDataColumnType ColumnType, typename FunctionType>
114 auto BindData(DataType ColumnType::* InVariable, FunctionType&& InConverter, const DataType& InDefaultValue = DataType());
115
125 template <typename DataType, TDynamicColumnTemplate ColumnType, typename FunctionType>
127 auto BindData(const FName& InIdentifier, DataType ColumnType::* InVariable, FunctionType&& InConverter, const DataType& InDefaultValue = DataType());
128
142 template <typename AttributeType, TDataColumnType ColumnType>
143 TAttribute<AttributeType> BindColumn(TFunction<AttributeType(const ColumnType&)> InConverter);
144
150 template <TDataColumnType ColumnType, typename FunctionType>
152 auto BindColumn(FunctionType&& InConverter);
153
168 template <typename AttributeType>
170 const TFunction<AttributeType(const TWeakObjectPtr<const UScriptStruct>&, const void*)>& InConverter);
171
177 template <typename FunctionType>
180
187 template <typename InRetValType, typename... ParamTypes, TDataColumnType ColumnType>
188 TDelegate<InRetValType(ParamTypes...)> BindEvent(TDelegate<InRetValType(ParamTypes...)> ColumnType::* InVariable);
189
190 template <typename InRetValType, typename... ParamTypes, TDynamicColumnTemplate ColumnType>
191 TDelegate<InRetValType(ParamTypes...)> BindEvent(const FName& InIdentifier, TDelegate<InRetValType(ParamTypes...)> ColumnType::* InVariable);
192
199 template <TDataColumnType ColumnType>
200 TAttribute<FText> BindText(FString ColumnType::* InFStringVariable);
201
202 template <TDynamicColumnTemplate ColumnType>
203 TAttribute<FText> BindText(const FName& InIdentifier, FString ColumnType::* InFStringVariable);
204
211 template <TDataColumnType ColumnType>
213
214 template <TDynamicColumnTemplate ColumnType>
216
237
238 private:
239
240 // The target row for this binder
241 RowHandle TargetRow;
242
243 // A ptr to the data storage for quick access
244 ICoreProvider* DataStorage;
245 };
246} // namespace UE::Editor::DataStorage
247
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition NameTypes.h:617
Definition Text.h:278
Definition Attribute.h:17
Definition DelegateSignatureImpl.inl:310
Definition AndroidPlatformMisc.h:14
Definition TypedElementAttributeBinding.h:25
TAttribute< AttributeType > BindColumn(TFunction< AttributeType(const ColumnType &)> InConverter)
Definition TypedElementAttributeBinding.inl:155
TAttribute< AttributeType > BindData(AttributeType ColumnType::*InVariable, const AttributeType &InDefaultValue=AttributeType())
Definition TypedElementAttributeBinding.inl:15
TAttribute< FText > BindText(FString ColumnType::*InFStringVariable)
Definition TypedElementAttributeBinding.inl:278
TDelegate< InRetValType(ParamTypes...)> BindEvent(TDelegate< InRetValType(ParamTypes...)> ColumnType::*InVariable)
Definition TypedElementAttributeBinding.inl:224
TAttribute< AttributeType > BindColumnData(const TWeakObjectPtr< const UScriptStruct > &InColumnType, const TFunction< AttributeType(const TWeakObjectPtr< const UScriptStruct > &, const void *)> &InConverter)
Definition TypedElementAttributeBinding.inl:188
TYPEDELEMENTFRAMEWORK_API FTextAttributeFormatted BindTextFormat(FTextFormat Format) const
Definition TypedElementAttributeBinding.cpp:22
Definition TypedElementAttributeBindingText.h:20
Definition TypedElementDataStorageInterface.h:65
Definition TypedElementAttributeBindingProperty.h:25
Definition TypedElementAttributeBindingProperty.h:21
Definition TypedElementAttributeBindingProperty.h:17
Definition CommonTypes.h:95
Definition CommonTypes.cpp:10
uint64 RowHandle
Definition Handles.h:15
Definition WeakObjectPtrTemplates.h:25