Open 3D Engine AzCore 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::EditContext Class Reference

#include <EditContext.h>

Classes

class  ClassBuilder
 
class  EnumBuilder
 
struct  EnumerateInstanceCallContext
 Analog to SerializeContext::EnumerateInstanceCallContext for enumerating an EditContext. More...
 

Public Member Functions

 AZ_CLASS_ALLOCATOR (EditContext, SystemAllocator)
 
 EditContext (SerializeContext &serializeContext)
 
template<class T >
ClassBuilder Class (const char *displayName, const char *description)
 
template<class E >
EnumBuilder Enum (const char *displayName, const char *description)
 
void RemoveClassData (SerializeContext::ClassData *classData)
 
const Edit::ElementDataGetEnumElementData (const AZ::Uuid &enumId) const
 
bool EnumerateInstanceConst (EnumerateInstanceCallContext *callContext, const void *ptr, const Uuid &classId, const SerializeContext::ClassData *classData, const SerializeContext::ClassElement *classElement) const
 
bool EnumerateInstance (EnumerateInstanceCallContext *callContext, void *ptr, const Uuid &classId, const SerializeContext::ClassData *classData, const SerializeContext::ClassElement *classElement) const
 

Detailed Description

EditContext is bound to serialize context. It uses it for data manipulation. It's role is to be an abstract way to generate and describe how a class should be edited. It doesn't rely on any edit/editor/etc. code and it should not as it's ABSTRACT. Please refer to your editor/edit tools to check what are the "id" for the uiElements and their respective properties "id" and values.

Constructor & Destructor Documentation

◆ EditContext()

AZ::EditContext::EditContext ( SerializeContext serializeContext)

EditContext uses serialize context to interact with data, so serialize context is required.

Member Function Documentation

◆ EnumerateInstanceConst()

bool AZ::EditContext::EnumerateInstanceConst ( EnumerateInstanceCallContext callContext,
const void *  ptr,
const Uuid classId,
const SerializeContext::ClassData classData,
const SerializeContext::ClassElement classElement 
) const

Call this function to traverse an instance's hierarchy by providing address and classId, if you have the typed pointer you can just call EnumerateObject

Parameters
ptrpointer to the object for traversal
classIdclassId of object for traversal
beginElemCBcallback when we begin/open a child element
endElemCBcallback when we end/close a child element
accessFlagsEnumerationAccessFlags
classDatapointer to the class data for the traversed object to avoid calling FindClassData(classId) (can be null)
classElementpointer to class element (null for root elements)
errorHandleroptional pointer to the error handler.

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