OROCHI
 
Loading...
Searching...
No Matches
GxGuiPropertyArrayClassBase.h
Go to the documentation of this file.
1//===========================================================================
9//===========================================================================
10#pragma once
11
12#if GX_DEVELOP
13
14GX_CORE_NAMESPACE_BEGIN()
15
16//===========================================================================
18//===========================================================================
19class GxGuiPropertyArrayClassBase : public GxGuiFormExpand
20{
21 //-----------------------------------------------------------
23 //-----------------------------------------------------------
25public:
26 GX_RTTI_CLASS(GxGuiPropertyArrayClassBase, GxGuiFormExpand)
27 // 基底継承クラス用禁止宣言
28 GX_PROHIBIT_CLASS_BASE_REFERENCE(GxGuiPropertyArrayClassBase)
29
30
31 typedef void (GxClassBaseRoot::* ADD_ARRAY_CALLBACK)( GxClassBaseRoot* pValue );
32
34 static const u32 ARRAY_GUI_START_NUM;
35
37 //-----------------------------------------------------------
39 //-----------------------------------------------------------
41public:
43 GxGuiPropertyArrayClassBase( void );
45 GxGuiPropertyArrayClassBase( const GxProperty& propertyData, GxTypedObject* pOwner, const GxRtti& rtti, const GxRtti& objectRtti, ADD_ARRAY_CALLBACK addArrayCallback, u32 index = 0, b32 allowDuplicateRtti = true, b32 useComboBoxRtti = true );
46
48 b32 initialize( void ) override;
49
51 void cleanup( void ) override;
52
54 //-----------------------------------------------------------
56 //-----------------------------------------------------------
58public:
60 void update( void ) override;
61
62protected:
64 void onSize( const GxSize& size ) override;
66 void updateGuiList( void );
67
69 void eventAddButtonClick( void );
71 void eventRemoveButtonClick( void );
72
74 void setPropertyComboBoxRtti( const void* const pValue );
76 void getPropertyComboBoxRtti( void* const pValue );
77
78private:
80 GxGuiBase* getArrayGuiTop( void );
82 void updateRegionComboBoxRtti( void );
83
85 //-----------------------------------------------------------
87 //-----------------------------------------------------------
89public:
91 GxArrayClassBase* getArray( void );
92
94 //-----------------------------------------------------------
96 //-----------------------------------------------------------
98protected:
99 GxTypedObject* _pOwner;
100 GxProperty _property;
101 const GxRtti* _pOwnerRtti;
102 u32 _index;
103
104 ADD_ARRAY_CALLBACK _addArrayCallback;
105
106 s32 _activeObjectIndex;
107
108 const GxRtti* _pObjectRtti;
109 GxArrayClassBase* _pObjectArray;
110
111 GxGuiButton* _pGuiButtonAdd;
112 GxGuiButton* _pGuiButtonRemove;
113
114 GxGuiPropertyComboBoxRtti* _pGuiComboBox;
115
116 b32 _allowDuplicateRtti;
117 b32 _useComboBoxRtti;
118
120};
121GX_CORE_NAMESPACE_END()
122
123#endif // GX_DEVELOP
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
void GxTypedObject
その他
Definition GxDefine.h:213
配列クラス
Definition GxArrayClassBase.h:18
基底クラス
Definition GxBase.h:51
プロパティクラス
Definition GxProperty.h:48
実行時型情報クラス
Definition GxRtti.h:154
サイズ
Definition GxStruct.h:730
32bitブーリアン
Definition GxDefine.h:173