15GX_CORE_NAMESPACE_BEGIN()
22class GxToolResourceEditBase : public GxToolResourceViewBase
35 static constexpr u32 MENU_ATTRIBUTE_NONE = (0UL);
39 static constexpr u32 MENU_ATTRIBUTE_SAVE = (1UL << 1);
45 static constexpr u32 MENU_ATTRIBUTE_RECORD = (1UL << 5);
47 static constexpr u32 MENU_ATTRIBUTE_ALL = (0xffffffff);
50 static constexpr u32 IO_ATTRIBUTE_NONE = (0UL);
52 static constexpr u32 IO_ATTRIBUTE_OPEN_DIALOG = (1UL << 0);
54 static constexpr u32 IO_ATTRIBUTE_CHECK_MODIFY = (1UL << 1);
56 static constexpr u32 IO_ATTRIBUTE_DEFAULT = IO_ATTRIBUTE_OPEN_DIALOG | IO_ATTRIBUTE_CHECK_MODIFY;
65 GxToolResourceEditBase(
const GxRttiResource* pResRtti,
const u32 attribute = 0 );
67 b32 initialize(
void )
override;
71 GxToolResourceEditBase(
void ) {}
80 b32 close(
void)
override;
82 GX_FORCE_INLINE
void forceSave(
void) { save(); }
84 void forceClose(
void);
87 GX_FORCE_INLINE
b32 isAutoCreateEnable(
void)
const override {
return false; }
96 constexpr void setMenuAttribute(u32 attribute) { _menuAttribute = attribute; }
98 constexpr void onMenuAttribute(u32 attribute) { _menuAttribute |= attribute; }
100 constexpr void offMenuAttribute(u32 attribute) { _menuAttribute &= ~(attribute); }
102 GX_FORCE_INLINE
b32 isMenuAttributeOn(u32 attribute)
const {
return (_menuAttribute & attribute) ? true :
false; }
105 GX_FORCE_INLINE
b32 isForceClose(
void){
return _isForceClose; }
109 GX_FORCE_INLINE
void setForceClose(
b32 isForceClose) { _isForceClose = isForceClose; }
111 GX_FORCE_INLINE
const GxString& getDefaultNewFilePath(
void)
const {
return _defaultFilePath; }
113 GX_FORCE_INLINE
void setDefaultNewFilePath( GX_CSTR path ) { _defaultFilePath = path; }
115 GX_FORCE_INLINE
const GxString& getDefaultNewFileName(
void)
const {
return _defaultFileName; }
117 GX_FORCE_INLINE
void setDefaultNewFileName( GX_CSTR name ) { _defaultFileName = name; }
119 GX_FORCE_INLINE
const GxString& getDialogPath(
void) {
return _dialogPath; }
122 constexpr void setRttiResource(
const GxRttiResource* pResRtti ) { _pRttiResource = pResRtti; }
126 void setDialogEvent(
const GxProperty& dialogEvent );
135 void eventDialogYes(
void);
137 void eventDialogNo(
void);
139 void eventDialogCancel(
void);
145 void onCreate(
void)
override;
147 void onKeyDown(GxKeyboard::KEY key)
override;
153 void createNew(u32 attribute);
155 void createAndLoadNewResource(
void);
158 GX_FORCE_INLINE
virtual b32 initializeNewResource(
GxResBase* ) {
return true; }
160 virtual void load(u32 attribute);
162 virtual void saveAs(u32 attribute);
164 virtual void save(
void);
166 virtual void convertAs(u32 attribute);
168 virtual void convert(
void);
170 void openRecordFile(
void* pRecord);
172 GX_FORCE_INLINE
virtual void preCreateResource(
void) {
GX_SAFE_RELEASE(_pResource); }
182 GX_FORCE_INLINE
void cancelDialogEvent(
void ) { _needsDialogEvent =
false; }
184 void executeDialogEvent(
void );
200 b32 _needsDialogEvent;
205GX_CORE_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
#define GX_SAFE_RELEASE(__POINTER__)
解放(参照カウンタを使用する場合)
Definition GxBase.h:316
プロパティクラス
Definition GxProperty.h:48
プロパティテーブルクラス
Definition GxProperty.h:1641
リソース基底クラス
Definition GxResBase.h:23
リソース実行時型情報クラス
Definition GxRttiResource.h:188
文字列型クラス
Definition GxString.h:18
32bitブーリアン
Definition GxDefine.h:173