Open 3D Engine AzFramework API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZ::DocumentPropertyEditor::PropertyEditorSystem Class Reference

Inherits AZ::DocumentPropertyEditor::PropertyEditorSystemInterface.

Public Member Functions

 AZ_RTTI (PropertyEditorSystem, "{5DD4E43F-B17C-463E-8D4C-5A1E22DD452D}", PropertyEditorSystemInterface)
 
 AZ_CLASS_ALLOCATOR (PropertyEditorSystem, AZ::OSAllocator)
 
void RegisterNode (NodeMetadata metadata) override
 Registers a Node, an adapter element that maps to a UI representation.
 
void RegisterPropertyEditor (PropertyEditorMetadata metadata) override
 
void RegisterNodeAttribute (const NodeMetadata *node, const AttributeDefinitionInterface *attribute) override
 
const NodeMetadataFindNode (AZ::Name name) const override
 Look up the metadata associated with a Node. Returns null if a node definition isn't found.
 
const PropertyEditorMetadataFindPropertyEditor (AZ::Name name) const override
 
const AttributeDefinitionInterfaceFindNodeAttribute (AZ::Name name, const PropertyEditorMetadata *parent) const override
 
void EnumerateRegisteredAttributes (AZ::Name name, const AZStd::function< void(const AttributeDefinitionInterface &)> &enumerateCallback) const override
 
AZ::Name LookupNameFromId (AZ::Crc32 crc) const override
 
- Public Member Functions inherited from AZ::DocumentPropertyEditor::PropertyEditorSystemInterface
 AZ_RTTI (PropertyEditorSystemInterface, "{4F30FC7E-28F3-4D75-9F8E-D818FDBBE984}")
 
virtual void RegisterNode (NodeMetadata metadata)=0
 Registers a Node, an adapter element that maps to a UI representation.
 
virtual void RegisterPropertyEditor (PropertyEditorMetadata metadata)=0
 
virtual void RegisterNodeAttribute (const NodeMetadata *node, const AttributeDefinitionInterface *attribute)=0
 
virtual const NodeMetadataFindNode (AZ::Name name) const =0
 Look up the metadata associated with a Node. Returns null if a node definition isn't found.
 
virtual const PropertyEditorMetadataFindPropertyEditor (AZ::Name name) const =0
 
virtual const AttributeDefinitionInterfaceFindNodeAttribute (AZ::Name name, const PropertyEditorMetadata *parent=nullptr) const =0
 
virtual void EnumerateRegisteredAttributes (AZ::Name name, const AZStd::function< void(const AttributeDefinitionInterface &)> &enumerateCallback) const =0
 
virtual AZ::Name LookupNameFromId (AZ::Crc32 crc) const =0
 
template<typename NodeDefinition >
void RegisterNode ()
 Register a node from a given NodeDefinition struct.
 
template<typename NodeDefinition , typename ParentNodeDefinition >
void RegisterNode ()
 Register a node from a given NodeDefinition struct and its parent NodeDefinition.
 
template<typename DerivedPropertyEditor >
void RegisterPropertyEditor (const PropertyEditorMetadata *parent=nullptr)
 Register a property editor given a PropertyEditorDefinition.
 
template<typename PropertyEditor , typename ParentPropertyEditor >
void RegisterPropertyEditor ()
 Register a property editor given a PropertyEditorDefinition and its parent PropertyEditorDefinition.
 
template<typename NodeType , typename AttributeDefinition >
void RegisterNodeAttribute (const AttributeDefinition &definition)
 Registers an attribute based on an AttributeDefinition to a given node or property editor.
 

Static Public Member Functions

static bool DPEDebugEnabled ()
 

Member Function Documentation

◆ DPEDebugEnabled()

static bool AZ::DocumentPropertyEditor::PropertyEditorSystem::DPEDebugEnabled ( )
static

returns whether the ed_DebugDPE CVar indicates that the DPE should print additional info / error messages to the console and spawn a DPEDebugWindow per DPE instance

◆ EnumerateRegisteredAttributes()

void AZ::DocumentPropertyEditor::PropertyEditorSystem::EnumerateRegisteredAttributes ( AZ::Name  name,
const AZStd::function< void(const AttributeDefinitionInterface &)> &  enumerateCallback 
) const
overridevirtual

◆ FindNode()

const NodeMetadata * AZ::DocumentPropertyEditor::PropertyEditorSystem::FindNode ( AZ::Name  name) const
overridevirtual

Look up the metadata associated with a Node. Returns null if a node definition isn't found.

Implements AZ::DocumentPropertyEditor::PropertyEditorSystemInterface.

◆ FindNodeAttribute()

const AttributeDefinitionInterface * AZ::DocumentPropertyEditor::PropertyEditorSystem::FindNodeAttribute ( AZ::Name  name,
const PropertyEditorMetadata parent 
) const
overridevirtual

Looks up attribute metadata registered to a given property editor (or one of its parents) based on an attribute name. Returns null if no attribute is found.

Implements AZ::DocumentPropertyEditor::PropertyEditorSystemInterface.

◆ FindPropertyEditor()

const PropertyEditorMetadata * AZ::DocumentPropertyEditor::PropertyEditorSystem::FindPropertyEditor ( AZ::Name  name) const
overridevirtual

Looks up the metadata associated with a PropertyEditor. Equivalent to FindNode, but this will validate that the node is a property editor.

Implements AZ::DocumentPropertyEditor::PropertyEditorSystemInterface.

◆ LookupNameFromId()

AZ::Name AZ::DocumentPropertyEditor::PropertyEditorSystem::LookupNameFromId ( AZ::Crc32  crc) const
overridevirtual

For a given CRC, looks up an equivalent Name. The pool of valid CRCs is registered from registered Node, PropertyEditor, and Attribute names.

Implements AZ::DocumentPropertyEditor::PropertyEditorSystemInterface.

◆ RegisterNode()

void AZ::DocumentPropertyEditor::PropertyEditorSystem::RegisterNode ( NodeMetadata  metadata)
overridevirtual

Registers a Node, an adapter element that maps to a UI representation.

Implements AZ::DocumentPropertyEditor::PropertyEditorSystemInterface.

◆ RegisterNodeAttribute()

void AZ::DocumentPropertyEditor::PropertyEditorSystem::RegisterNodeAttribute ( const NodeMetadata node,
const AttributeDefinitionInterface attribute 
)
overridevirtual

Registers an attribute definition that can registered to a Node or PropertyEditor. Attributes have a name and a type that can be used to validate and extract the contens of a given node.

Implements AZ::DocumentPropertyEditor::PropertyEditorSystemInterface.

◆ RegisterPropertyEditor()

void AZ::DocumentPropertyEditor::PropertyEditorSystem::RegisterPropertyEditor ( PropertyEditorMetadata  metadata)
overridevirtual

Registers a PropertyEditor definition defined as the Type of a PropertyEditor node. Attributes may be associated with specific PropertyEditors.

Implements AZ::DocumentPropertyEditor::PropertyEditorSystemInterface.


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