UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FEditPropertyChain Class Reference

#include <UnrealType.h>

+ Inheritance diagram for FEditPropertyChain:

Public Member Functions

 FEditPropertyChain ()
 
UE_API bool SetActivePropertyNode (FProperty *NewActiveProperty)
 
UE_API bool SetActiveMemberPropertyNode (FProperty *NewActiveMemberProperty)
 
template<typename T >
void SetAffectedArchetypeInstances (T &&InAffectedInstances)
 
UE_API bool IsArchetypeInstanceAffected (UObject *InInstance) const
 
UE_API TDoubleLinkedListNode * GetActiveNode () const
 
UE_API TDoubleLinkedListNode * GetActiveMemberNode () const
 
- Public Member Functions inherited from TDoubleLinkedList< FProperty * >
 TDoubleLinkedList ()
 
 TDoubleLinkedList (const TDoubleLinkedList &)=delete
 
 TDoubleLinkedList (TDoubleLinkedList &&Other)
 
virtual ~TDoubleLinkedList ()
 
TDoubleLinkedListoperator= (const TDoubleLinkedList &)=delete
 
TDoubleLinkedListoperator= (TDoubleLinkedList &&Other)
 
bool AddHead (const FProperty * &InElement)
 
bool AddHead (TDoubleLinkedListNode *NewNode)
 
bool AddTail (const FProperty * &InElement)
 
bool AddTail (TDoubleLinkedListNode *NewNode)
 
bool InsertNode (const FProperty * &InElement, TDoubleLinkedListNode *NodeToInsertBefore=nullptr)
 
bool InsertNode (TDoubleLinkedListNode *NewNode, TDoubleLinkedListNode *NodeToInsertBefore=nullptr)
 
void RemoveNode (const FProperty * &InElement)
 
void RemoveNode (TDoubleLinkedListNode *NodeToRemove, bool bDeleteNode=true)
 
void Empty ()
 
TDoubleLinkedListNode * GetHead () const
 
TDoubleLinkedListNode * GetTail () const
 
TDoubleLinkedListNode * FindNode (const FProperty * &InElement)
 
bool Contains (const FProperty * &InElement)
 
bool IsEmpty () const
 
int32 Num () const
 

Protected Member Functions

virtual UE_API void SetListSize (int32 NewListSize)
 

Protected Attributes

TDoubleLinkedListNode * ActivePropertyNode
 
TDoubleLinkedListNode * ActiveMemberPropertyNode
 
TSet< UObject * > AffectedInstances
 
bool bFilterAffectedInstances
 

Additional Inherited Members

- Public Types inherited from TDoubleLinkedList< FProperty * >
typedef TDoubleLinkedListIterator< TDoubleLinkedListNode, FProperty * > TIterator
 
typedef TDoubleLinkedListIterator< TDoubleLinkedListNode, const FProperty * > TConstIterator
 

Detailed Description

This class represents the chain of member properties leading to an internal struct property. It is used for tracking which member property corresponds to the UScriptStruct that owns a particular property.

Constructor & Destructor Documentation

◆ FEditPropertyChain()

FEditPropertyChain::FEditPropertyChain ( )
inline

Constructors

Member Function Documentation

◆ GetActiveMemberNode()

FEditPropertyChain::TDoubleLinkedListNode * FEditPropertyChain::GetActiveMemberNode ( ) const

Returns the node corresponding to the currently active property, or if the currently active property is not a member variable (i.e. inside of a struct/array), the node corresponding to the member variable which contains the currently active property.

◆ GetActiveNode()

FEditPropertyChain::TDoubleLinkedListNode * FEditPropertyChain::GetActiveNode ( ) const

Returns the node corresponding to the currently active property.

◆ IsArchetypeInstanceAffected()

bool FEditPropertyChain::IsArchetypeInstanceAffected ( UObject InInstance) const

Returns whether the specified archetype instance will be affected by the property change.

◆ SetActiveMemberPropertyNode()

bool FEditPropertyChain::SetActiveMemberPropertyNode ( FProperty NewActiveMemberProperty)

Sets the ActiveMemberPropertyNode to the node associated with the property specified.

Parameters
NewActiveMemberPropertythe member FProperty which contains the property currently being evaluated by Pre/PostEditChange
Returns
true if the ActiveMemberPropertyNode was successfully changed to the node associated with the property specified. false if there was no node corresponding to that property.

◆ SetActivePropertyNode()

bool FEditPropertyChain::SetActivePropertyNode ( FProperty NewActiveProperty)

Sets the ActivePropertyNode to the node associated with the property specified.

Parameters
NewActivePropertythe FProperty that is currently being evaluated by Pre/PostEditChange
Returns
true if the ActivePropertyNode was successfully changed to the node associated with the property specified. false if there was no node corresponding to that property.

◆ SetAffectedArchetypeInstances()

template<typename T >
void FEditPropertyChain::SetAffectedArchetypeInstances ( T &&  InAffectedInstances)
inline

Specify the set of archetype instances that will be affected by the property change.

◆ SetListSize()

void FEditPropertyChain::SetListSize ( int32  NewListSize)
protectedvirtual

TDoubleLinkedList interface Updates the size reported by Num(). Child classes can use this function to conveniently hook into list additions/removals.

This version ensures that the ActivePropertyNode and ActiveMemberPropertyNode point to a valid nodes or NULL if this list is empty.

Parameters
NewListSizethe new size for this list

Updates the size reported by Num(). Child classes can use this function to conveniently hook into list additions/removals.

This version ensures that the ActivePropertyNode either points to a valid node, or NULL if this list is empty.

Parameters
NewListSizethe new size for this list

Reimplemented from TDoubleLinkedList< FProperty * >.

Member Data Documentation

◆ ActiveMemberPropertyNode

TDoubleLinkedListNode* FEditPropertyChain::ActiveMemberPropertyNode
protected

In a hierarchy of properties being edited, corresponds to the class member property which contains the property that is currently being processed by Pre/PostEditChange. This will only be different from the ActivePropertyNode if the active property is contained within a struct, dynamic array, or static array.

◆ ActivePropertyNode

TDoubleLinkedListNode* FEditPropertyChain::ActivePropertyNode
protected

In a hierarchy of properties being edited, corresponds to the property that is currently being processed by Pre/PostEditChange

◆ AffectedInstances

TSet<UObject*> FEditPropertyChain::AffectedInstances
protected

Archetype instances that will be affected by the property change.

◆ bFilterAffectedInstances

bool FEditPropertyChain::bFilterAffectedInstances
protected

Assume all archetype instances are affected unless a set of affected instances is provided.


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