|
|
| plAccessorProperty (const char *szPropertyName, GetterFunc getter, SetterFunc setter) |
| | Constructor.
|
| |
| virtual void * | GetPropertyPointer (const void *pInstance) const override |
| | Always returns nullptr; once a property is modified through accessors, there is no point in giving more direct access to others.
|
| |
| virtual RealType | GetValue (const void *pInstance) const override |
| | Returns the value of the property. Pass the instance pointer to the surrounding class along.
|
| |
| virtual void | SetValue (void *pInstance, RealType value) const override |
| | Modifies the value of the property. Pass the instance pointer to the surrounding class along.
|
| |
|
| plTypedMemberProperty (const char *szPropertyName) |
| | Passes the property name through to plAbstractMemberProperty.
|
| |
| virtual const plRTTI * | GetSpecificType () const override |
| | Returns the actual type of the property. You can then compare that with known types, eg. compare it to plGetStaticRTTI<int>() to see whether this is an int property.
|
| |
| virtual void | SetValue (void *pInstance, Type value) const=0 |
| | Modifies the value of the property. Pass the instance pointer to the surrounding class along.
|
| |
| virtual void | GetValuePtr (const void *pInstance, void *pObject) const override |
| | Writes the value of this property in pInstance to pObject. pObject needs to point to an instance of this property's type.
|
| |
| virtual void | SetValuePtr (void *pInstance, const void *pObject) const override |
| | Sets the value of pObject to the property in pInstance. pObject needs to point to an instance of this property's type.
|
| |
|
| plAbstractMemberProperty (const char *szPropertyName) |
| | Passes the property name through to plAbstractProperty.
|
| |
| virtual plPropertyCategory::Enum | GetCategory () const override |
| | Returns plPropertyCategory::Member.
|
| |
|
| plAbstractProperty (const char *szPropertyName) |
| | The constructor must get the name of the property. The string must be a compile-time constant.
|
| |
|
const char * | GetPropertyName () const |
| | Returns the name of the property.
|
| |
|
const plBitflags< plPropertyFlags > & | GetFlags () const |
| | Returns the flags of the property.
|
| |
|
plAbstractProperty * | AddFlags (plBitflags< plPropertyFlags > flags) |
| | Adds flags to the property. Returns itself to allow to be called during initialization.
|
| |
|
plAbstractProperty * | AddAttributes (plPropertyAttribute *pAttrib1, plPropertyAttribute *pAttrib2=nullptr, plPropertyAttribute *pAttrib3=nullptr, plPropertyAttribute *pAttrib4=nullptr, plPropertyAttribute *pAttrib5=nullptr, plPropertyAttribute *pAttrib6=nullptr) |
| | Adds attributes to the property. Returns itself to allow to be called during initialization. Allocate an attribute using standard 'new'.
|
| |
|
plArrayPtr< const plPropertyAttribute *const > | GetAttributes () const |
| | Returns the array of property attributes.
|
| |
|
template<typename Type > |
| const Type * | GetAttributeByType () const |
| | Returns the first attribute that derives from the given type, or nullptr if nothing is found.
|
| |
template<typename Class, typename Type>
class plAccessorProperty< Class, Type >
[internal] An implementation of plTypedMemberProperty that uses custom getter / setter functions to access a property.