6#ifndef _ZFI_ZFUIPage_h_
7#define _ZFI_ZFUIPage_h_
157 return this->_ZFP_ZFUIPage_pageManager;
263 ,
ZF_IN ZFUIPage *siblingPage
271 zfbool _ZFP_ZFUIPage_pageCreated;
272 zfbool _ZFP_ZFUIPage_pageResumed;
273 zfbyte _ZFP_ZFUIPage_pageOrientation;
278 : _ZFP_ZFUIPage_pageManager(
zfnull)
279 , _ZFP_ZFUIPage_pageView(
zfnull)
280 , _ZFP_ZFUIPage_pageCreated(
zffalse)
281 , _ZFP_ZFUIPage_pageResumed(
zffalse)
282 , _ZFP_ZFUIPage_pageOrientation((
zfbyte)-1)
283 , _ZFP_ZFUIPage_pageAni(
zfnull)
295 friend zfclassFwd _ZFP_ZFUIPageManagerPrivate;
493 this->
pageContainer()->viewUIEnableTree(!this->managerUIBlock());
628 _ZFP_ZFUIPageManagerPrivate *d;
629 friend
zfclassFwd _ZFP_ZFUIPageManagerPrivate;
#define zfextend
dummy macro shows class inherit from another
Definition ZFCoreTypeDef_ClassType.h:53
#define zfoverride
dummy macro shows that method override parent's method
Definition ZFCoreTypeDef_ClassType.h:58
#define ZF_IN
dummy macro that shows the param used as required input
Definition ZFCoreTypeDef_ClassType.h:184
#define zfclassFwd
forward declaration of a class type
Definition ZFCoreTypeDef_ClassType.h:31
_ZFT_t_zfbool zfbool
bool type
Definition ZFCoreTypeDef_CoreType.h:103
_ZFT_t_zfindex zfindex
similar to size_t, used for index and size only
Definition ZFCoreTypeDef_CoreType.h:154
_ZFT_t_zfint zfint
same as int, see zfindex
Definition ZFCoreTypeDef_CoreType.h:165
#define zffalse
bool false type
Definition ZFCoreTypeDef_CoreType.h:111
#define zfnull
same as NULL, defined for future use
Definition ZFCoreTypeDef_CoreType.h:88
_ZFT_t_zfbyte zfbyte
8-bit unsigned value, see zfindex
Definition ZFCoreTypeDef_CoreType.h:194
zft_zfstring< zfchar > zfstring
see zft_zfstring
Definition ZFCoreTypeDef_StringType.h:15
#define ZFENUM_SEPARATOR()
see ZFENUM_BEGIN
Definition ZFEnumDeclare.h:158
#define ZFENUM_VALUE_REGISTER(Value)
see ZFENUM_BEGIN
Definition ZFEnumDeclare.h:168
#define ZFENUM_REG(ZFLIB_, EnumName,...)
see ZFENUM_BEGIN
Definition ZFEnumDeclare.h:186
#define ZFENUM_VALUE(Value)
see ZFENUM_BEGIN
Definition ZFEnumDeclare.h:151
#define ZFENUM_BEGIN(ZFLIB_, EnumName)
macros to define reflectable enum type
Definition ZFEnumDeclare.h:147
#define ZFENUM_END(ZFLIB_, EnumName)
see ZFENUM_BEGIN
Definition ZFEnumDeclare.h:172
#define ZFMP_IN_OPT(ParamType, paramName, DefaultValue)
see ZFMP_IN
Definition ZFMethod.h:108
#define ZFMP_IN(ParamType, paramName)
macro to wrap param types for ZFMETHOD_INLINE_0 series
Definition ZFMethod.h:105
#define ZFMETHOD_DECLARE_0(ReturnType, MethodName)
see ZFMethod
Definition ZFMethodDeclare.h:693
#define ZFMETHOD_DECLARE_2(ReturnType, MethodName, ZFMP_0, ZFMP_1)
see ZFMethod
Definition ZFMethodDeclare.h:1025
#define ZFMETHOD_DECLARE_3(ReturnType, MethodName, ZFMP_0, ZFMP_1, ZFMP_2)
see ZFMethod
Definition ZFMethodDeclare.h:1206
#define ZFMETHOD_DECLARE_1(ReturnType, MethodName, ZFMP_0)
see ZFMethod
Definition ZFMethodDeclare.h:854
#define ZF_NAMESPACE_GLOBAL_BEGIN
begin namespace ZFFramework
Definition ZFNamespace.h:97
#define ZF_NAMESPACE_GLOBAL_END
end namespace ZFFramework
Definition ZFNamespace.h:98
#define zfclass
same as class, shows that this class is a ZFObject type
Definition ZFObjectClassTypeFwd.h:38
#define ZFOBJECT_DECLARE_WITH_CUSTOM_CTOR(ChildClass, SuperClass,...)
declare object which allow custom constructor
Definition ZFObjectDeclare.h:142
#define ZFOBJECT_DECLARE(ChildClass, SuperClass,...)
necessary for every class inherit from ZFObject
Definition ZFObjectDeclare.h:126
#define ZFEVENT(YourEvent)
see ZFObject::observerNotify
Definition ZFObjectObserver.h:316
void zfobjRetainChange(T_ZFObject &obj, T_ZFObject2 const &v)
util to release property's old value, retain new value, then set to property
Definition ZFObjectRetain.h:324
#define ZFPROPERTY_RETAIN(Type, Name,...)
declare a retain property
Definition ZFPropertyDeclare.h:103
#define ZFPROPERTY_ASSIGN(Type, Name,...)
see ZFPROPERTY_RETAIN
Definition ZFPropertyDeclare.h:127
v_ZFUIPageResumeReason::ZFEnumType ZFUIPageResumeReason
see v_ZFUIPageResumeReason
Definition ZFUIPage.h:23
v_ZFUIPagePauseReason::ZFEnumType ZFUIPagePauseReason
see v_ZFUIPagePauseReason
Definition ZFUIPage.h:37
base class of all animation
Definition ZFAnimation.h:22
light weight array
Definition ZFCoreArray.h:342
abstract base class of all enum type of ZFFramework
Definition ZFEnum.h:38
listener as ZFCallback, mostly used by ZFObject::observerNotify
Definition ZFObjectObserver.h:30
virtual void objectOnDealloc(void)
override this to destroy your object
abstract page similar to Android's Activity
Definition ZFUIPage.h:80
virtual zfbool pageCreated()
true if page created (true after pageOnCreate called)
virtual void pageOnPause(ZFUIPagePauseReason reason)
see ZFUIPage
virtual void pageAniOnPrepare(ZFEnum *resumeOrPauseReason, ZFUIPage *siblingPage)
called to prepare page animation
Definition ZFUIPage.h:261
virtual zfbool isLandscape()
whether the page is considered landscape
virtual void pageOnDestroy(void)
see ZFUIPage
virtual const ZFClass *& pageViewClass()
pageView's class, must set before base page's pageOnCreate
Definition ZFUIPage.h:165
virtual zfint & pageAniPriority()
page priority to detect for pageAni, see pageAniOnPrepare for more info
Definition ZFUIPage.h:240
virtual void objectOnDealloc(void)
override this to destroy your object
Definition ZFUIPage.h:288
virtual void pageAni(ZFAnimation *pageAni)
see pageAniOnPrepare
virtual zfbool pageResumed()
true if page resumed (true after pageOnResume called)
virtual void pageDestroy()
util to ZFUIPageManager::pageDestroy
virtual void pageOnCreate(void)
see ZFUIPage
virtual void pageCreate(ZFUIPage *page, const ZFListener &pageResultCallback=(zft_zfnull))
util to ZFUIPageManager::pageCreate
virtual zfanyT< ZFUIPageManager > pageManager(void)
owner page manager
Definition ZFUIPage.h:156
virtual ZFUIView * pageView()
the page's container view, ensured not null
virtual void pageOnResume(ZFUIPageResumeReason reason)
see ZFUIPage
virtual void pageResume()
util to ZFUIPageManager::pageResume
virtual zfstring & pageGroupId()
page group id, see ZFUIPageManager::pageResumeForGroupId for more info
Definition ZFUIPage.h:173
virtual zfany const & pageResult()
store page result, passed to pageResultCallback of pageCreate
Definition ZFUIPage.h:177
virtual void pageOrientationOnUpdate(void)
see E_PageOrientationOnUpdate
Definition ZFUIPage.h:232
virtual void pageReplace(ZFUIPage *page)
util to ZFUIPageManager::pageReplace
see ZFUIPage
Definition ZFUIPage.h:301
virtual void managerOrientationOnUpdate(void)
see E_ManagerOrientationOnUpdate
Definition ZFUIPage.h:409
virtual void managerOnPause(void)
see managerOnCreate
Definition ZFUIPage.h:404
virtual const ZFClass *& pageContainerClass()
see managerContainer
Definition ZFUIPage.h:469
virtual void managerResume()
see managerCreate
virtual zfindex pageCount()
page count of this page manager
virtual void pageRequestCancel(const ZFListener &callback)
remove callback for pageRequest
virtual zfbool isLandscape()
whether the manager is considered landscape
virtual void managerOnCreate(void)
for subclass to do actual works
virtual ZFCoreArray< ZFUIPage * > & pageList()
directly access the page list
virtual const ZFClass *& managerContainerClass()
see managerContainer
Definition ZFUIPage.h:467
virtual ZFUIView * pageContainer()
see managerContainer
virtual void managerPause()
see managerCreate
virtual zfindex pageRequestCount()
return count of request in queue
virtual ZFUIWindow * managerCreateForWindow(ZFUIRootWindow *rootWindow=(zft_zfnull))
util method to create manager and a ZFUIWindow to manage life cycle for most case
virtual void pageReplace(ZFUIPage *page)
util to destroy current and create new page
virtual void pageCreate(ZFUIPage *page, const ZFListener &pageResultCallback=(zft_zfnull))
create and resume page
virtual void pageResume(ZFUIPage *page)
resume page
virtual zfanyT< ZFUIPage > pageAt(zfindex index)
page at index
virtual ZFUIWindow * managerOwnerWindow()
valid only for managerCreateForWindow
virtual void pageAniOverride(ZFAnimation *resumeAni, ZFAnimation *pauseAni, zfbool pauseAniHigherPriority=(_ZFT_t_zffalse))
override animation for next page management, can be called more than once to override sequently,...
virtual void managerOnDestroy(void)
see managerOnCreate
virtual zfindex pageIndex(ZFUIPage *page)
find page index
virtual void managerDestroy()
see managerCreate
virtual void managerOnResume(void)
see managerOnCreate
Definition ZFUIPage.h:402
virtual void managerUIBlock(zfbool value)
enable or disable manager's user interaction
virtual void pageMoveEnd()
see pageMoveBegin
virtual void pageRequest(const ZFListener &callback)
add a page request to queue, used to ensure execute order when mixed with page management (pageCreate...
virtual zfanyT< ZFUIPage > currentPage()
return foreground page or null if no page
virtual void objectOnDealloc(void)
override this to destroy your object
virtual ZFUIView * managerContainer()
container view of this page manager
virtual void pageMoveBegin()
advanced page stack management
virtual zfbool managerCreated()
true if managerCreate called
virtual zfbool managerResumed()
true if managerResume called
virtual void managerUIBlockOnUpdate(void)
see E_ManagerUIBlockOnUpdate
Definition ZFUIPage.h:491
virtual ZFCoreArray< ZFUIPage * > pageListForGroupId(const zfstring &pageGroupId)
find page by ZFUIPage::pageGroupId
virtual void managerCreate()
manually create the manager
virtual void pageDestroy(ZFUIPage *page)
destroy page
virtual zfindex managerUIBlockCount()
see managerUIBlock
virtual void objectOnInit(void)
override this to init your object
virtual void pageResumeForGroupId(const zfstring &pageGroupId)
resume multiple page for group id
root native window
Definition ZFUIRootWindow.h:34
base class of all UI views
Definition ZFUIView.h:90
window as a ZFUIView
Definition ZFUIWindow.h:49
util method to cast ZFObject types freely
Definition zfany.h:35
see zfany
Definition zfany.h:113