OROCHI
 
Loading...
Searching...
No Matches
GxToolLevel.h
Go to the documentation of this file.
1//===========================================================================
9//===========================================================================
10#pragma once
11
12#if GX_EDITOR
13
14GX_CORE_NAMESPACE_BEGIN()
15
16//===========================================================================
18//===========================================================================
19class GxToolLevel : public GxToolResourceEditBase
20{
21 //-----------------------------------------------------------
23 //-----------------------------------------------------------
25public:
26 // RTTI定義
27 GX_RTTI_CLASS_NAME_ICON(GxToolLevel, GxToolResourceEditBase, "レベル編集", GxRtti::ICON_TYPE::CORE)
28 // ClassBaseReference継承クラス用禁止宣言
30
31
32 static constexpr u32 DEFAULT_BUTTON_WIDTH = 120;
34 static constexpr u32 DEFAULT_BUTTON_HEIGHT = 40;
36 static constexpr u32 DEFAULT_BUTTON_COLUMN = 5;
38 static constexpr u32 DEFAULT_BUTTON_ROW = 40;
40 static constexpr u32 DEFAULT_BUTTON_AREA_HEIGHT = 160;
41
42 //===========================================================================
44 //===========================================================================
45 class GxToolLevelTab : public GxClassBase
46 {
47 //-----------------------------------------------------------
49 //-----------------------------------------------------------
51 public:
52 // RTTI定義
53 GX_RTTI_CLASS(GxToolLevel::GxToolLevelTab, GxClassBase)
54 // ClassBase継承クラス用禁止宣言
55 GX_PROHIBIT_CLASS_BASE(GxToolLevelTab)
56
57
58 //-----------------------------------------------------------
60 //-----------------------------------------------------------
62 public:
64 GxToolLevelTab( void );
66 GxToolLevelTab( const GxRtti& rtti, GX_CSTR caption, b32 searchChildFlag );
67
69 //-----------------------------------------------------------
71 //-----------------------------------------------------------
73 public:
75 GX_FORCE_INLINE const GxRtti* getSearchRtti( void ) const { return _pRtti; }
77 constexpr GX_CSTR getCaption( void ) const { return _caption; }
79 GX_FORCE_INLINE b32 getSearchChildFlag( void ) const { return _searchChildFlag; }
80
82 //-----------------------------------------------------------
84 //-----------------------------------------------------------
86 private:
87 const GxRtti* _pRtti;
88 GX_CSTR _caption;
89 b32 _searchChildFlag;
90
92 };
93
95 //-----------------------------------------------------------
97 //-----------------------------------------------------------
99public:
101 GxToolLevel( void );
103 GxToolLevel( GxResBase* pResource );
104
106 b32 initialize( void ) override;
108 void cleanup( void ) override;
110 void setResource( GxResBase* pResource) override;
111
113 void configureButton( u32 buttonWidth, u32 buttonHeight, u32 buttonColumn, u32 buttonRow );
115 void configureSplitter( u32 buttonAreaHeight );
116
118 //-----------------------------------------------------------
120 //-----------------------------------------------------------
122protected:
124 void update( void ) override;
125
127 void addEditTab( const GxRtti& searchRtti, GX_CSTR caption, b32 searchChildFlag );
128
130 virtual void initializeEditTab( void );
132 virtual GxUnitBase* createUnit( const GxRtti& rtti );
133
134private:
136 void addAllEditButton( GxGuiSplitterCross* pGui, const GxRtti* pRtti, b32 searchChildFlag );
138 void createUnitProperty( void* pRtti );
139
141 s32 eventCreateUnit(void* pSource, void* pArgument);
143 s32 eventKillUnit(void* pSource, void* pArgument);
144
146 //-------------------------------------------------------------
148 //-------------------------------------------------------------
150public:
152 GX_FORCE_INLINE GxResLevel* getResource(void) const { return static_cast<GxResLevel*>(Super::getResource()); }
153
155 //-----------------------------------------------------------
157 //-----------------------------------------------------------
159private:
160 u32 _buttonIndex;
161
162 GxArrayClassBase _tabArray;
163 GxArrayClassBase _rootUnitList;
164
165 GxGuiFormUnitTree* _pFormTree;
166
167protected:
168 u32 _buttonWidth;
169 u32 _buttonHeight;
170 u32 _buttonColumn;
171 u32 _buttonRow;
172 u32 _buttonAreaHeight;
173
174 GxGuiSplitter* _pSplitter;
175 GxGuiTab* _pTab;
176
178};
179
180GX_CORE_NAMESPACE_END()
181
182#endif // GX_EDITOR
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
#define GX_PROHIBIT_CLASS_BASE(__CLASS__)
GxClassBase継承の禁止宣言
Definition GxBase.h:240
配列クラス
Definition GxArrayClassBase.h:18
オブジェクト基底クラス
Definition GxBase.h:88
リソース基底クラス
Definition GxResBase.h:23
レベルリソース
Definition GxResLevel.h:18
実行時型情報クラス
Definition GxRtti.h:154
ユニット基礎クラス
Definition GxUnitBase.h:45
32bitブーリアン
Definition GxDefine.h:173