15GX_CORE_NAMESPACE_BEGIN()
46class GxGuiFileInformation;
47class GxGuiPropertyComboBoxEnum;
49class GxGuiFileDialog : public GxGuiWindow
56 GX_RTTI_CLASS(GxGuiFileDialog, GxGuiWindow)
70 static const u32 BUTTON_OK_WIDTH;
72 static const u32 BUTTON_OK_HEIGHT;
75 static const u32 BUTTON_WIDTH;
77 static const u32 BUTTON_HEIGHT;
80 static const u32 COLUMN_FILENAME_WIDTH;
82 static const u32 COLUMN_SIZE_WIDTH;
84 static const u32 COLUMN_LAST_WRITE_TIME_STRING;
91 static const GxSize WINDOW_MIN_SIZE;
100 GxGuiFileDialog(
void);
103 GxGuiFileDialog(
GxString* pArgumentPath, MODE mode );
109 void cleanup(
void )
override;
112 b32 initialize(
void)
override;
121 void update(
void )
override;
124 void addFilter(GX_CSTR pDisplay, GX_CSTR pFilter);
129 void clearFilter(
void);
132 b32 enterToDirectory(
void);
135 void eventOpen(
void);
138 void updateFileInformation(
void);
141 void clearFileInformation(
void);
144 void addFileInformation(GxGuiFileInformation* pGuiFileInformation);
150 void selectFile(
void);
153 void eventCancel(
void) { close(); }
156 void eventFileOverWriteOk(
void);
159 constexpr void eventFileOverWriteCancel(
void){}
162 void eventGoParentDirectory(
void);
165 void eventGoPreviousDirectory(
void);
168 void eventShowRecentDirectory(
void);
170 void getFolderFromFilename(
GxString& folder);
172 void eventGoRecentDirectory(
void* pFavorite);
174 void eventShowFavoriteDirectory(
void);
176 void eventGoFavoriteDirectory(
void* pFavorite);
178 void eventAddFavoriteDirectory(
void* pPath);
180 void eventRemoveFavoriteDirectory(
void* pPath);
182 constexpr void eventDummy(
void) {}
185 void eventGoOriginalDirectory(
void);
188 void eventGoFinalizedCommonDirectory(
void);
191 void eventGoFinalizedNativeDirectory(
void);
194 void pushPathRecord(
const GxString& path);
207 void onSize(
const GxSize& size )
override;
210 void onClick(
const GxPoint2& position, u32 button )
override;
213 void onKeyDown( GxKeyboard::KEY key )
override;
218 GxSize getClampedRegionSize(
const GxSize& size )
const override;
233 GxGuiForm* _pGuiForm;
235 GxGuiButton* _pGuiParentDirectoryButton;
236 GxGuiButton* _pGuiPreviousDirectoryButton;
237 GxGuiButton* _pGuiRecentFolderButton;
238 GxGuiButton* _pGuiFavoriteFolderButton;
239 GxGuiButton* _pGuiOriginalDirectoryButton;
240 GxGuiButton* _pGuiFinalizedCommonDirectoryButton;
241 GxGuiButton* _pGuiFinalizedNativeDirectoryButton;
242 GxGuiFileList* _pGuiFileList;
244 GxGuiPropertyParameter* _pGuiFilePath;
245 GxGuiPropertyParameter* _pGuiFileName;
246 GxGuiPropertyComboBoxEnum* _pGuiFileFilter;
247 GxGuiButton* _pGuiSaveButton;
248 GxGuiButton* _pGuiCancelButton;
251 GxList _filePathRecordList;
256 GX_ENUM _filterEnum[ FILTER_NUM ];
260 GxString _filterDisplay[ FILTER_NUM ];
261 GxString _filterString[ FILTER_NUM ];
270class GxGuiFileList :
public GxGuiPropertyTable
277 GX_RTTI_CLASS(GxGuiFileList, GxGuiPropertyTable)
293 b32 initialize(
void )
override;
302 constexpr void setGuiFileDialog( GxGuiFileDialog* pGuiFileDialog ){ _pGuiFileDialog = pGuiFileDialog; }
305 constexpr GxGuiFileDialog* getGuiFileDialog(
void )
const {
return _pGuiFileDialog; }
314 void onDoubleClick(
const GxPoint2& position, u32 button )
override;
317 void onKeyDown( GxKeyboard::KEY key )
override;
320 void eventOpenFileOrDirectory(
void );
329 GxGuiFileDialog* _pGuiFileDialog;
353 GxGuiFileInformation(
void ):_pGuiFileDialog(nullptr){}
355 GxGuiFileInformation(
const GxFileInformation& fileInformation, GxGuiFileDialog* pGuiFileDialog );
364 constexpr void setGuiFileDialog( GxGuiFileDialog* pGuiFileDialog ){ _pGuiFileDialog = pGuiFileDialog; }
366 constexpr GxGuiFileDialog* getGuiFileDialog(
void )
const {
return _pGuiFileDialog; }
385 GxGuiFileDialog* _pGuiFileDialog;
394class GxGuiFileName :
public GxGuiPropertyParameter
401 GX_RTTI_CLASS(GxGuiFileName,GxGuiPropertyParameter)
415 GxGuiFileName(
const GxProperty& propertyData,
GxTypedObject* pBase,
const GxRtti& rtti, u32 index = 0, NAME_TYPE nameType = NAME_TYPE::LEFT, PARAMETER_MODE mode = PARAMETER_MODE::INT);
425 constexpr void setIconHandle(
GX_HANDLE iconHandle ){ _iconHandle = iconHandle; }
428 void onNoClientDraw(
void )
override;
431 GxRect calculateClientRect(
const GxRect& clientRect )
const override;
444GX_CORE_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
void GxTypedObject
その他
Definition GxDefine.h:213
u32 GX_HANDLE
ハンドル
Definition GxDefine.h:214
配列クラス
Definition GxArrayClassBase.h:18
連結リストクラス
Definition GxList.h:18
static constexpr u32 VALUE_1K
1K
Definition GxMath.h:129
static constexpr u32 VALUE_8
8
Definition GxMath.h:122
プロパティクラス
Definition GxProperty.h:48
実行時型情報クラス
Definition GxRtti.h:154
GUI用
Definition GxDefine.h:194
座標
Definition GxStruct.h:867
矩形
Definition GxStruct.h:951
サイズ
Definition GxStruct.h:730
文字列型クラス
Definition GxString.h:18
GX_FORCE_INLINE GX_STR getString(void)
文字列取得
Definition GxString.h:165
32bitブーリアン
Definition GxDefine.h:173