--- a/ui/ui/window.h Tue Jan 30 13:10:16 2024 +0100 +++ b/ui/ui/window.h Wed Jan 31 19:15:41 2024 +0100 @@ -35,13 +35,22 @@ extern "C" { #endif +#define UI_FILEDIALOG_SELECT_SINGLE 0 +#define UI_FILEDIALOG_SELECT_MULTI 1 +#define UI_FILEDIALOG_SELECT_FOLDER 2 + +typedef struct UiFileList { + char **files; + size_t nfiles; +} UiFileList; + UIEXPORT UiObject* ui_window(const char *title, void *window_data); UIEXPORT UiObject* ui_simplewindow(char *title, void *window_data); UIEXPORT void ui_window_size(UiObject *obj, int width, int height); -char* ui_openfiledialog(UiObject *obj); -char* ui_savefiledialog(UiObject *obj); +UIEXPORT void ui_openfiledialog(UiObject *obj, unsigned int mode, ui_callback file_selected_callback, void *cbdata); +UIEXPORT void ui_savefiledialog(UiObject *obj, unsigned int mode, ui_callback file_selected_callback, void *cbdata); #ifdef __cplusplus }