--- 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);