#include <DocumentSchema.h>
Inherits AZ::DocumentPropertyEditor::AttributeDefinitionInterface.
Public Member Functions | |
constexpr | AttributeDefinition (AZStd::string_view name) |
Name | GetName () const override |
Retrieves the name of this attribute, as used as a key in the DOM. | |
virtual Dom::Value | ValueToDom (const AttributeType &attribute) const |
Converts a value of this attribute's type to a DOM value. | |
virtual AZStd::optional< AttributeType > | DomToValue (const Dom::Value &value) const |
Converts a DOM value to an instance of AttributeType. | |
AZStd::optional< AttributeType > | ExtractFromDomNode (const Dom::Value &node) const |
Extracts this value from a given Node, if this attribute is set there. | |
AZ::TypeId | GetTypeId () const override |
Gets this attribute's type ID. | |
AZStd::shared_ptr< AZ::Attribute > | DomValueToLegacyAttribute (const AZ::Dom::Value &value, bool fallback) const override |
AZ::Dom::Value | LegacyAttributeToDomValue (void *instance, AZ::Attribute *attribute) const override |
virtual Name | GetName () const =0 |
Retrieves the name of this attribute, as used as a key in the DOM. | |
virtual AZ::TypeId | GetTypeId () const =0 |
Gets this attribute's type ID. | |
virtual AZStd::shared_ptr< AZ::Attribute > | DomValueToLegacyAttribute (const AZ::Dom::Value &value, bool fallback=true) const =0 |
virtual AZ::Dom::Value | LegacyAttributeToDomValue (void *instance, AZ::Attribute *attribute) const =0 |
Protected Attributes | |
AZStd::fixed_string< 128 > | m_name |
Defines an attribute applicable to a Node. Attributes may be defined inline inside of a NodeDefinition. AttributeDefinitions may be used to marshal types to and from a DOM representation. This representation is not guaranteed to be serializable - for functions and complex types they may be stored as non-serializeable opaque types in the DOM.
|
inlinevirtual |
Converts a DOM value to an instance of AttributeType.
Reimplemented in AZ::DocumentPropertyEditor::TypeIdAttributeDefinition, AZ::DocumentPropertyEditor::NamedCrcAttributeDefinition, AZ::DocumentPropertyEditor::GenericValueAttributeDefinition< GenericValueType >, and AZ::DocumentPropertyEditor::GenericValueListAttributeDefinition< GenericValueType >.
|
inlineoverridevirtual |
Converts this attribute to an AZ::Attribute usable by the ReflectedPropertyEditor
fallback | if false, the Attribute type must match AZ::Dom::Value; if true, it will attempt a fallback on failure |
Implements AZ::DocumentPropertyEditor::AttributeDefinitionInterface.
|
inlineoverridevirtual |
Retrieves the name of this attribute, as used as a key in the DOM.
Implements AZ::DocumentPropertyEditor::AttributeDefinitionInterface.
|
inlineoverridevirtual |
Gets this attribute's type ID.
Implements AZ::DocumentPropertyEditor::AttributeDefinitionInterface.
|
inlineoverridevirtual |
Converts this attribute from an AZ::Attribute to a Dom::Value usable in the DocumentPropertyEditor.
fallback | if false, a Read<AttributeType> failure will return a null Value; if true, it will attempt a fallback on failure |
Implements AZ::DocumentPropertyEditor::AttributeDefinitionInterface.
|
inlinevirtual |
Converts a value of this attribute's type to a DOM value.
Reimplemented in AZ::DocumentPropertyEditor::NamedCrcAttributeDefinition, AZ::DocumentPropertyEditor::TypeIdAttributeDefinition, AZ::DocumentPropertyEditor::GenericValueListAttributeDefinition< GenericValueType >, and AZ::DocumentPropertyEditor::GenericValueAttributeDefinition< GenericValueType >.