#include <DocumentSchema.h>
Inherits AZ::DocumentPropertyEditor::AttributeDefinition< AZStd::function< CallbackSignature > >.
Classes | |
struct | Traits |
struct | Traits< Result(Args...)> |
struct | Traits< void(Args...)> |
Public Types | |
using | ErrorType = AZStd::fixed_string< 128 > |
using | FunctionType = AZStd::function< CallbackSignature > |
using | CallbackTraits = Traits< CallbackSignature > |
using | MessageCallbackType = AZStd::function< CallbackSignature > |
Public Member Functions | |
constexpr | CallbackAttributeDefinition (AZStd::string_view name) |
template<typename... Args> | |
CallbackTraits::ResultType | InvokeOnDomValue (const AZ::Dom::Value &value, Args... args) const |
template<typename... Args> | |
CallbackTraits::ResultType | InvokeOnDomNode (const AZ::Dom::Value &value, Args... args) const |
bool | MatchMessage (const AdapterMessage &message, Dom::Value &result, const MessageCallbackType &callback) const |
AZStd::shared_ptr< AZ::Attribute > | DomValueToLegacyAttribute (const AZ::Dom::Value &value, bool) const override |
AZ::Dom::Value | LegacyAttributeToDomValue (AZ::PointerObject instanceObject, AZ::Attribute *attribute) const override |
![]() | |
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 AZStd::function< CallbackSignature > &attribute) const |
Converts a value of this attribute's type to a DOM value. | |
virtual AZStd::optional< AZStd::function< CallbackSignature > > | DomToValue (const Dom::Value &value) const |
Converts a DOM value to an instance of AttributeType. | |
AZStd::optional< AZStd::function< CallbackSignature > > | 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. | |
Additional Inherited Members | |
![]() | |
AZStd::fixed_string< 128 > | m_name |
Defines a callback applicable to a Node. Callbacks are stored as attributes and accept an AZStd::function<CallbackSignature> stored as an opaque value. Callbacks can be validated and invokved from DOM values using InvokeOnDomValue and InvokeOnDomNode.
|
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 |
Reimplemented from AZ::DocumentPropertyEditor::AttributeDefinition< AZStd::function< CallbackSignature > >.
|
inline |
Attemps to read this attribute from the specified DOM value, which must be a Node. Invokes the method with the specified args if this attribute is specified, otherwise returns an error message.
|
inline |
Attempts to call a function with this attribute's callback signature stored in a DOM value as an opaque type. Invokes the method with the specified args if our callback signature is found in the value, otherwise returns an error message.
|
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 |
Reimplemented from AZ::DocumentPropertyEditor::AttributeDefinition< AZStd::function< CallbackSignature > >.
|
inline |
Checks if a given AdapterMessage matches this attribute and invokes a provided callback if so. Returns true if the callback was invoked.