ZFFramework
 
Loading...
Searching...
No Matches
ZFUICellAdapterBasic Class Reference

basic cell adapter that allow dynamic extension More...

#include <ZFUICellAdapterBasic.h>

Inheritance diagram for ZFUICellAdapterBasic:
ZFStyle ZFUICellAdapter ZFObject ZFStyleable ZFSerializable ZFCopyable ZFInterface ZFInterface ZFInterface ZFInterface

Public Types

enum  
 
- Public Types inherited from ZFStyle
enum  
 
- Public Types inherited from ZFObject
enum  
 

Public Member Functions

virtual const ZFClassclassData (void)
 get instance's class info
 
virtual zfindex cellCount (void)
 cell count
 
virtual zfautoT< ZFUICellcellAt (zfindex index)
 access cell at index, assert fail if return null object
 
virtual zffloat cellSizeAt (zfindex index, ZFUICell *cell)
 check cell size at index
 
- Public Member Functions inherited from ZFObject
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 > &params, 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
 
ZFObserverobserverHolder (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 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
 
- Public Member Functions inherited from ZFStyleable
virtual zfanyT< ZFStyleabledefaultStyle (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 zfstringstyleKey (void)
 see ZFStyleSet
 
void propStyle (const zfstring &propertyName, const zfstring &styleKey)
 see ZFStyleSet
 
const zfstringpropStyle (const zfstring &propertyName)
 see ZFStyleSet
 
- Public Member Functions inherited from ZFInterface
virtual ZFObjecttoObject (void)=0
 convert to ZFObject type
 
- Public Member Functions inherited from ZFSerializable
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 * > &notSerializableProperty, 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
 
- Public Member Functions inherited from ZFCopyable
zfautoT< ZFCopyablecopy (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
 
- Public Member Functions inherited from ZFUICellAdapter
virtual ZFUIOrientation orientation ()
 owner view's orientation
 
virtual const ZFUISizecontainerSize ()
 container's size
 
virtual zffloatcellSizeHint ()
 cell's hint size, use -1 to measure by cell, ZFUIGlobalStyle::itemSizeCell by default
 
virtual void cellSizeHint (zffloat const &propertyValue)
 see cellSizeHint
 
virtual zfboolcellSizeFill ()
 if cellSizeHint not set, whether fill cell size to containerSize, false by default
 
virtual void cellSizeFill (zfbool const &propertyValue)
 see cellSizeFill
 
virtual void cellAdapterNotifyReload (zfindex atIndexOrMax=(((zfindex) -1)))
 see E_CellAdapterOnReload
 
void notifyContainerUpdate (ZFUIOrientation orientation, const ZFUISize &containerSize)
 for impl to notify state update
 
void notifyCellAdapterReload (zfindex atIndexOrMax=((zfindex) -1))
 for impl to notify reload
 
void notifyCellUpdate (zfindex atIndex, ZFUICell *cell)
 for impl to notify cell update
 
zfauto notifyCellCacheAccess (zfindex index)
 for impl to notify cell cache access
 
void notifyCellCacheRecycle (ZFUICell *cell)
 for impl to notify cell cache access
 
virtual zfautoT< ZFUICellcellCacheDefaultAccess (const zfstring &key)
 see cellCacheOnRecycle
 
virtual void cellCacheDefaultRecycle (const zfstring &key, ZFUICell *cell)
 see cellCacheOnRecycle
 

Static Public Member Functions

static const ZFClassClassData (void)
 get class info
 
static zfidentity E_CellCount (void)
 see ZFObject::observerNotify
 
static zfidentity E_CellAt (void)
 see ZFObject::observerNotify
 
static zfidentity E_CellSizeAt (void)
 see ZFObject::observerNotify
 
static zfidentity E_CellCacheOnAccess (void)
 see ZFObject::observerNotify
 
- Static Public Member Functions inherited from ZFStyle
static const ZFClassClassData (void)
 get class info
 
- Static Public Member Functions inherited from ZFObject
static const ZFClassClassData (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 Public Member Functions inherited from ZFStyleable
static const ZFClassClassData (void)
 get class info
 
- Static Public Member Functions inherited from ZFInterface
static const ZFClassClassData (void)
 get class info
 
- Static Public Member Functions inherited from ZFSerializable
static const ZFClassClassData (void)
 get class info
 
- Static Public Member Functions inherited from ZFCopyable
static const ZFClassClassData (void)
 get class info
 
- Static Public Member Functions inherited from ZFUICellAdapter
static const ZFClassClassData (void)
 get class info
 
static zfidentity E_CellAdapterOnReload (void)
 see ZFObject::observerNotify
 
static zfidentity E_CellOnUpdate (void)
 see ZFObject::observerNotify
 
static zfidentity E_CellCacheOnRecycle (void)
 see ZFObject::observerNotify
 

Protected Types

typedef ZFStyle zfsuper
 class ref to super
 
typedef ZFUICellAdapterBasic zfself
 class ref to self
 
- Protected Types inherited from ZFStyle
typedef ZFObject zfsuper
 class ref to super
 
typedef ZFStyle zfself
 class ref to self
 
- Protected Types inherited from ZFObject
typedef _ZFP_Obj_Base zfsuper
 class ref to super
 
typedef ZFObject zfself
 class ref to self
 
- Protected Types inherited from ZFStyleable
typedef ZFInterface zfsuper
 typedef for super (always ZFInterface for an interface type)
 
typedef ZFStyleable zfself
 typedef for self
 
- Protected Types inherited from ZFInterface
typedef _ZFP_ObjI_Base zfsuper
 typedef for super (always ZFInterface for an interface type)
 
typedef ZFInterface zfself
 typedef for self
 
- Protected Types inherited from ZFSerializable
typedef ZFInterface zfsuper
 typedef for super (always ZFInterface for an interface type)
 
typedef ZFSerializable zfself
 typedef for self
 
- Protected Types inherited from ZFCopyable
typedef ZFInterface zfsuper
 typedef for super (always ZFInterface for an interface type)
 
typedef ZFCopyable zfself
 typedef for self
 
- Protected Types inherited from ZFUICellAdapter
typedef ZFInterface zfsuper
 typedef for super (always ZFInterface for an interface type)
 
typedef ZFUICellAdapter zfself
 typedef for self
 

Protected Member Functions

virtual zfauto cellCacheOnAccess (zfindex index)
 try access cached cell, return null means no cache available, by default, no cache logic support
 
- Protected Member Functions inherited from ZFStyle
virtual void copyableOnCopyFrom (ZFObject *anotherObj)
 called by copy to copy contents from anotherObj
 
- Protected Member Functions inherited from ZFObject
virtual void objectInfoImpl (zfstring &ret)
 see objectInfo
 
virtual void objectInfoImplAppend (zfstring &ret)
 see objectInfo
 
virtual zfidentity objectHashImpl (void)
 see objectHash
 
virtual ZFCompareResult objectCompareImpl (ZFObject *anotherObj)
 see objectCompare
 
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 objectOnInit (void)
 override this to init your object
 
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
 
- Protected Member Functions inherited from ZFStyleable
virtual void styleableOnCopyPropertyFrom (ZFObject *anotherStyleable, const ZFProperty *property)
 copy property with styleable logic
 
virtual void styleableOnCopyFrom (ZFObject *anotherStyleable)
 for subclass to achieve custom style copy step, called by styleableCopyFrom, see ZFStyleable
 
- Protected Member Functions inherited from ZFSerializable
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 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 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 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
 
- Protected Member Functions inherited from ZFUICellAdapter
virtual void cellAdapterOnReload (zfindex atIndexOrMax=((zfindex) -1))
 see E_CellAdapterOnReload
 
virtual void cellOnUpdate (zfindex atIndex, ZFUICell *cell)
 see E_CellOnUpdate
 
virtual void cellCacheOnRecycle (ZFUICell *cell)
 recycle cell or do nothing if you don't need recycle logic
 

Detailed Description

basic cell adapter that allow dynamic extension

this class is designed for script file to implement cell adapter dynamically, typical usage in lua:

listView:cellAdapterAutoRetain(ZFUICellAdapterBasic());
-- required
listView:cellAdapter():observerAdd(ZFUICellAdapterBasic.E_CellCount(), function(zfargs)
zfargs:param0():zfv(yourCellCount());
end);
listView:cellAdapter():observerAdd(ZFUICellAdapterBasic.E_CellAt(), function(zfargs)
local param = zfargs:param0();
param:cell(yourCellAt(param:cellIndex()));
end);
-- optional
listView:cellAdapter():observerAdd(ZFUICellAdapterBasic.E_CellSizeAt(), function(zfargs)
local param = zfargs:param0();
param:cellSize(yourCellSizeAt(param:cellIndex(), param:cell()));
end);
listView:cellAdapter():observerAdd(ZFUICellAdapterBasic.E_CellCacheOnAccess(), function(zfargs)
local param = zfargs:param0();
param:cell(yourCellCacheAt(param:cellIndex()));
end);
listView:cellAdapter():observerAdd(ZFUICellAdapterBasic.E_CellCacheOnRecycle(), function(zfargs)
local cell = zfargs:param0();
yourCellRecycle(cell);
end);
void observerAdd(zfidentity eventId, const ZFListener &observer, ZFLevel observerLevel=ZFLevelAppNormal)
see observerNotify
static zfidentity E_CellCount(void)
see ZFObject::observerNotify
static zfidentity E_CellAt(void)
see ZFObject::observerNotify
static zfidentity E_CellSizeAt(void)
see ZFObject::observerNotify
static zfidentity E_CellCacheOnAccess(void)
see ZFObject::observerNotify
static zfidentity E_CellCacheOnRecycle(void)
see ZFObject::observerNotify

Member Function Documentation

◆ classData()

virtual const ZFClass * ZFUICellAdapterBasic::classData ( void )
inlinevirtual

get instance's class info

Reimplemented from ZFStyle.

◆ E_CellCount()

static zfidentity ZFUICellAdapterBasic::E_CellCount ( void )
static

see ZFObject::observerNotify

called when cellCount, param0 is v_zfindex that holds the cell count

◆ E_CellAt()

static zfidentity ZFUICellAdapterBasic::E_CellAt ( void )
static

◆ E_CellSizeAt()

static zfidentity ZFUICellAdapterBasic::E_CellSizeAt ( void )
static

◆ E_CellCacheOnAccess()

static zfidentity ZFUICellAdapterBasic::E_CellCacheOnAccess ( void )
static

◆ cellCount()

virtual zfindex ZFUICellAdapterBasic::cellCount ( void )
inlinevirtual

cell count

Implements ZFUICellAdapter.

◆ cellAt()

virtual zfautoT< ZFUICell > ZFUICellAdapterBasic::cellAt ( zfindex index)
inlinevirtual

access cell at index, assert fail if return null object

Implements ZFUICellAdapter.

◆ cellSizeAt()

virtual zffloat ZFUICellAdapterBasic::cellSizeAt ( zfindex index,
ZFUICell * cell )
inlinevirtual

check cell size at index

for performance, this method is ensured to be called for visible cells only, to check the cell's actual size
while cell is not visible, a predicted hint size (or previous size) would be used util it's coming to visible
return a -1 size to measure the cell automatically, otherwise, the cell's size is fixed
return cellSizeHint according to cellSizeFill by default

Reimplemented from ZFUICellAdapter.

◆ cellCacheOnAccess()

virtual zfauto ZFUICellAdapterBasic::cellCacheOnAccess ( zfindex index)
inlineprotectedvirtual

try access cached cell, return null means no cache available, by default, no cache logic support

see cellCacheOnRecycle for more info

Reimplemented from ZFUICellAdapter.


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