ezEngine Release 25.08
Loading...
Searching...
No Matches
ezExposedParameterCommandAccessor Class Reference

Helper accessor to pretend all exposed parameters always have a value defined. The exposed parameters are stored as just a sparse map. Only the elements that are overwritten from their defaults are actually stored in the component. Thus, requesting the value of an exposed parameter that has not been overwritten results in failure. To fix this, this class will automatically return the default value of an exposed parameter. This allows the tooling code to always show every exposed parameter's value independent on whether it was overwritten or remains at the default value. More...

#include <ExposedParametersPropertyWidget.moc.h>

Inheritance diagram for ezExposedParameterCommandAccessor:

Public Member Functions

 ezExposedParameterCommandAccessor (ezObjectAccessorBase *pSource, const ezAbstractProperty *pParameterProp, const ezAbstractProperty *pM_pParameterSourceProp)
 
virtual ezStatus GetValue (const ezDocumentObject *pObject, const ezAbstractProperty *pProp, ezVariant &out_value, ezVariant index=ezVariant()) override
 
virtual ezStatus SetValue (const ezDocumentObject *pObject, const ezAbstractProperty *pProp, const ezVariant &newValue, ezVariant index=ezVariant()) override
 
virtual ezStatus RemoveValue (const ezDocumentObject *pObject, const ezAbstractProperty *pProp, ezVariant index=ezVariant()) override
 
virtual ezStatus GetCount (const ezDocumentObject *pObject, const ezAbstractProperty *pProp, ezInt32 &out_iCount) override
 
virtual ezStatus GetKeys (const ezDocumentObject *pObject, const ezAbstractProperty *pProp, ezDynamicArray< ezVariant > &out_keys) override
 
virtual ezStatus GetValues (const ezDocumentObject *pObject, const ezAbstractProperty *pProp, ezDynamicArray< ezVariant > &out_values) override
 
const ezExposedParametersGetExposedParams (const ezDocumentObject *pObject)
 
const ezExposedParameterGetExposedParam (const ezDocumentObject *pObject, const char *szParamName)
 
const ezRTTIGetExposedParamsType (const ezDocumentObject *pObject)
 
const ezRTTIGetCommonExposedParamsType (const ezHybridArray< ezPropertySelection, 8 > &items)
 
bool IsExposedProperty (const ezDocumentObject *pObject, const ezAbstractProperty *pProp)
 
- Public Member Functions inherited from ezObjectProxyAccessor
 ezObjectProxyAccessor (ezObjectAccessorBase *pSource)
 
ezObjectAccessorBaseGetSourceAccessor () const
 
virtual void StartTransaction (ezStringView sDisplayString) override
 
virtual void CancelTransaction () override
 
virtual void FinishTransaction () override
 
virtual void BeginTemporaryCommands (ezStringView sDisplayString, bool bFireEventsWhenUndoingTempCommands=false) override
 
virtual void CancelTemporaryCommands () override
 
virtual void FinishTemporaryCommands () override
 
virtual const ezDocumentObjectGetObject (const ezUuid &object) override
 
virtual ezStatus InsertValue (const ezDocumentObject *pObject, const ezAbstractProperty *pProp, const ezVariant &newValue, ezVariant index=ezVariant()) override
 
virtual ezStatus MoveValue (const ezDocumentObject *pObject, const ezAbstractProperty *pProp, const ezVariant &oldIndex, const ezVariant &newIndex) override
 
virtual ezStatus AddObject (const ezDocumentObject *pParent, const ezAbstractProperty *pParentProp, const ezVariant &index, const ezRTTI *pType, ezUuid &inout_objectGuid) override
 
virtual ezStatus RemoveObject (const ezDocumentObject *pObject) override
 
virtual ezStatus MoveObject (const ezDocumentObject *pObject, const ezDocumentObject *pNewParent, const ezAbstractProperty *pParentProp, const ezVariant &index) override
 
- Public Member Functions inherited from ezObjectAccessorBase
const ezDocumentObjectManagerGetObjectManager () const
 
virtual ezObjectAccessorBaseResolveProxy (const ezDocumentObject *&ref_pObject, const ezRTTI *&ref_pType, const ezAbstractProperty *&ref_pProp, ezDynamicArray< ezVariant > &ref_indices)
 If this accessor is a proxy accessor, transform the input parameters into those of the source accessor. The default implementation does nothing and returns this. Usually this only needs to be implemented on ezObjectProxyAccessor derived accessors that modify the type, property, view etc of an object.
 
ezStatus GetValueByName (const ezDocumentObject *pObject, ezStringView sProp, ezVariant &out_value, ezVariant index=ezVariant())
 
ezStatus SetValueByName (const ezDocumentObject *pObject, ezStringView sProp, const ezVariant &newValue, ezVariant index=ezVariant())
 
ezStatus InsertValueByName (const ezDocumentObject *pObject, ezStringView sProp, const ezVariant &newValue, ezVariant index=ezVariant())
 
ezStatus RemoveValueByName (const ezDocumentObject *pObject, ezStringView sProp, ezVariant index=ezVariant())
 
ezStatus MoveValueByName (const ezDocumentObject *pObject, ezStringView sProp, const ezVariant &oldIndex, const ezVariant &newIndex)
 
ezStatus GetCountByName (const ezDocumentObject *pObject, ezStringView sProp, ezInt32 &out_iCount)
 
ezStatus AddObjectByName (const ezDocumentObject *pParent, ezStringView sParentProp, const ezVariant &index, const ezRTTI *pType, ezUuid &inout_objectGuid)
 
ezStatus MoveObjectByName (const ezDocumentObject *pObject, const ezDocumentObject *pNewParent, ezStringView sParentProp, const ezVariant &index)
 
ezStatus GetKeysByName (const ezDocumentObject *pObject, ezStringView sProp, ezDynamicArray< ezVariant > &out_keys)
 
ezStatus GetValuesByName (const ezDocumentObject *pObject, ezStringView sProp, ezDynamicArray< ezVariant > &out_values)
 
const ezDocumentObjectGetChildObjectByName (const ezDocumentObject *pObject, ezStringView sProp, ezVariant index)
 
ezStatus ClearByName (const ezDocumentObject *pObject, ezStringView sProp)
 
const ezAbstractPropertyFindPropertyByName (const ezDocumentObject *pObject, ezStringView sProp)
 
template<typename T >
Get (const ezDocumentObject *pObject, const ezAbstractProperty *pProp, ezVariant index=ezVariant())
 
template<typename T >
GetByName (const ezDocumentObject *pObject, ezStringView sProp, ezVariant index=ezVariant())
 
ezInt32 GetCount (const ezDocumentObject *pObject, const ezAbstractProperty *pProp)
 
ezInt32 GetCountByName (const ezDocumentObject *pObject, ezStringView sProp)
 
- Public Member Functions inherited from ezReflectedClass
virtual const ezRTTIGetDynamicRTTI () const
 
bool IsInstanceOf (const ezRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
 
template<typename T >
EZ_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.
 

Public Attributes

const ezAbstractPropertym_pParameterProp = nullptr
 
const ezAbstractPropertym_pParameterSourceProp = nullptr
 

Additional Inherited Members

- Static Public Member Functions inherited from ezNoBase
static const ezRTTIGetStaticRTTI ()
 
- Protected Member Functions inherited from ezObjectAccessorBase
 ezObjectAccessorBase (const ezDocumentObjectManager *pManager)
 
void FireDocumentObjectStructureEvent (const ezDocumentObjectStructureEvent &e)
 
void FireDocumentObjectPropertyEvent (const ezDocumentObjectPropertyEvent &e)
 
- Protected Attributes inherited from ezObjectProxyAccessor
ezObjectAccessorBasem_pSource = nullptr
 
- Protected Attributes inherited from ezObjectAccessorBase
const ezDocumentObjectManagerm_pConstManager
 

Detailed Description

Helper accessor to pretend all exposed parameters always have a value defined. The exposed parameters are stored as just a sparse map. Only the elements that are overwritten from their defaults are actually stored in the component. Thus, requesting the value of an exposed parameter that has not been overwritten results in failure. To fix this, this class will automatically return the default value of an exposed parameter. This allows the tooling code to always show every exposed parameter's value independent on whether it was overwritten or remains at the default value.

Member Function Documentation

◆ GetCount()

ezStatus ezExposedParameterCommandAccessor::GetCount ( const ezDocumentObject pObject,
const ezAbstractProperty pProp,
ezInt32 &  out_iCount 
)
overridevirtual

Reimplemented from ezObjectProxyAccessor.

◆ GetKeys()

ezStatus ezExposedParameterCommandAccessor::GetKeys ( const ezDocumentObject pObject,
const ezAbstractProperty pProp,
ezDynamicArray< ezVariant > &  out_keys 
)
overridevirtual

Reimplemented from ezObjectProxyAccessor.

◆ GetValue()

ezStatus ezExposedParameterCommandAccessor::GetValue ( const ezDocumentObject pObject,
const ezAbstractProperty pProp,
ezVariant out_value,
ezVariant  index = ezVariant() 
)
overridevirtual

Reimplemented from ezObjectProxyAccessor.

◆ GetValues()

ezStatus ezExposedParameterCommandAccessor::GetValues ( const ezDocumentObject pObject,
const ezAbstractProperty pProp,
ezDynamicArray< ezVariant > &  out_values 
)
overridevirtual

Reimplemented from ezObjectProxyAccessor.

◆ RemoveValue()

ezStatus ezExposedParameterCommandAccessor::RemoveValue ( const ezDocumentObject pObject,
const ezAbstractProperty pProp,
ezVariant  index = ezVariant() 
)
overridevirtual

Reimplemented from ezObjectProxyAccessor.

◆ SetValue()

ezStatus ezExposedParameterCommandAccessor::SetValue ( const ezDocumentObject pObject,
const ezAbstractProperty pProp,
const ezVariant newValue,
ezVariant  index = ezVariant() 
)
overridevirtual

Reimplemented from ezObjectProxyAccessor.


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