Sun, 07 Jun 2026 13:51:18 +0200
add app newwindow callback
| ui/common/app.c | file | annotate | diff | comparison | revisions | |
| ui/common/app.h | file | annotate | diff | comparison | revisions | |
| ui/ui/toolkit.h | file | annotate | diff | comparison | revisions |
--- a/ui/common/app.c Sun Jun 07 13:17:15 2026 +0200 +++ b/ui/common/app.c Sun Jun 07 13:51:18 2026 +0200 @@ -30,6 +30,8 @@ static ui_callback startup_func; static void *startup_data; +static ui_callback newwindow_func; +static void *newwindow_data; static ui_callback open_func; void *open_data; static ui_callback exit_func; @@ -41,6 +43,11 @@ startup_data = userdata; } +void ui_onnewwindow(ui_callback f, void *userdata) { + newwindow_func = f; + newwindow_data = userdata; +} + void ui_onopen(ui_callback f, void *userdata) { open_func = f; open_data = userdata; @@ -58,6 +65,12 @@ } } +void uic_application_newwindow(UiEvent *event) { + if(newwindow_func) { + newwindow_func(event, newwindow_data); + } +} + void uic_application_open(UiEvent *event) { if(open_func) { open_func(event, open_data); @@ -69,3 +82,7 @@ exit_func(event, exit_data); } } + +void ui_newwindow(void) { + uic_application_newwindow(NULL); +}
--- a/ui/common/app.h Sun Jun 07 13:17:15 2026 +0200 +++ b/ui/common/app.h Sun Jun 07 13:51:18 2026 +0200 @@ -36,6 +36,7 @@ #endif void uic_application_startup(UiEvent *event); +void uic_application_newwindow(UiEvent *event); void uic_application_open(UiEvent *event); void uic_application_exit(UiEvent *event);
--- a/ui/ui/toolkit.h Sun Jun 07 13:17:15 2026 +0200 +++ b/ui/ui/toolkit.h Sun Jun 07 13:51:18 2026 +0200 @@ -545,9 +545,12 @@ UIEXPORT int ui_object_unref(UiObject *obj); UIEXPORT void ui_onstartup(ui_callback f, void *userdata); +UIEXPORT void ui_onnewwindow(ui_callback f, void *userdata); UIEXPORT void ui_onopen(ui_callback f, void *userdata); UIEXPORT void ui_onexit(ui_callback f, void *userdata); +UIEXPORT void ui_newwindow(void); + UIEXPORT int ui_app_save_settings(void); UIEXPORT void ui_app_exit_on_shutdown(UiBool exitapp);