ui/ui/window.h

branch
newapi
changeset 250
d2068517fbdd
parent 244
33c0a3797a0d
child 252
7d176764756d
--- a/ui/ui/window.h	Fri Feb 09 16:52:11 2024 +0100
+++ b/ui/ui/window.h	Sun Feb 11 12:29:30 2024 +0100
@@ -39,11 +39,25 @@
 #define UI_FILEDIALOG_SELECT_MULTI        1
 #define UI_FILEDIALOG_SELECT_FOLDER       2
 
+typedef struct UiDialogArgs {
+    const char *title;
+    const char *content;
+    const char *button1_label;
+    const char *button2_label;
+    const char *closebutton_label;
+    ui_callback result;
+    void *resultdata;
+} UiDialogArgs;
+
 UIEXPORT UiObject* ui_window(const char *title, void *window_data);
 UIEXPORT UiObject* ui_simple_window(const char *title, void *window_data);
 
 UIEXPORT void ui_window_size(UiObject *obj, int width, int height);
 
+#define ui_dialog(parent, ...) ui_dialog_create(parent, (UiDialogArgs){ __VA_ARGS__ } )
+
+UIEXPORT void ui_dialog_create(UiObject *parent, UiDialogArgs args);
+
 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);
 

mercurial