#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::ElementData * | GetEnumElementData (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 |
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.
AZ::EditContext::EditContext | ( | SerializeContext & | serializeContext | ) |
EditContext uses serialize context to interact with data, so serialize context is required.
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
ptr | pointer to the object for traversal |
classId | classId of object for traversal |
beginElemCB | callback when we begin/open a child element |
endElemCB | callback when we end/close a child element |
accessFlags | EnumerationAccessFlags |
classData | pointer to the class data for the traversed object to avoid calling FindClassData(classId) (can be null) |
classElement | pointer to class element (null for root elements) |
errorHandler | optional pointer to the error handler. |