ui/ui/window.h

branch
newapi
changeset 344
870dd3d41d83
parent 256
8874a68bafb0
child 346
a20213cb3d2f
--- a/ui/ui/window.h	Tue Oct 22 21:17:01 2024 +0200
+++ b/ui/ui/window.h	Wed Oct 23 14:52:18 2024 +0200
@@ -50,8 +50,32 @@
     void *resultdata;
 } UiDialogArgs;
 
+typedef struct UiDialogWindowArgs {
+    UiBool modal;
+    UiBool titlebar_buttons;
+    UiBool show_closebutton;
+    const char *title;
+    const char *lbutton1;
+    const char *lbutton2;
+    const char *rbutton3;
+    const char *rbutton4;
+    const int *lbutton1_groups;
+    const int *lbutton2_groups;
+    const int *rbutton3_groups;
+    const int *rbutton4_groups;
+    int default_button;
+    int width;
+    int height;
+    ui_callback onclick;
+    void *onclickdata;
+} UiDialogWindowArgs;
+
 UIEXPORT UiObject* ui_window(const char *title, void *window_data);
 UIEXPORT UiObject* ui_simple_window(const char *title, void *window_data);
+UIEXPORT UiObject* ui_dialog_window_create(UiObject *parent, UiDialogWindowArgs args);
+
+#define ui_dialog_window(parent, ...) ui_dialog_window_create(parent, (UiDialogWindowArgs){ __VA_ARGS__ });
+#define ui_dialog_window0(parent) ui_dialog_window_create(parent, (UiDialogWindowArgs){ 0 });
 
 UIEXPORT void ui_window_size(UiObject *obj, int width, int height);
 

mercurial