11 template<
typename InObjectType,
typename InInval
idationReasonPredicate,
typename InComparePredicate>
21 TEXT(
"Use TAttribute or TSlateManagedAttribute instead. See SlateAttribute.h for more info."));
23 TEXT(
"The TSlateAttribute could not be found in the SlateAttributeDescriptor.\n")
24 TEXT(
"Use the SLATE_DECLARE_WIDGET and add the attribute in PrivateRegisterAttributes,\n")
25 TEXT(
"Or use TSlateAttribute with a valid Invalidation Reason instead."));
42 void*
operator new[](
size_t) =
delete;
44#if UE_SLATE_WITH_MEMBER_ATTRIBUTE_DEBUGGING
61 VerifyAttributeAddress(
Widget, *
this);
68 VerifyAttributeAddress(
Widget, *
this);
75 VerifyAttributeAddress(
Widget, *
this);
86 template<
typename AttributeMemberType>
91 using ObjectType =
typename AttributeMemberType::ObjectType;
95 template<
typename W
idgetType>
99 TEXT(
"The attribute is not a member of the widget."));
132 return Attribute.Get();
134 checkf(
false,
TEXT(
"It is an error to call GetValue() on an unset TSlateMemberAttributeRef. Please either check IsValid() or use Get(DefaultValue) instead."));
144 return Attribute.Get();
167 return Attribute.Get();
169 checkf(
false,
TEXT(
"It is an error to call GetValue() on an unset TSlateMemberAttributeRef. Please either check IsValid() or use Get(DefaultValue) instead."));
181 return Attribute.Get();
191 return Attribute.ToAttribute(*Pin.Get());
201 return Attribute.IsBound(*Pin.Get());
213 return Attribute.IdenticalTo(*
SelfPin.Get(),
Other.Attribute);
223 return Attribute.IdenticalTo(*Pin.Get(),
Other);
225 return !
Other.IsSet();
#define ensureAlwaysMsgf(InExpression, InFormat,...)
Definition AssertionMacros.h:467
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
return Self
Definition CocoaThread.cpp:337
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition Attribute.h:17
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition SharedPointer.h:1295
UE_FORCEINLINE_HINT TSharedPtr< ObjectType, Mode > Pin() const &
Definition SharedPointer.h:1512
UE_FORCEINLINE_HINT bool IsValid() const
Definition SharedPointer.h:1535
Definition SlateAttribute.cpp:11
ESlateMemberAttributeRefNoCheckParam
Definition SlateAttributeMember.inl:81
@ SlateMemberAttributeRefNoCheckParam
Definition SlateAttributeMember.inl:81
SLATECORE_API bool ProtectedIsWidgetInDestructionPath(SWidget *Widget) const
Definition SlateAttribute.cpp:50
Definition SlateAttributeBase.inl:20
static constexpr bool HasDefinedInvalidationReason
Definition SlateAttributeBase.inl:31
InObjectType ObjectType
Definition SlateAttributeBase.inl:25
typename TAttribute< ObjectType >::FGetter FGetter
Definition SlateAttributeBase.inl:27
Definition SlateAttributeMember.inl:88
bool IdenticalTo(const TSlateMemberAttributeRef &Other) const
Definition SlateAttributeMember.inl:207
TSlateMemberAttributeRef(const TSharedRef< WidgetType > &InOwner, const AttributeMemberType &InAttribute)
Definition SlateAttributeMember.inl:106
AttributeMemberType SlateAttributeType
Definition SlateAttributeMember.inl:90
const ObjectType & Get(const ObjectType &DefaultValue) const
Definition SlateAttributeMember.inl:140
TSlateMemberAttributeRef(ESlateMemberAttributeRefNoCheckParam, const TSharedRef< SWidget > &InOwner, const AttributeMemberType &InAttribute)
Definition SlateAttributeMember.inl:114
void UpdateValue()
Definition SlateAttributeMember.inl:150
const ObjectType & Get() const
Definition SlateAttributeMember.inl:128
const ObjectType & UpdateAndGet(const ObjectType &DefaultValue)
Definition SlateAttributeMember.inl:176
TAttribute< ObjectType > ToAttribute() const
Definition SlateAttributeMember.inl:187
bool IsBound() const
Definition SlateAttributeMember.inl:197
typename AttributeMemberType::ObjectType ObjectType
Definition SlateAttributeMember.inl:91
bool IdenticalTo(const TAttribute< ObjectType > &Other) const
Definition SlateAttributeMember.inl:219
const ObjectType & UpdateAndGet()
Definition SlateAttributeMember.inl:162
bool IsValid() const
Definition SlateAttributeMember.inl:122
Definition SlateAttributeMember.inl:13
TSlateMemberAttribute & operator=(const TSlateMemberAttribute &)=delete
TSlateMemberAttribute & operator=(TSlateMemberAttribute &&)=delete
TSlateMemberAttribute(WidgetType &Widget, ObjectType &&InValue)
Definition SlateAttributeMember.inl:72
typename Super::FGetter FGetter
Definition SlateAttributeMember.inl:29
TSlateMemberAttribute()=delete
TSlateMemberAttribute(const TSlateMemberAttribute &)=delete
TSlateMemberAttribute(TSlateMemberAttribute &&)=delete
typename Super::ObjectType ObjectType
Definition SlateAttributeMember.inl:30
TSlateMemberAttribute(WidgetType &Widget)
Definition SlateAttributeMember.inl:58
TSlateMemberAttribute(WidgetType &Widget, const ObjectType &InValue)
Definition SlateAttributeMember.inl:65