OROCHI
 
Loading...
Searching...
No Matches
GxGuiPropertyResource.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
19//===========================================================================
21//===========================================================================
22class GxGuiPropertyResource : public GxGuiProperty
23{
24 //-----------------------------------------------------------
26 //-----------------------------------------------------------
28public:
29 GX_RTTI_CLASS(GxGuiPropertyResource, GxGuiProperty)
30 // ClassBaseReference継承クラス用禁止宣言
31 GX_PROHIBIT_CLASS_BASE_REFERENCE(GxGuiPropertyResource)
32
33
34 //-----------------------------------------------------------
36 //-----------------------------------------------------------
38public:
40 GxGuiPropertyResource(void);
42 GxGuiPropertyResource( const GxProperty& property, GxTypedObject* pOwner, const GxRtti& rtti, const GxRttiResource& resourceRtti, u32 index = 0 );
43
45 //-----------------------------------------------------------
47 //-----------------------------------------------------------
49public:
51 b32 initialize( void ) override;
53 void cleanup( void ) override;
55 void update( void ) override;
56
57protected:
59 void onCreate(void) override;
60
62 void onRemoveGui(GxGuiBase* pGui) override;
63
65 void onSize(const GxSize& size) override;
66
68 void onClick(const GxPoint2& position, u32 button) override;
69
71 void onDraw(void) override;
72
74 void onDropFile(GX_CSTR pFilePath) override;
75
77 void onMouseUp( const GxPoint2& position, u32 button ) override;
78
80 void eventClearPath(void);
81
83 void eventReload(void);
84
86 GxRect getButtonRect(void) const;
87
89 void openDialog(void);
90
92 void reloadNotifierToTool(gx::core::GxGuiBase* pOwnerGui, gx::core::GxGuiBase* pReloadGui, GxResBase* pReloadRes);
93
95 void reloadBeginNotifierToTool(gx::core::GxGuiBase* pOwnerGui, gx::core::GxGuiBase* pReloadGui, GxResBase* pReloadRes);
96
98 void updateHoverMessage(void);
99
101 //-----------------------------------------------------------
103 //-----------------------------------------------------------
105public:
107 virtual void setResource( GxResBase* pResBase );
108
109protected:
111 GX_FORCE_INLINE b32 isDefaultValue(void) override { return isDefaultValueSub<GxClassBaseRoot*>(); }
113 GX_FORCE_INLINE void setDefaultValue( void ) override { setDefaultValueSub<GxClassBaseRoot*>(); }
114
116 //-----------------------------------------------------------
118 //-----------------------------------------------------------
120protected:
121 const GxRttiResource* _pResRtti;
122 GxResBase* _pResBase;
123 GxString _filePath;
124 GxGuiButton* _pGuiButton;
125 GxRect _paramRect;
126
128};
129
130GX_CORE_NAMESPACE_END()
131
132#endif // GX_DEVELOP
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
void GxTypedObject
その他
Definition GxDefine.h:213
プロパティクラス
Definition GxProperty.h:48
リソース基底クラス
Definition GxResBase.h:23
実行時型情報クラス
Definition GxRtti.h:154
リソース実行時型情報クラス
Definition GxRttiResource.h:188
座標
Definition GxStruct.h:867
矩形
Definition GxStruct.h:951
サイズ
Definition GxStruct.h:730
文字列型クラス
Definition GxString.h:18
32bitブーリアン
Definition GxDefine.h:173