ZFFramework
 
Loading...
Searching...
No Matches
ZFUIWindow.h
Go to the documentation of this file.
1
5
6#ifndef _ZFI_ZFUIWindow_h_
7#define _ZFI_ZFUIWindow_h_
8
9#include "ZFUISysWindow.h"
11
16 ZFENUM_VALUE(ZFFrameworkBgLowest)
17 ZFENUM_VALUE(ZFFrameworkBgLow)
18 ZFENUM_VALUE(ZFFrameworkBgNormal)
19 ZFENUM_VALUE(ZFFrameworkBgHigh)
20 ZFENUM_VALUE(ZFFrameworkBgHighest)
21 ZFENUM_VALUE(AppLowest)
23 ZFENUM_VALUE(AppNormal)
24 ZFENUM_VALUE(AppHigh)
25 ZFENUM_VALUE(AppHighest)
26 ZFENUM_VALUE(ZFFrameworkFgLowest)
27 ZFENUM_VALUE(ZFFrameworkFgLow)
28 ZFENUM_VALUE(ZFFrameworkFgNormal)
29 ZFENUM_VALUE(ZFFrameworkFgHigh)
30 ZFENUM_VALUE(ZFFrameworkFgHighest)
32 ZFENUM_VALUE_REGISTER(ZFFrameworkBgLowest)
33 ZFENUM_VALUE_REGISTER(ZFFrameworkBgLow)
34 ZFENUM_VALUE_REGISTER(ZFFrameworkBgNormal)
35 ZFENUM_VALUE_REGISTER(ZFFrameworkBgHigh)
36 ZFENUM_VALUE_REGISTER(ZFFrameworkBgHighest)
37 ZFENUM_VALUE_REGISTER(AppLowest)
39 ZFENUM_VALUE_REGISTER(AppNormal)
41 ZFENUM_VALUE_REGISTER(AppHighest)
42 ZFENUM_VALUE_REGISTER(ZFFrameworkFgLowest)
43 ZFENUM_VALUE_REGISTER(ZFFrameworkFgLow)
44 ZFENUM_VALUE_REGISTER(ZFFrameworkFgNormal)
45 ZFENUM_VALUE_REGISTER(ZFFrameworkFgHigh)
46 ZFENUM_VALUE_REGISTER(ZFFrameworkFgHighest)
49
50// ============================================================
51// ZFUIWindow
52zfclassFwd _ZFP_ZFUIWindowPrivate;
74zfclass ZFLIB_ZFUIKit ZFUIWindow : zfextend ZFUIView {
75 ZFOBJECT_DECLARE(ZFUIWindow, ZFUIView)
77
78 // ============================================================
79 // observer events
80public:
87 ZFEVENT(WindowOwnerSysWindowOnUpdate)
88
94 ZFEVENT(WindowOnShow)
100 ZFEVENT(WindowOnHide)
101
107 ZFEVENT(WindowOwnerSysWindowOnRotate)
108
109public:
114 , ZFMP_IN(ZFUIView *, forView)
116
122 , ZFMP_IN(ZFUIView *, view)
124
125protected:
132 virtual void objectOnInit(void);
134 virtual void objectOnDealloc(void);
135
136 // ============================================================
137 // properties
138public:
144
150
151public:
159 , ZFMP_IN(ZFUISysWindow *, ownerSysWindow)
168protected:
170 virtual inline void ownerSysWindowOnUpdate(ZF_IN ZFUISysWindow *oldSysWindow) {
172 }
173
174public:
187
188public:
197
198public:
206
207protected:
209 virtual inline void windowOnShow(void) {
211 }
212
213 virtual inline void windowOnHide(void) {
215 }
216
221
222protected:
224 virtual void viewOnAddToParent(ZF_IN ZFUIView *parent);
226 virtual void viewOnRemoveFromParent(ZF_IN ZFUIView *parent);
227
228private:
229 _ZFP_ZFUIWindowPrivate *d;
230 friend zfclassFwd ZFUISysWindow;
231};
232
234#endif // #ifndef _ZFI_ZFUIWindow_h_
235
#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
#define zftrue
bool true type
Definition ZFCoreTypeDef_CoreType.h:107
#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_END_WITH_DEFAULT(ZFLIB_, EnumName, defaultEnum)
see ZFENUM_BEGIN
Definition ZFEnumDeclare.h:175
#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 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_STATIC_1(ReturnType, MethodName, ZFMP_0)
see ZFMethod
Definition ZFMethodDeclare.h:870
#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_ON_INIT_DECLARE_1(ZFMP_0)
see ZFOBJECT_ON_INIT_INLINE_1
Definition ZFObjectDeclare.h:263
#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
#define ZFPROPERTY_ASSIGN(Type, Name,...)
see ZFPROPERTY_RETAIN
Definition ZFPropertyDeclare.h:128
#define ZFPROPERTY_ON_UPDATE_DECLARE(Type, Name)
see ZFPROPERTY_ON_INIT_DECLARE
Definition ZFPropertyDeclare.h:238
#define ZFSTYLE_DEFAULT_DECLARE(YourStyle)
used to declare a default style, see ZFStyleable
Definition ZFStyleable.h:262
#define ZFLIB_ZFUIKit
used to export symbols
Definition ZFUIKitDef.h:16
root native window
v_ZFUIWindowLevel::ZFEnumType ZFUIWindowLevel
see v_ZFUIWindowLevel
Definition ZFUIWindow.h:47
void observerNotify(zfidentity eventId, ZFObject *param0=zft_zfnull, ZFObject *param1=zft_zfnull)
notify the observer with eventId
base class of all layout param in ZFUIView
Definition ZFUIViewType.h:123
virtual zfanyT< ZFUIView > parent()
parent view or null if none
virtual void windowOnShow(void)
see E_WindowOnShow
Definition ZFUIWindow.h:209
virtual void objectOnDealloc(void)
override this to destroy your object
virtual zfbool showing()
whether the window is showing
virtual zfbool & sysWindowMarginShouldApply()
whether this window update layout according to ZFUISysWindow::sysWindowMargin, true by default
Definition ZFUIWindow.h:149
virtual void show()
show the window, automatically retain the window
virtual void windowMoveToBottom()
move window to bottom of all same level window
virtual void viewOnRemoveFromParent(ZFUIView *parent)
see E_ViewOnRemoveFromParent
static zfidentity E_WindowOnShow(void)
see ZFObject::observerNotify
virtual void viewOnAddToParent(ZFUIView *parent)
see E_ViewOnAddToParent
virtual void ownerSysWindowOnUpdate(ZFUISysWindow *oldSysWindow)
see E_WindowOwnerSysWindowOnUpdate
Definition ZFUIWindow.h:170
static zfidentity E_WindowOwnerSysWindowOnRotate(void)
see ZFObject::observerNotify
static zfanyT< ZFUIWindow > windowForView(ZFUIView *forView)
util method to get window of a view, or null if not in a window
virtual zfanyT< ZFUILayoutParam > windowLayoutParam()
access window's layout param, automatically call ZFUIView::layoutRequest
virtual void windowOnHide(void)
see E_WindowOnHide
Definition ZFUIWindow.h:213
virtual void hide()
hide the window, automatically release the window
virtual ZFUIWindowLevel & windowLevel()
window's level
Definition ZFUIWindow.h:142
static zfanyT< ZFUISysWindow > sysWindowForView(ZFUIView *view)
util method to get owner sys window for the view, return null if not in view tree or failed to get
static zfidentity E_WindowOwnerSysWindowOnUpdate(void)
see ZFObject::observerNotify
virtual void ownerSysWindowOnRotate(void)
see E_WindowOwnerSysWindowOnRotate
Definition ZFUIWindow.h:218
virtual void objectOnInit(ZFUISysWindow *ownerSysWindow)
init with custom ownerSysWindow, null to use ZFUISysWindow::keyWindow
static zfidentity E_WindowOnHide(void)
see ZFObject::observerNotify
virtual void windowMoveToTop()
move window to top of all same level window
virtual void ownerSysWindow(ZFUISysWindow *ownerSysWindow)
change owner ZFUISysWindow, must be called before show is called
window level for ZFUIWindow, value is ensured from low to high
Definition ZFUIWindow.h:15
see zfany
Definition zfany.h:106