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 "ZFUIRootWindow.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(RootWindowOnUpdate)
88
94 ZFEVENT(WindowOnShow)
100 ZFEVENT(WindowOnHide)
101
107 ZFEVENT(WindowOwnerWindowOnRotate)
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(ZFUIRootWindow *, rootWindow)
168protected:
170 virtual inline void rootWindowOnUpdate(ZF_IN ZFUIRootWindow *rootWindowOld) {
171 this->observerNotify(ZFUIWindow::E_RootWindowOnUpdate(), rootWindowOld);
172 }
173
174public:
187
188public:
197
198public:
203
204protected:
206 virtual inline void windowOnShow(void) {
208 }
209
210 virtual inline void windowOnHide(void) {
212 }
213
215 virtual inline void ownerWindowOnRotate(void) {
217 }
218
219protected:
221 virtual void viewOnAddToParent(ZF_IN ZFUIView *parent);
223 virtual void viewOnRemoveFromParent(ZF_IN ZFUIView *parent);
224
225private:
226 _ZFP_ZFUIWindowPrivate *d;
227 friend zfclassFwd ZFUIRootWindow;
228};
229
231#endif // #ifndef _ZFI_ZFUIWindow_h_
232
#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
#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:310
#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:260
#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:206
virtual void objectOnDealloc(void)
override this to destroy your object
virtual zfbool showing()
whether the window is showing
virtual void rootWindow(ZFUIRootWindow *rootWindow)
change owner ZFUIRootWindow, must be called before show is called
virtual void objectOnInit(ZFUIRootWindow *rootWindow)
init with custom rootWindow, null to use ZFUIRootWindow::keyWindow
virtual void show()
show the window, automatically retain the window
virtual void windowMoveToBottom()
move window to bottom of all same level window
static zfidentity E_RootWindowOnUpdate(void)
see ZFObject::observerNotify
virtual void viewOnRemoveFromParent(ZFUIView *parent)
see E_ViewOnRemoveFromParent
virtual void ownerWindowOnRotate(void)
see E_WindowOwnerWindowOnRotate
Definition ZFUIWindow.h:215
static zfidentity E_WindowOwnerWindowOnRotate(void)
see ZFObject::observerNotify
static zfidentity E_WindowOnShow(void)
see ZFObject::observerNotify
static zfanyT< ZFUIRootWindow > rootWindowForView(ZFUIView *view)
util method to get owner sys window for the view, return null if not in view tree or failed to get
virtual zfbool & windowMarginShouldApply()
whether this window update layout according to ZFUIRootWindow::windowMargin, true by default
Definition ZFUIWindow.h:149
virtual void viewOnAddToParent(ZFUIView *parent)
see E_ViewOnAddToParent
virtual void layoutParam(ZFUILayoutParam *layoutParam)
manually set layout param
static zfanyT< ZFUIWindow > windowForView(ZFUIView *forView)
util method to get window of a view, or null if not in a window
virtual void windowOnHide(void)
see E_WindowOnHide
Definition ZFUIWindow.h:210
virtual void hide()
hide the window, automatically release the window
virtual ZFUIWindowLevel & windowLevel()
window's level
Definition ZFUIWindow.h:142
virtual void rootWindowOnUpdate(ZFUIRootWindow *rootWindowOld)
see E_RootWindowOnUpdate
Definition ZFUIWindow.h:170
static zfidentity E_WindowOnHide(void)
see ZFObject::observerNotify
virtual void windowMoveToTop()
move window to top of all same level window
window level for ZFUIWindow, value is ensured from low to high
Definition ZFUIWindow.h:15
see zfany
Definition zfany.h:109