abstract base class of all enum type of ZFFramework More...
#include <ZFEnum.h>
Public Member Functions | |
virtual const ZFClass * | classData (void) |
get instance's class info | |
virtual void | objectInfoImpl (zfstring &ret) |
see objectInfo | |
virtual zfidentity | objectHashImpl (void) |
see objectHash | |
virtual ZFCompareResult | objectCompareImpl (ZFObject *anotherObj) |
compare result of two enum values as int, or return ZFCompareUncomparable if any of them are ZFEnumInvalid | |
virtual zfbool | objectIsInternal (void) |
whether this object is internal object or its class is ZFClass::classIsInternal | |
virtual zfbool | objectIsInternalPrivate (void) |
whether this object is internal private object or its class is ZFClass::classIsInternalPrivate | |
virtual void * | wrappedValue (void) |
access the value's address | |
virtual void | wrappedValue (const void *v) |
set the value, no type safe check | |
virtual void | wrappedValueCopy (void *v) |
get the value, no type safe check | |
virtual void | zfvReset (void) |
reset the value to it's init value | |
virtual zfbool | zfvIsInit (void) |
true if the value is in init value state | |
virtual zfbool | wrappedValuePreferStringConverter (void) |
whether prefer string converter during serialization, which would result much shorter result | |
virtual zfbool | zfvFromData (const ZFSerializableData &serializableData, zfstring *outErrorHint=zft_zfnull, ZFSerializableData *outErrorPos=zft_zfnull) |
convert from serializable data | |
virtual zfbool | zfvToData (ZFSerializableData &serializableData, zfstring *outErrorHint=zft_zfnull) |
convert to serializable data | |
virtual zfbool | zfvFromString (const zfchar *src, zfindex srcLen=((zfindex) -1), zfstring *errorHint=zft_zfnull) |
convert from string | |
virtual zfbool | zfvToString (zfstring &s, zfstring *errorHint=zft_zfnull) |
convert to string | |
virtual zfindex | enumCount (void)=0 |
get value num | |
virtual zfindex | enumIndexForValue (zfuint value)=0 |
get the index of enum value, or zfindexMax() if no such enum value | |
virtual zfuint | enumValueAt (zfindex index)=0 |
get the value at index, or ZFEnumInvalid if not exist | |
virtual const zfstring & | enumNameAt (zfindex index)=0 |
get the name at index, or ZFEnumNameInvalid if not exist | |
virtual zfbool | enumValueContain (zfuint value)=0 |
return true if contain the specified value | |
virtual zfuint | enumValueForName (const zfstring &name)=0 |
get the value with specified name, or ZFEnumInvalid if not exist | |
virtual const zfstring & | enumNameForValue (zfuint value)=0 |
get the name with specified value, or ZFEnumNameInvalid if not exist | |
virtual zfbool | enumIsFlags (void)=0 |
true if this enum type is flags type (which support bit operation) | |
virtual zfuint | enumDefault (void)=0 |
default value of this enum | |
virtual zfuint const & | enumValue (void) |
get the enum value, or ZFEnumInvalid if invalid | |
virtual const zfstring & | enumName (void) |
get current value's name, or ZFEnumNameInvalid if invalid | |
virtual void | enumValue (zfuint const &value) |
set the enum value | |
virtual void | wrappedValueOnAssign (ZFTypeIdWrapper *ref) |
see zfvAssign | |
![]() | |
ZFTypeIdWrapper * | zfvAssign (ZFTypeIdWrapper *ref) |
copy internal value | |
virtual const zfstring & | zfvTypeId (void)=0 |
type id for this wrapper type | |
![]() | |
zfindex | objectRetainCount (void) |
return the object's retain count | |
void | objectInfoOfInstanceT (zfstring &ret) |
see objectInfoOfInstance | |
zfstring | objectInfoOfInstance (void) |
return a short string describe the object instance | |
void | objectInfoT (zfstring &ret) |
see objectInfo | |
zfstring | objectInfo (void) |
return object info | |
zfidentity | objectHash (void) |
get hash of this object | |
ZFCompareResult | objectCompare (ZFObject *anotherObj) |
compare with anotherObj | |
ZFCompareResult | objectCompareValue (ZFObject *anotherObj) |
explicitly compare object by logical value, see objectCompare | |
virtual zfauto | invoke (const zfstring &methodName) |
util method to perform ZFDI_invoke, do nothing if fail | |
virtual zfauto | invoke (const zfstring &methodName, ZFObject *param0, ZFObject *param1=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param2=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param3=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param4=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param5=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param6=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param7=((ZFObject *const &) _ZFP_ZFMP_DEF)) |
util method to perform ZFDI_invoke, do nothing if fail | |
virtual zfbool | invokeT (zfauto &ret, zfstring *errorHint, const zfstring &methodName, ZFObject *param0=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param1=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param2=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param3=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param4=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param5=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param6=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param7=((ZFObject *const &) _ZFP_ZFMP_DEF)) |
util method to perform ZFDI_invoke, do nothing if fail | |
virtual zfauto | invokeDetail (const zfstring &methodName, const ZFCoreArray< zfauto > ¶ms, zfbool *success=zft_zfnull, zfstring *errorHint=zft_zfnull) |
util method to perform ZFDI_invoke, do nothing if fail | |
zfbool | objectTagExist (void) |
see objectTag, true if this object has tag, and tag can be checked by objectTagGetAllKeyValue | |
void | objectTag (const zfstring &key, ZFObject *tag) |
used to hold a object for app's use, auto retained | |
zfany | objectTag (const zfstring &key) |
see objectTag | |
void | objectTagGetAllKeyValue (ZFCoreArray< zfstring > &allKey, ZFCoreArray< zfauto > &allValue) |
get all key value | |
void | objectTagRemove (const zfstring &key) |
remove tag, same as set tag to null | |
zfauto | objectTagRemoveAndGet (const zfstring &key) |
remove tag, return removed tag or null if not exist | |
void | objectTagRemoveAll (void) |
remove all tag | |
void | observerAdd (zfidentity eventId, const ZFListener &observer, ZFLevel observerLevel=ZFLevelAppNormal) |
see observerNotify | |
void | observerAddForOnce (zfidentity eventId, const ZFListener &observer, ZFLevel observerLevel=ZFLevelAppNormal) |
see observerNotify | |
void | observerRemove (zfidentity eventId, const ZFListener &callback) |
see observerNotify | |
void | observerRemoveAll (zfidentity eventId) |
see observerNotify | |
void | observerRemoveAll (void) |
see observerNotify | |
zfbool | observerHasAdd (void) |
true if any observer has been added | |
zfbool | observerHasAdd (zfidentity eventId) |
true if any observer with eventId has been added | |
void | observerNotify (zfidentity eventId, ZFObject *param0=zft_zfnull, ZFObject *param1=zft_zfnull) |
notify the observer with eventId | |
void | observerNotifyWithSender (ZFObject *customSender, zfidentity eventId, ZFObject *param0=zft_zfnull, ZFObject *param1=zft_zfnull) |
see observerNotify | |
void | observerNotifyReversely (zfidentity eventId, ZFObject *param0=zft_zfnull, ZFObject *param1=zft_zfnull) |
see observerNotify | |
void | observerNotifyReverselyWithSender (ZFObject *customSender, zfidentity eventId, ZFObject *param0=zft_zfnull, ZFObject *param1=zft_zfnull) |
see observerNotify | |
ZFObserver & | observerHolder (void) |
access the internal observer holder | |
void | on (const zfstring &eventName, const ZFListener &observer, ZFLevel observerLevel=ZFLevelAppNormal) |
util to observerAdd | |
void | on (zfidentity eventId, const ZFListener &observer, ZFLevel observerLevel=ZFLevelAppNormal) |
util to observerAdd | |
void | onInit (const ZFListener &impl) |
util for script to achieve chained call | |
void | onDealloc (const ZFListener &impl) |
util for script to achieve chained call | |
zfbool | objectInstanceStateCheck (ZFObjectInstanceState state) |
object instance's state | |
zfbool | objectInitRunning (void) |
util method to check whether ZFObjectInstanceStateOnInit or ZFObjectInstanceStateOnInitFinish running | |
zfbool | objectDeallocRunning (void) |
util method to check whether ZFObjectInstanceStateOnDeallocPrepare or ZFObjectInstanceStateOnDealloc running | |
![]() | |
virtual zfanyT< ZFStyleable > | defaultStyle (void) |
return default style of this instance | |
void | styleableCopyFrom (ZFObject *anotherStyleable) |
copy style from another styleable, see ZFStyleable | |
virtual zfbool | styleableIsDefaultStyle (void) |
true if this object is defaultStyle | |
void | styleablePropertyGetAllT (ZFCoreArray< const ZFProperty * > &ret) |
return a list of styleable property, for debug use only | |
ZFCoreArray< const ZFProperty * > | styleablePropertyGetAll (void) |
return a list of styleable property, for debug use only | |
void | styleKey (const zfstring &styleKey) |
see ZFStyleSet | |
const zfstring & | styleKey (void) |
see ZFStyleSet | |
void | propStyle (const zfstring &propertyName, const zfstring &styleKey) |
see ZFStyleSet | |
const zfstring & | propStyle (const zfstring &propertyName) |
see ZFStyleSet | |
![]() | |
virtual ZFObject * | toObject (void)=0 |
convert to ZFObject type | |
![]() | |
zfbool | serializable (void) |
true if object is currently serializable, see ZFSerializable | |
zfbool | serializeFromData (const ZFSerializableData &serializableData, zfstring *outErrorHint=zft_zfnull, ZFSerializableData *outErrorPos=zft_zfnull) |
serialize from data, see ZFSerializable | |
zfbool | serializeToData (ZFSerializableData &serializableData, zfstring *outErrorHint=zft_zfnull, ZFSerializable *refOwner=zft_zfnull) |
serialize to data, see ZFSerializable | |
zfbool | serializeFromString (const zfchar *src, zfindex srcLen=((zfindex) -1), zfstring *errorHint=zft_zfnull) |
serialize from string, return false by default | |
zfbool | serializeToString (zfstring &ret, zfstring *errorHint=zft_zfnull) |
see serializeFromString | |
void | serializablePropertyTypeGetAll (ZFCoreArray< const ZFProperty * > ¬SerializableProperty, ZFCoreArray< const ZFProperty * > &serializableProperty, ZFCoreArray< const ZFProperty * > &embededProperty) |
return a list of each type of property, for debug use only | |
zfstring | serializablePropertyTypeInfo (void) |
return info of serializablePropertyTypeGetAll, for debug use only | |
void | serializableGetAllSerializablePropertyT (ZFCoreArray< const ZFProperty * > &ret) |
see serializableGetAllSerializableProperty | |
ZFCoreArray< const ZFProperty * > | serializableGetAllSerializableProperty (void) |
get all serializable property, usually for debug only, see serializableOnCheckPropertyType | |
void | serializableGetAllSerializableEmbededPropertyT (ZFCoreArray< const ZFProperty * > &ret) |
see serializableGetAllSerializableEmbededProperty | |
ZFCoreArray< const ZFProperty * > | serializableGetAllSerializableEmbededProperty (void) |
get all serializable embeded property, usually for debug only, see serializableOnCheckPropertyType | |
virtual void | serializableInfoT (zfstring &ret) |
get info as a serializable | |
virtual zfstring | serializableInfo (void) |
see serializableInfoT | |
![]() | |
zfautoT< ZFCopyable > | copy (void) |
return a copy of this object | |
void | copyFrom (ZFObject *anotherObj) |
see copy, anotherObj must be same type as this object (by classData), otherwise, do nothing | |
![]() | |
virtual zfbool | progressUpdate (ZFProgressable *from, ZFProgressable *to, zffloat progress) |
see ZFProgressable | |
Static Public Member Functions | |
static const ZFClass * | ClassData (void) |
get class info | |
![]() | |
static const ZFClass * | ClassData (void) |
get class info | |
![]() | |
static const ZFClass * | ClassData (void) |
get class info | |
![]() | |
static const ZFClass * | ClassData (void) |
get class info | |
static zfidentity | E_ObjectBeforeAlloc (void) |
see ZFObject::observerNotify | |
static zfidentity | E_ObjectAfterAlloc (void) |
see ZFObject::observerNotify | |
static zfidentity | E_ObjectBeforeDealloc (void) |
see ZFObject::observerNotify | |
static zfidentity | E_ObjectPropertyValueOnUpdate (void) |
see ZFObject::observerNotify | |
static zfidentity | E_ObjectPropertyValueOnReset (void) |
see ZFObject::observerNotify | |
![]() | |
static const ZFClass * | ClassData (void) |
get class info | |
![]() | |
static const ZFClass * | ClassData (void) |
get class info | |
![]() | |
static const ZFClass * | ClassData (void) |
get class info | |
![]() | |
static const ZFClass * | ClassData (void) |
get class info | |
![]() | |
static const ZFClass * | ClassData (void) |
get class info | |
Protected Types | |
typedef ZFTypeIdWrapper | zfsuper |
class ref to super | |
typedef ZFEnum | zfself |
class ref to self | |
![]() | |
typedef ZFStyle | zfsuper |
class ref to super | |
typedef ZFTypeIdWrapper | zfself |
class ref to self | |
![]() | |
typedef ZFObject | zfsuper |
class ref to super | |
typedef ZFStyle | zfself |
class ref to self | |
![]() | |
typedef _ZFP_Obj_Base | zfsuper |
class ref to super | |
typedef ZFObject | zfself |
class ref to self | |
![]() | |
typedef ZFInterface | zfsuper |
typedef for super (always ZFInterface for an interface type) | |
typedef ZFStyleable | zfself |
typedef for self | |
![]() | |
typedef _ZFP_ObjI_Base | zfsuper |
typedef for super (always ZFInterface for an interface type) | |
typedef ZFInterface | zfself |
typedef for self | |
![]() | |
typedef ZFInterface | zfsuper |
typedef for super (always ZFInterface for an interface type) | |
typedef ZFSerializable | zfself |
typedef for self | |
![]() | |
typedef ZFInterface | zfsuper |
typedef for super (always ZFInterface for an interface type) | |
typedef ZFCopyable | zfself |
typedef for self | |
![]() | |
typedef ZFInterface | zfsuper |
typedef for super (always ZFInterface for an interface type) | |
typedef ZFProgressable | zfself |
typedef for self | |
Protected Member Functions | |
virtual zfbool | serializableOnSerializeFromData (const ZFSerializableData &serializableData, zfstring *outErrorHint=zft_zfnull, ZFSerializableData *outErrorPos=zft_zfnull) |
for serializable data that has "category" attribute, ZFSerializable would ignore it and leave it to subclass to resolve, see ZFSerializable | |
virtual zfbool | serializableOnSerializeToData (ZFSerializableData &serializableData, zfstring *outErrorHint=zft_zfnull, ZFSerializable *refOwner=zft_zfnull) |
corresponding to serializableOnSerializeFromData, return whether the task is success, see ZFSerializable | |
virtual void | copyableOnCopyFrom (ZFObject *anotherObj) |
called by copy to copy contents from anotherObj | |
virtual void | objectOnInit (zfuint value) |
init with value or ZFEnumInvalid if invalid | |
virtual void | objectOnInit (ZFEnum *another) |
init with ZFEnum | |
virtual void | objectOnInit (void) |
override this to init your object | |
![]() | |
virtual void | styleableOnCopyFrom (ZFObject *anotherStyleable) |
for subclass to achieve custom style copy step, called by styleableCopyFrom, see ZFStyleable | |
virtual zfbool | serializableOnSerializeFromString (const zfchar *src, zfindex srcLen=((zfindex) -1), zfstring *errorHint=zft_zfnull) |
see serializeFromString | |
virtual zfbool | serializableOnSerializeToString (zfstring &ret, zfstring *errorHint=zft_zfnull) |
see serializeFromString | |
![]() | |
virtual void | objectInfoImplAppend (zfstring &ret) |
see objectInfo | |
virtual ZFCompareResult | objectCompareValueImpl (ZFObject *anotherObj) |
see objectCompareValue | |
virtual void | observerOnAdd (zfidentity eventId) |
called when add first observer | |
virtual void | observerOnRemove (zfidentity eventId) |
called when remove last observer | |
virtual void | observerOnEvent (const ZFArgs &zfargs) |
notified when observerNotify | |
virtual void | objectOnInitFinish (void) |
called after objectOnInit, safe to call virtual functions here | |
virtual void | objectOnDeallocPrepare (void) |
called before objectOnDealloc, safe to call virtual functions here | |
virtual void | objectOnDealloc (void) |
override this to destroy your object | |
virtual void | objectOnRetain (void) |
called to retain object | |
virtual void | objectOnRelease (void) |
called to release object | |
virtual void | objectPropertyValueOnUpdate (const ZFProperty *property, const void *oldValue) |
see E_ObjectPropertyValueOnUpdate | |
virtual void | objectPropertyValueOnReset (const ZFProperty *property) |
see E_ObjectPropertyValueOnReset | |
![]() | |
virtual void | styleableOnCopyPropertyFrom (ZFObject *anotherStyleable, const ZFProperty *property) |
copy property with styleable logic | |
![]() | |
virtual ZFSerializablePropertyType | serializableOnCheckPropertyType (const ZFProperty *property) |
check the property type that serializable should do what while serializing | |
virtual zfbool | serializableOnCheck (void) |
see serializable | |
virtual zfbool | serializableOnSerializePropertyFromData (const ZFSerializableData &propertyData, const ZFProperty *property, zfstring *outErrorHint=zft_zfnull, ZFSerializableData *outErrorPos=zft_zfnull) |
see serializableOnCheckPropertyType, usually you have no need to override this method, see ZFSerializable | |
virtual zfbool | serializableOnSerializePropertyToData (ZFSerializableData &ownerData, const ZFProperty *property, zfstring *outErrorHint=zft_zfnull, ZFSerializable *refOwner=zft_zfnull) |
see serializableOnCheckPropertyType, usually you have no need to override this method, see ZFSerializable | |
virtual zfbool | serializableOnSerializeEmbededPropertyFromData (const ZFSerializableData &propertyData, const ZFProperty *property, zfstring *outErrorHint=zft_zfnull, ZFSerializableData *outErrorPos=zft_zfnull) |
see serializableOnCheckPropertyType, usually you have no need to override this method, see ZFSerializable | |
virtual zfbool | serializableOnSerializeEmbededPropertyToData (ZFSerializableData &ownerData, const ZFProperty *property, ZFSerializable *refOwner, zfstring *outErrorHint=zft_zfnull) |
see serializableOnCheckPropertyType, usually you have no need to override this method, see ZFSerializable | |
![]() | |
virtual zfbool | progressOnUpdate (ZFProgressable *from, ZFProgressable *to, zffloat progress) |
see ZFProgressable | |
Additional Inherited Members | |
![]() | |
enum | |
![]() | |
enum | |
abstract base class of all enum type of ZFFramework
please refer to ZFENUM_BEGIN to see how to use enum type
serializable data:
|
inlinevirtual |
get instance's class info
Reimplemented from ZFTypeIdWrapper.
Reimplemented in v_ZFAniForNativeCurve, v_ZFCompressLevel, v_ZFEnvDeviceUIType, v_ZFFileOpenOption, v_ZFHttpMethod, v_ZFJsonType, v_ZFLogLevel, v_ZFOutputFormatStep, v_ZFProtocolInstanceState, v_ZFProtocolLevel, v_ZFRegExpOption, v_ZFResultType, v_ZFStringEncoding, v_ZFTcpType, v_ZFTextTemplateIndexFlag, v_ZFUIAlign, v_ZFUIAutoLayoutPos, v_ZFUIButtonGroupType, v_ZFUIButtonState, v_ZFUIImageImplNinePatchPos, v_ZFUIImageStateImplAction, v_ZFUIKeyAction, v_ZFUIKeyCode, v_ZFUIMouseAction, v_ZFUIMouseButton, v_ZFUIOrientation, v_ZFUIPagePauseReason, v_ZFUIPageResumeReason, v_ZFUIScaleType, v_ZFUIScrollViewState, v_ZFUISizeType, v_ZFUITextAppearance, v_ZFUITextEditKeyboardReturnAction, v_ZFUITextEditKeyboardReturnType, v_ZFUITextEditKeyboardType, v_ZFUITextTruncateMode, v_ZFUITransform, v_ZFUIViewChildLayer, v_ZFUIWindowLevel, and v_ZFXmlType.
|
protectedvirtual |
for serializable data that has "category" attribute, ZFSerializable would ignore it and leave it to subclass to resolve, see ZFSerializable
while overriding this method, you should call super first, and then check whether super has resolved the data
if subclass should resolve the category, you should mark data as resolved and return whether resolve success
if not, subclass should leave the data unresoved and return true
Reimplemented from ZFTypeIdWrapper.
|
protectedvirtual |
corresponding to serializableOnSerializeFromData, return whether the task is success, see ZFSerializable
Reimplemented from ZFTypeIdWrapper.
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
override this to init your object
subclass must call superclass's objectOnInit before any other code if override
you may also declare objectOnInit with params like this:
Reimplemented from ZFObject.
|
virtual |
see objectInfo
Reimplemented from ZFObject.
|
inlinevirtual |
see objectHash
Reimplemented from ZFObject.
|
virtual |
compare result of two enum values as int, or return ZFCompareUncomparable if any of them are ZFEnumInvalid
Reimplemented from ZFObject.
|
inlinevirtual |
whether this object is internal object or its class is ZFClass::classIsInternal
if objectIsInternalPrivate, then it is also objectIsInternal
Reimplemented from ZFTypeIdWrapper.
|
inlinevirtual |
whether this object is internal private object or its class is ZFClass::classIsInternalPrivate
if objectIsInternalPrivate, then it is also objectIsInternal
Reimplemented from ZFObject.
|
virtual |
access the value's address
Implements ZFTypeIdWrapper.
|
virtual |
set the value, no type safe check
Implements ZFTypeIdWrapper.
|
virtual |
get the value, no type safe check
Implements ZFTypeIdWrapper.
|
virtual |
reset the value to it's init value
Implements ZFTypeIdWrapper.
|
virtual |
true if the value is in init value state
Implements ZFTypeIdWrapper.
|
inlinevirtual |
whether prefer string converter during serialization, which would result much shorter result
Reimplemented from ZFTypeIdWrapper.
|
virtual |
convert from serializable data
Implements ZFTypeIdWrapper.
|
virtual |
convert to serializable data
Implements ZFTypeIdWrapper.
|
virtual |
convert from string
Implements ZFTypeIdWrapper.
convert to string
Implements ZFTypeIdWrapper.
|
inlinevirtual |
get current value's name, or ZFEnumNameInvalid if invalid
return invalid if holds flags value, use zfflagsToString instead
|
inlinevirtual |
set the enum value
must be the enum's value or ZFEnumInvalid
|
inlinevirtual |
see zfvAssign
Implements ZFTypeIdWrapper.