ZFFramework
 
Loading...
Searching...
No Matches
ZFUIViewFocus.h
Go to the documentation of this file.
1
5
6#ifndef _ZFI_ZFUIViewFocus_h_
7#define _ZFI_ZFUIViewFocus_h_
8
9#include "ZFUIView.h"
11
12// ============================================================
17 , ZFMP_IN(ZFUIView *, from)
18 , ZFMP_IN(ZFUIView *, nextFocus)
19 )
20
21// ============================================================
27
28
44
45public:
50 zfstring ret;
51 this->objectInfoT(ret);
52 return ret;
53 }
54
55public:
57 zfbool operator == (ZF_IN const ZFUIViewFocusNextParam &ref) const {
58 return (zftrue
59 && this->focusDirection() == ref.focusDirection()
60 && this->focusLoopMode() == ref.focusLoopMode()
61 && this->focusEndParent() == ref.focusEndParent()
62 && this->focusInternalViews() == ref.focusInternalViews()
63 );
64 }
65 zfbool operator != (ZF_IN const ZFUIViewFocusNextParam &ref) const {
66 return !this->operator == (ref);
67 }
69};
72ZFOUTPUT_TYPE(ZFUIViewFocusNextParam, {v.objectInfoT(s);})
73
74// ============================================================
81 , ZFMP_IN(ZFUIView *, view)
83 )
84
85
89 , ZFMP_IN(ZFUIView *, view)
91 )
92
93// ============================================================
101 , ZFMP_IN(ZFUIView *, view)
102 , ZFMP_IN(ZFUIKeyEvent *, keyEvent)
103 , ZFMP_OUT_OPT(zfauto *, nextFocus, zfnull)
104 , ZFMP_IN_OPT(ZFUIView *, endParent, zfnull)
106
108#endif // #ifndef _ZFI_ZFUIViewFocus_h_
109
#define zffinal
dummy macro shows that a method or class is designed must not to be overrided
Definition ZFCoreTypeDef_ClassType.h:63
#define zfclassLikePOD
shows the class is not a POD type, but you may use it like a POD except memset it to 0
Definition ZFCoreTypeDef_ClassType.h:41
#define ZF_IN
dummy macro that shows the param used as required input
Definition ZFCoreTypeDef_ClassType.h:180
#define ZF_IN_OUT
dummy macro that shows the param used as required input and output
Definition ZFCoreTypeDef_ClassType.h:196
_ZFT_t_zfbool zfbool
bool type
Definition ZFCoreTypeDef_CoreType.h:103
#define zftrue
bool true type
Definition ZFCoreTypeDef_CoreType.h:107
#define zffalse
bool false type
Definition ZFCoreTypeDef_CoreType.h:111
#define zfnull
same as NULL, defined for future use
Definition ZFCoreTypeDef_CoreType.h:88
#define ZFOUTPUT_TYPE(T_Type, outputAction)
declare your custom type conversion to string, convenient for debug
Definition ZFCoreTypeDef_OtherType.h:221
zft_zfstring< zfchar > zfstring
see zft_zfstring
Definition ZFCoreTypeDef_StringType.h:15
#define ZFCORE_PARAM_DECLARE_SELF(T_self)
see ZFCORE_PARAM
Definition ZFCoreUtilMacro.h:495
#define ZFCORE_PARAM(T_ParamType, paramName,...)
a util macro to generate setter and getter for POD like object
Definition ZFCoreUtilMacro.h:523
#define ZFMP_OUT_OPT(ParamType, paramName, DefaultValue)
see ZFMP_IN
Definition ZFMethod.h:114
#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_FUNC_DECLARE_2(ZFLIB_, ReturnType, MethodName, ZFMP_0, ZFMP_1)
see ZFMETHOD_FUNC_DECLARE_0
Definition ZFMethodFuncDeclare.h:763
#define ZFMETHOD_FUNC_DECLARE_4(ZFLIB_, ReturnType, MethodName, ZFMP_0, ZFMP_1, ZFMP_2, ZFMP_3)
see ZFMETHOD_FUNC_DECLARE_0
Definition ZFMethodFuncDeclare.h:1065
#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 ZFTYPEID_ACCESS_ONLY_REG(ZFLIB_, TypeName, Type,...)
see ZFTYPEID_DECLARE
Definition ZFTypeIdDeclare.h:205
#define ZFTYPEID_ACCESS_ONLY_DECLARE(ZFLIB_, TypeName, Type)
see ZFTYPEID_DECLARE
Definition ZFTypeIdDeclare.h:195
#define ZFLIB_ZFUIKit
used to export symbols
Definition ZFUIKitDef.h:16
base class of all UI views
void ZFUIViewFocusNextSetup(ZFUIView *from, ZFUIView *nextFocus)
manually set the next focus target for the from view, set null to remove
zfanyT< ZFUIView > ZFUIViewFocusNextMove(ZFUIView *view, const ZFUIViewFocusNextParam &param=(ZFUIViewFocusNextParam()))
move focus to next if available or do nothing otherwise, see ZFUIViewFocusNextFind
zfbool ZFUIViewFocusResolveKeyEvent(ZFUIView *view, ZFUIKeyEvent *keyEvent, zfauto *nextFocus=(zft_zfnull), ZFUIView *endParent=(zft_zfnull))
util method to resolve key event (such as up/down/left/right keys) and check to move focus,...
zfanyT< ZFUIView > ZFUIViewFocusNextFind(ZFUIView *view, const ZFUIViewFocusNextParam &param=(ZFUIViewFocusNextParam()))
find next focusable from view (excluding) with direction
key event for ui elements
Definition ZFUIKeyEvent.h:17
see v_ZFUIOrientation, ZFUIOrientationFlagsToString, ZFUIOrientationFlagsFromString
Definition ZFUITypeDef.h:1145
param for ZFUIViewFocusNextFind and ZFUIViewFocusNextMove
Definition ZFUIViewFocus.h:25
ZFUIOrientationFlags & focusDirection(void)
direction to find, v_ZFUIOrientation::e_Right | v_ZFUIOrientation::e_Bottom by default
Definition ZFUIViewFocus.h:31
zfanyT< ZFUIView > & focusEndParent(void)
only find within this view, null to end with ZFUIWindow, null by default
Definition ZFUIViewFocus.h:39
void objectInfoT(zfstring &ret) const
see objectInfo
zfbool & focusLoopMode(void)
whether find in loop mode, false by default
Definition ZFUIViewFocus.h:35
zfbool & focusInternalViews(void)
whether to find internal views, true by default
Definition ZFUIViewFocus.h:43
zfstring objectInfo(void) const
return object info
Definition ZFUIViewFocus.h:49
base class of all UI views
Definition ZFUIView.h:93
orientation types for UI in ZFFramework
Definition ZFUITypeDef.h:1135
see zfany
Definition zfany.h:106
a ZFObject holder which would release content object automatically when destroyed
Definition zfautoFwd.h:34