15GX_CORE_NAMESPACE_BEGIN()
45class GxGuiSplitterCross;
52class GxGuiPropertyTable : public GxGuiBase
59 GX_RTTI_CLASS(GxGuiPropertyTable, GxGuiBase)
63 GX_OPERATOR_NEW_DELETE(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP)
80 GX_LIST_CLASS_BASE_POINTER
84 static constexpr u32 NAME_HEIGHT = 18;
86 static constexpr u32 VALUE_HEIGHT = 18;
89 static const u32 CAPTION_HEIGHT;
98 GxGuiPropertyTable(
void);
100 GxGuiPropertyTable(
const GxProperty& property,
GxTypedObject* pObject, u32 index = 0,
b32 useFilter =
false, TYPE type = TYPE::HORIZON,
b32 useIndex =
false );
109 b32 initialize(
void )
override;
111 void update(
void )
override;
113 void postUpdate(
void )
override;
116 void onSize(
const GxSize& size)
override;
119 void eventSort(
void*);
122 GX_FORCE_INLINE
void onClick(
const GxPoint2& , u32 )
override { onClickParent(); }
125 void onNoClientDraw(
void )
override;
127 GxSize getUseRegionSize(
void )
const override;
129 GxRect calculateClientRect(
const GxRect& clientRect )
const override;
132 b32 updateObjectList(
void);
135 void createObjectListGui(
void);
138 void filterObjectList(
void);
141 void sortObjectList(
void);
144 GX_CSTR getColumnName(u32 index)
const;
147 b32 isInSelectList(
void* pObject);
162 void setAttributeColumn(u32 column, GxGuiBase::ATTRIBUTE attribute,
b32 enable);
164 void setAttributeRow(u32 row, GxGuiBase::ATTRIBUTE attribute,
b32 enable);
166 void setAttributeColumnRow(u32 column, u32 row, GxGuiBase::ATTRIBUTE attribute,
b32 enable);
169 void addColumn( GX_CSTR name, u32 width, GX_CSTR displayName =
nullptr );
172 void addColumn( GX_CSTR name, GX_CSTR displayName =
nullptr );
175 void* getSelectObject(
void );
178 void getSelectObject(
GxArray& list );
184 void getDispObject(
GxArray& list );
190 GX_FORCE_INLINE
void setUseMultiSelect(
b32 use =
true ){ _useMultiSelect = use; }
193 u32 getSelectObjectCount(
void );
196 void addSelectList(
void* pObject );
199 void addSelectList( u32 index );
202 void removeSelectList(
void* pObject );
205 void removeAllSelectList(
void );
208 void removeAllDispList(
void);
211 GX_FORCE_INLINE
void setDisableCheckProperty(
b32 disable ){ _disableCheckProperty = disable; }
214 GX_FORCE_INLINE
void setRequestCheckProperty(
b32 request ){ _requestCheckProperty = request; }
217 void setColumnWidthAdjust(
void );
221 constexpr void setMoveFocusColumn(u32 column) { _moveFocusColumn = column; }
224 GX_FORCE_INLINE
void setUseUpdateWithFocus(
b32 use ) { _useUpdateWithFocus = use; }
228 GX_FORCE_INLINE
GxArray& getDisplayObjectArray(
void ){
return _displayObjectArray; }
230 GX_FORCE_INLINE
GxArray& getSelectObjectArray(
void ){
return _selectObjectArray; }
234 constexpr void setSelectMouseButton(u32 buttons) { _selectMouseButton = buttons; }
237 GX_FORCE_INLINE
void setCaption( GX_CSTR pCaption ){ GX_ASSERT( pCaption,
"pCaption is nullptr" ); _caption = pCaption; _useCaption =
true; }
239 GX_FORCE_INLINE
void setDefaultCaptionBackgroundColor(
const GxColor& color ) { _defaultCaptionBackgroundColor = color; }
241 GX_FORCE_INLINE
void setActiveCaptionBackgroundColorStart(
const GxColor& color ) { _activeCaptionBackgroundColorStart = color; }
243 GX_FORCE_INLINE
void setActiveCaptionBackgroupdColorEnd(
const GxColor& color ) { _activeCaptionBackgroundColorEnd = color; }
256 GxGuiNameForm* _pGuiNameForm;
257 GxGuiValueForm* _pGuiValueForm;
269 TABLE_TYPE _tableType;
271 s32 _selectPositionY;
273 b32 _requestCheckProperty;
274 b32 _disableCheckProperty;
275 u32 _moveFocusColumn;
276 b32 _useUpdateWithFocus;
277 u32 _selectMouseButton;
281 GxColor _defaultCaptionBackgroundColor;
282 GxColor _activeCaptionBackgroundColorStart;
283 GxColor _activeCaptionBackgroundColorEnd;
302 GX_OPERATOR_NEW_DELETE(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP)
320 GX_FORCE_INLINE
void setName(
const GxString& name ){ _name = name; }
322 GX_FORCE_INLINE
const GxString& getName(
void )
const {
return _name; }
325 GX_FORCE_INLINE
void setDisplayName(
const GxString& displayName ){ _displayName = displayName; }
327 GX_FORCE_INLINE
const GxString& getDisplayName(
void )
const {
return _displayName; }
330 constexpr void setUseButton( GxGuiButton* pGuiButton ){ _pGuiButton = pGuiButton; }
332 constexpr GxGuiButton* getUseButton(
void )
const {
return _pGuiButton; }
342 GxGuiButton* _pGuiButton;
350class GxGuiNameForm :
public GxGuiForm
357 GX_RTTI_CLASS(GxGuiNameForm, GxGuiForm)
370 GxGuiNameForm(
b32 useFilter );
379 b32 initialize(
void )
override;
382 void cleanup(
void )
override;
385 void update(
void )
override;
389 void onSize(
const GxSize& size)
override;
398 u32 getColumnCount(
void );
401 s32 getControlColumnBarIndex(
void );
404 void setColumnWidth( u32 width, u32 index );
406 u32 getColumnWidth( u32 index );
409 void updateLayout(
void );
412 void addColumn( u32 width, GxGuiButton* pGuiButton );
415 b32 isChangeFilter(
void )
const;
418 GX_CSTR getFilter( u32 index )
const;
421 GxSize getUseRegionSize(
void )
const override;
424 constexpr GxGuiSplitterCross* getSplitterCross(
void )
const {
return _pSplitterCross; }
432 GxGuiSplitterCross* _pSplitterCross;
435 GX_CSTR _pFilterDammy;
454 GX_OPERATOR_NEW_DELETE(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP)
463 GxNameFilter(
void) : _changeFilter(false){};
472 virtual void update(
void );
481 GX_FORCE_INLINE
const GxString& getFilter(
void )
const {
return _filter; }
483 GX_FORCE_INLINE
GxProperty getFilterProperty(
void )
const {
return _PARAM(_filter); }
486 GX_FORCE_INLINE
b32 isChangeFilter(
void )
const {
return _changeFilter; }
505class GxGuiValueForm :
public GxGuiForm
512 GX_RTTI_CLASS(GxGuiValueForm, GxGuiForm)
523 GxGuiValueForm(
void);
532 b32 initialize(
void )
override;
535 void postDraw(
void )
override;
539 void onSize(
const GxSize& size)
override;
542 GxSize getUseRegionSize(
void)
const override;
545 void onKeyPress(GxKeyboard::KEY key)
override;
548 void moveFocus(
const GxPoint2& move);
557 s32 getControlColumnBarIndex(
void );
560 void setColumnWidth( u32 width, u32 index );
563 u32 getColumnWidth( u32 index );
566 void updateLayout(
void );
569 void createTable( u32 count );
572 void setGui( GxGuiBase* pGui, u32 column, u32 row );
575 void addColumn( u32 width );
578 s32 getActiveObjectPosition(
void );
584 GX_FORCE_INLINE
void setDisableCtrlMoveFoucs(
b32 disable){ _disableCtrlMoveFoucs = disable; }
587 constexpr GxGuiSplitterCross* getSplitterCross(
void )
const {
return _pSplitterCross; }
595 GxGuiSplitterCross* _pSplitterCross;
596 b32 _disableCtrlMoveFoucs;
601GX_CORE_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
#define GX_PROHIBIT_CLASS_BASE(__CLASS__)
GxClassBase継承の禁止宣言
Definition GxBase.h:240
void GxTypedObject
その他
Definition GxDefine.h:213
配列クラス
Definition GxArrayClassBase.h:18
参照カウンタ用配列クラス
Definition GxArrayClassBase.h:145
配列クラス
Definition GxArray.h:18
オブジェクト基底クラス
Definition GxBase.h:88
参照オブジェクト基底クラス
Definition GxBase.h:122
SORT
ソート方法
Definition GxListClassBase.h:34
プロパティクラス
Definition GxProperty.h:48
実行時型情報クラス
Definition GxRtti.h:154
座標
Definition GxStruct.h:867
矩形
Definition GxStruct.h:951
サイズ
Definition GxStruct.h:730
文字列型クラス
Definition GxString.h:18
32bitブーリアン
Definition GxDefine.h:173