Open 3D Engine AzToolsFramework 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.
AzToolsFramework::PropertyEditorToolsSystemInterface Class Referenceabstract

#include <PropertyEditorToolsSystemInterface.h>

Inherited by AzToolsFramework::PropertyEditorToolsSystem.

Classes

struct  HandlerData
 

Public Types

using PropertyHandlerInstance = AZStd::unique_ptr< PropertyHandlerWidgetInterface >
 
using PropertyHandlerInstanceFactory = AZStd::function< PropertyHandlerInstance()>
 
using PropertyHandlerId = HandlerData *
 A persistent ID for a given property handler.
 

Public Member Functions

 AZ_RTTI (PropertyEditorToolsSystemInterface, "{4E45141B-D612-4DCB-A644-A874EE9A7A52}")
 
virtual PropertyHandlerId GetPropertyHandlerForNode (const AZ::Dom::Value node)=0
 
virtual PropertyHandlerInstance CreateHandlerInstance (PropertyHandlerId handlerId)=0
 
virtual PropertyHandlerId RegisterHandler (HandlerData handlerData)=0
 
virtual void UnregisterHandler (PropertyHandlerId handlerId)=0
 Unregisters a previously registered property handler.
 
template<typename HandlerType >
void RegisterHandler ()
 

Static Public Member Functions

template<class T >
constexpr bool IsDefaultHandler
 

Static Public Attributes

static constexpr PropertyHandlerId InvalidHandlerId = nullptr
 An invalid or nonexistent ID for a property handler.
 
template<class , class = void>
static constexpr bool IsDefaultHandler = false
 

Detailed Description

Interface for UI-level features of the Document Property Editor such as registering property handler widgets.

Member Function Documentation

◆ CreateHandlerInstance()

virtual PropertyHandlerInstance AzToolsFramework::PropertyEditorToolsSystemInterface::CreateHandlerInstance ( PropertyHandlerId  handlerId)
pure virtual

Creates a PropertyHandlerInstance given a property handler ID. Any number of handler instances can be created for a given handler ID. This operation will fail if the ID is InvalidHandlerId.

Implemented in AzToolsFramework::PropertyEditorToolsSystem.

◆ GetPropertyHandlerForNode()

virtual PropertyHandlerId AzToolsFramework::PropertyEditorToolsSystemInterface::GetPropertyHandlerForNode ( const AZ::Dom::Value  node)
pure virtual

Looks up the property handler for a given node. Currently, only PropertyEditor nodes are supported.

Implemented in AzToolsFramework::PropertyEditorToolsSystem.

◆ RegisterHandler() [1/2]

template<typename HandlerType >
void AzToolsFramework::PropertyEditorToolsSystemInterface::RegisterHandler ( )
inline

Registers a factory for a given type of PropertyHandlerWidgetInterface. This type must implement static const AZStd::string_view GetHandlerName() and may implement static bool ShouldHandleType(const AZ::TypeId& typeId)

◆ RegisterHandler() [2/2]

virtual PropertyHandlerId AzToolsFramework::PropertyEditorToolsSystemInterface::RegisterHandler ( HandlerData  handlerData)
pure virtual

Registers a property handler. For standard types that implement PropertyHandlerWidgetInterface, the templated helper may be used to automatically create HandlerData for a given type.

Implemented in AzToolsFramework::PropertyEditorToolsSystem.

◆ UnregisterHandler()

virtual void AzToolsFramework::PropertyEditorToolsSystemInterface::UnregisterHandler ( PropertyHandlerId  handlerId)
pure virtual

Unregisters a previously registered property handler.

Implemented in AzToolsFramework::PropertyEditorToolsSystem.


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