#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 NodeMetadata * | FindNode (AZ::Name name) const =0 |
Look up the metadata associated with a Node. Returns null if a node definition isn't found. | |
virtual const PropertyEditorMetadata * | FindPropertyEditor (AZ::Name name) const =0 |
virtual const AttributeDefinitionInterface * | FindNodeAttribute (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. | |
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.
|
pure virtual |
Look up the metadata associated with a Node. Returns null if a node definition isn't found.
Implemented in AZ::DocumentPropertyEditor::PropertyEditorSystem.
|
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.
|
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.
|
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.
|
pure virtual |
Registers a Node, an adapter element that maps to a UI representation.
Implemented in AZ::DocumentPropertyEditor::PropertyEditorSystem.
|
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.
|
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.