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->managerUIBlocked());
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:180
#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:328
void zfRetainChange(T_ZFObject &obj, T_ZFObject2 const &v)
util to release property's old value, retain new value, then set to property
Definition ZFObjectRetain.h:323
#define ZFPROPERTY_RETAIN(Type, Name,...)
declare a retain property
Definition ZFPropertyDeclare.h:104
#define ZFPROPERTY_ASSIGN(Type, Name,...)
see ZFPROPERTY_RETAIN
Definition ZFPropertyDeclare.h:128
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:331
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 void managerUIBlocked(zfbool value)
enable or disable manager's user interaction
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 zfindex managerUIBlockedCount()
see managerUIBlocked
virtual ZFUIView * pageContainer()
see managerContainer
virtual void managerPause()
see managerCreate
virtual zfindex pageRequestCount()
return count of request in queue
virtual void managerUIBlockedOnUpdate(void)
see E_ManagerUIBlockedOnUpdate
Definition ZFUIPage.h:491
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 ZFUIWindow * managerCreateForWindow(ZFUISysWindow *ownerSysWindow=(zft_zfnull))
util method to create manager and a ZFUIWindow to manage life cycle for most case
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 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 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 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 ZFUISysWindow.h:34
base class of all UI views
Definition ZFUIView.h:93
window as a ZFUIView
Definition ZFUIWindow.h:74
util method to cast ZFObject types freely
Definition zfany.h:35
see zfany
Definition zfany.h:106