OROCHI
 
Loading...
Searching...
No Matches
GxGuiFormExpand.h
Go to the documentation of this file.
1//===========================================================================
10//===========================================================================
11#pragma once
12
13#if GX_DEVELOP
14
15GX_CORE_NAMESPACE_BEGIN()
16
17class GxGuiButton;
18//===========================================================================
20// 登録されたプロパティのGuiを作成する
21//===========================================================================
22class GxGuiFormExpand : public GxGuiForm
23{
24 //-----------------------------------------------------------
26 //-----------------------------------------------------------
28public:
29 GX_RTTI_CLASS(GxGuiFormExpand, GxGuiForm)
30 // 基底継承クラス用禁止宣言
32
33
34 enum class TYPE
35 {
36 VERTICAL = 0,
37 HOLIZONE
38 };
39
41 //-----------------------------------------------------------
43 //-----------------------------------------------------------
45public:
47 GxGuiFormExpand(void);
48
50 //-----------------------------------------------------------
52 //-----------------------------------------------------------
54public:
56 b32 initialize( void ) override;
57
59 void addListGui( GxGuiBase* pGui );
60
62 GX_FORCE_INLINE GxListClassBase& getListGui( void ){ return _list; }
64 GX_FORCE_INLINE const GxListClassBase& getListGui( void ) const { return _list; }
65
67 void expand( b32 on );
68
70 void closeGuiList( void );
71
73 u32 getListGuiNum( void ) const;
74
76 void update( void ) override;
77
79 void onDraw( void ) override;
80protected:
82 void updateRegion(void);
83
85 void eventOpen(void);
86
88 void eventClose(void);
89
91 GxGuiBase* getPreviousFocus(GxGuiBase* pGuiFocus);
92
94 GxGuiBase* getNextFocus(GxGuiBase* pGuiFocus);
95
96public:
98 GxSize getUseRegionSize( void ) const override;
99
100protected:
102 void onAttach( void ) override;
103
105 void onRemoveGui( GxGuiBase* pGui ) override;
106
108 void onDoubleClick( const GxPoint2& position, u32 button ) override;
109
111 void onMouseDown( const GxPoint2& position, u32 button ) override;
112
114 void onKeyPress( GxKeyboard::KEY key ) override;
115
117 void goPreviousFocus( void );
118
120 void goNextFocus( void );
121
123 virtual void onExpand( b32 open );
124
126 virtual GxSize getUseRegionSizeChildGui( void ) const;
127
129 virtual void updateRegionChildGui( const GxRect& rect );
130
132 void onSize( const GxSize& size ) override;
133
135 //-----------------------------------------------------------
137 //-----------------------------------------------------------
139public:
142 GX_FORCE_INLINE void setTitle( const GxString& title ){ _title = title; }
143
146 GX_FORCE_INLINE b32 isExpand( void ) const { return _expand; }
147
150 constexpr void setType( TYPE type ){ _type = type; }
151
153 void setFocusAndRequestIn( GxGuiBase* pGui );
154
156 void addCustomGuiList( GxGuiBase* pGui );
157
160 GX_FORCE_INLINE b32 isMouseDownOnName(void) const { return _mouseDownOnName; }
161
163 constexpr void setOffsetTopRegion( s32 offsetValue ) { _offsetTopRegion = offsetValue; }
165 constexpr s32 getOffsetTopRegion( void ) const { return _offsetTopRegion; }
166
168 GX_FORCE_INLINE const GxString& getSearchString( void ) const { return _searchString; }
170 GX_FORCE_INLINE void setSearchString( const GxString& searchString ) { _searchString = searchString; }
171
173 //-----------------------------------------------------------
175 //-----------------------------------------------------------
177private:
178 GxString _title;
179 GxRect _titleRect;
180
181 GxString _clipTitle;
182 GxSize _clipTitleSize;
183
184 b32 _mouseDownOnName;
185
186 GxListClassBase _list;
187
188 GxGuiButton* _pOpenButton;
189
190 b32 _expand;
191 TYPE _type;
192
193 b32 _requestInFocus;
194
195 GxArrayClassBase _customGuiList;
196
197 s32 _offsetTopRegion;
198
199 GxString _searchString;
200
202};
203
204GX_CORE_NAMESPACE_END()
205
206#endif // GX_DEVELOP
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
配列クラス
Definition GxArrayClassBase.h:18
GxClassBase用連結リストクラス
Definition GxListClassBase.h:18
座標
Definition GxStruct.h:867
矩形
Definition GxStruct.h:951
サイズ
Definition GxStruct.h:730
文字列型クラス
Definition GxString.h:18
32bitブーリアン
Definition GxDefine.h:173