root native window More...
#include <ZFUISysWindow.h>
Public Types | |
enum | |
enum | |
![]() | |
enum | |
Public Member Functions | |
virtual const ZFClass * | classData (void) |
get instance's class info | |
virtual ZFUISysWindowEmbedImpl * | nativeWindowEmbedImpl (void) |
see nativeWindowEmbed | |
virtual void | nativeWindowEmbedImplDestroy () |
util to destroy the window created by nativeWindowEmbed | |
virtual const ZFUISize & | sysWindowSize () |
native window's size | |
virtual const ZFUIMargin & | sysWindowMargin () |
native window margin according to impl | |
virtual void * | nativeWindow () |
access the internal native window | |
virtual zfbool | nativeWindowIsCreated () |
true if sys window created | |
virtual zfbool | nativeWindowIsResumed () |
true if sys window resumed | |
virtual ZFUIOrientation | sysWindowOrientation () |
get current orientation | |
virtual void | sysWindowOrientationFlags (const ZFUIOrientationFlags &sysWindowOrientationFlags) |
set supported orientation, orientation may or may not change immediately | |
virtual const ZFUIOrientationFlags & | sysWindowOrientationFlags () |
get supported orientation | |
virtual zfbool & | preferFullscreen () |
whether prefer fullscreen | |
virtual void | preferFullscreen (zfbool const &propertyValue) |
see preferFullscreen | |
virtual zfautoT< ZFUISysWindow > | modalWindowShow () |
show a new modal window, may or may not show immediately, may have different behavior on different implementations | |
virtual void | modalWindowFinish () |
finish and destroy self as a modal window | |
virtual zfanyT< ZFUISysWindow > | modalWindowShowing () |
get self's current showing modal window | |
virtual zfanyT< ZFUISysWindow > | modalWindowOwner () |
get self's owner if self is a showing modal window | |
virtual zfanyT< ZFUILayoutParam > | sysWindowLayoutParam () |
get window's layout param, fill parent by default | |
virtual zfanyT< ZFUIRootView > | rootView () |
access the root view of the window | |
![]() | |
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 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 | |
Static Public Member Functions | |
static const ZFClass * | ClassData (void) |
get class info | |
static zfidentity | E_SysWindowOnCreate (void) |
see ZFObject::observerNotify | |
static zfidentity | E_SysWindowOnDestroy (void) |
see ZFObject::observerNotify | |
static zfidentity | E_SysWindowOnResume (void) |
see ZFObject::observerNotify | |
static zfidentity | E_SysWindowOnPause (void) |
see ZFObject::observerNotify | |
static zfidentity | E_SysWindowOnRotate (void) |
see ZFObject::observerNotify | |
static zfidentity | E_SysWindowMarginOnUpdate (void) |
see ZFObject::observerNotify | |
static zfidentity | E_SysWindowOnKeyEvent (void) |
see ZFObject::observerNotify | |
static zfautoT< ZFUISysWindow > | nativeWindowEmbed (ZFUISysWindowEmbedImpl *embedImpl) |
used to embed ZFUISysWindow to existing UI framework | |
static zfautoT< ZFUISysWindow > | nativeWindowEmbedNativeView (void *nativeParent) |
default impl to attach window to native view | |
static zfautoT< ZFUISysWindow > | nativeWindowEmbedNativeView (void *nativeParent, const zfstring &sysWindowName) |
util to attach window to native view, and register a getter method with specified name | |
static void | nativeWindowEmbedNativeViewCleanup (const zfstring &sysWindowName) |
remove window attached by nativeWindowEmbedNativeView | |
static void | mainWindowRegister (ZFUISysWindow *window) |
manually register main window, must be called before accessing mainWindow | |
static zfanyT< ZFUISysWindow > | mainWindow () |
get application's main window | |
static zfbool | mainWindowAttached () |
whether mainWindow has attached | |
static void | keyWindow (ZFUISysWindow *window) |
default window that ZFUIWindow would attach to, set null to use mainWindow | |
static zfanyT< ZFUISysWindow > | keyWindow () |
see keyWindow, return mainWindow if not set | |
![]() | |
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 | |
Protected Types | |
typedef ZFObject | zfsuper |
class ref to super | |
typedef ZFUISysWindow | zfself |
class ref to self | |
![]() | |
typedef _ZFP_Obj_Base | zfsuper |
class ref to super | |
typedef ZFObject | zfself |
class ref to self | |
Protected Member Functions | |
virtual void | sysWindowMarginOnUpdate (const ZFUIMargin &sysWindowMarginOld) |
see E_SysWindowMarginOnUpdate | |
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 | 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 | 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 | |
root native window
use mainWindow to access app's main window, use modalWindowShow to show a new window, use nativeWindowEmbed to attach to native impl, never create ZFUISysWindow's instance manually
|
inlinevirtual |
get instance's class info
Reimplemented from ZFObject.
|
static |
notified when window created, see nativeWindowIsCreated for more info
|
static |
notified when window about to destroy
|
static |
notified when window become active
|
static |
notified when window enter background
|
static |
notified when window rotated, new orientation can be accessed by sysWindowOrientation
|
static |
notified when sysWindowMargin changed, param0 is a v_ZFUIMargin that holds the old window margin
|
static |
notified when ZFUIKeyEvent fired to the window, and none of it's view handled the event by ZFUIEvent::eventResolved
param0 is the ZFUIKeyEvent
|
static |
used to embed ZFUISysWindow to existing UI framework
ZFUISysWindow would create internal native window by default, however, you may create your own native window and attach ZFUISysWindow to it
to achieve this feature, you must supply custom embed impl by ZFUISysWindowEmbedImpl, call this method to get an attached ZFUISysWindow, and manually manage the life cycle of the returned ZFUISysWindow
the embedImpl would be retained until the created window destroy, so that you only need to take care of the created window, to explicitly clear all the contents, simply use window->nativeWindowEmbedImplDestroy()
see ZFUISysWindowEmbedImpl for all the impl that you need to implement
|
virtual |
util to destroy the window created by nativeWindowEmbed
|
static |
default impl to attach window to native view
note, after attach, you must destroy the window by nativeWindowEmbedImplDestroy before destroy the nativeParent
the nativeParent must support add one or more child which fill itself
|
static |
util to attach window to native view, and register a getter method with specified name
usage:
|
static |
manually register main window, must be called before accessing mainWindow
this method is useful if you want to embed whole ZFFramework to existing UI framework, to create a custom ZFUISysWindow, see nativeWindowEmbed
|
static |
get application's main window
usually, use only one window is recommended
the main window would be created and attached automatically when first time accessed (directly or implicitly by showing a ZFUIWindow), and can not be changed after creation
to embed ZFFramework to native framework, you may use mainWindowRegister
|
virtual |
native window's size
to change window's size or layout, use sysWindowLayoutParam
to observe window size change, attach ZFUIView::E_ViewLayoutOnLayoutFinish listener to rootView
|
virtual |
native window margin according to impl
the margin usually used for mobile phones, whose edge contains virtual button or front camera
by default, ZFUIWindow would automatically exclude the margin, you may change it by ZFUIWindow::sysWindowMarginShouldApply
|
protectedvirtual |
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.
|
protectedvirtual |
called after objectOnInit, safe to call virtual functions here
usually used to initialize independent resources other than self's internal resources
Reimplemented from ZFObject.
|
protectedvirtual |
called before objectOnDealloc, safe to call virtual functions here
usually used to cleanup resources attached to this object other than self's internal resources
Reimplemented from ZFObject.
|
protectedvirtual |
override this to destroy your object
subclass must call superclass's objectOnDealloc after any other code if override
see objectOnInit for more info
Reimplemented from ZFObject.
|
virtual |
access the internal native window
note, this value would be valid only after E_SysWindowOnCreate
note, this value can be null if window created by nativeWindowEmbed
|
virtual |
true if sys window created
|
virtual |
show a new modal window, may or may not show immediately, may have different behavior on different implementations
use only if necessary
it's recommended that app have only one ZFUISysWindow, use ZFUIWindow if necessary
|
virtual |
access the root view of the window
the root view is ensured ZFUIRootView type, and you must not add it to another view