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::PropertyEditorSystemInterface Class Referenceabstract

#include <PropertyEditorSystemInterface.h>

Inherited by AZ::DocumentPropertyEditor::PropertyEditorSystem.

Public Member Functions

 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.
 

Detailed Description

System interface for the Document Property Editor. The Property Editor System provides mechanisms for registering adapter elemenets (nodes / property editors and their attributes) with schema information for validation. This system also provides a CRC -> Name mapping for interoperation with the legacy reflection system.

Member Function Documentation

◆ FindNode()

virtual const NodeMetadata * AZ::DocumentPropertyEditor::PropertyEditorSystemInterface::FindNode ( AZ::Name  name) const
pure virtual

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

Implemented in AZ::DocumentPropertyEditor::PropertyEditorSystem.

◆ FindNodeAttribute()

virtual const AttributeDefinitionInterface * AZ::DocumentPropertyEditor::PropertyEditorSystemInterface::FindNodeAttribute ( AZ::Name  name,
const PropertyEditorMetadata parent = nullptr 
) const
pure virtual

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.

Implemented in AZ::DocumentPropertyEditor::PropertyEditorSystem.

◆ FindPropertyEditor()

virtual const PropertyEditorMetadata * AZ::DocumentPropertyEditor::PropertyEditorSystemInterface::FindPropertyEditor ( AZ::Name  name) const
pure virtual

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

Implemented in AZ::DocumentPropertyEditor::PropertyEditorSystem.

◆ LookupNameFromId()

virtual AZ::Name AZ::DocumentPropertyEditor::PropertyEditorSystemInterface::LookupNameFromId ( AZ::Crc32  crc) const
pure virtual

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

Implemented in AZ::DocumentPropertyEditor::PropertyEditorSystem.

◆ RegisterNode()

virtual void AZ::DocumentPropertyEditor::PropertyEditorSystemInterface::RegisterNode ( NodeMetadata  metadata)
pure virtual

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

Implemented in AZ::DocumentPropertyEditor::PropertyEditorSystem.

◆ RegisterNodeAttribute()

virtual void AZ::DocumentPropertyEditor::PropertyEditorSystemInterface::RegisterNodeAttribute ( const NodeMetadata node,
const AttributeDefinitionInterface attribute 
)
pure virtual

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.

Implemented in AZ::DocumentPropertyEditor::PropertyEditorSystem.

◆ RegisterPropertyEditor()

virtual void AZ::DocumentPropertyEditor::PropertyEditorSystemInterface::RegisterPropertyEditor ( PropertyEditorMetadata  metadata)
pure virtual

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

Implemented in AZ::DocumentPropertyEditor::PropertyEditorSystem.


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