Thu, 11 Dec 2025 20:07:16 +0100
remove window data arg
| application/demo_bindings.c | file | annotate | diff | comparison | revisions | |
| application/main.c | file | annotate | diff | comparison | revisions | |
| client/main.c | file | annotate | diff | comparison | revisions | |
| client/uiclient.c | file | annotate | diff | comparison | revisions | |
| ui/cocoa/window.m | file | annotate | diff | comparison | revisions | |
| ui/gtk/window.c | file | annotate | diff | comparison | revisions | |
| ui/motif/window.c | file | annotate | diff | comparison | revisions | |
| ui/qt/window.cpp | file | annotate | diff | comparison | revisions | |
| ui/server/window.c | file | annotate | diff | comparison | revisions | |
| ui/ui/window.h | file | annotate | diff | comparison | revisions | |
| ui/win32/window.c | file | annotate | diff | comparison | revisions | |
| ui/winui/window.cpp | file | annotate | diff | comparison | revisions |
--- a/application/demo_bindings.c Thu Dec 11 19:52:44 2025 +0100 +++ b/application/demo_bindings.c Thu Dec 11 20:07:16 2025 +0100 @@ -121,7 +121,7 @@ } void application_startup(UiEvent *event, void *data) { - UiObject *obj = ui_simple_window("Bindings Demo", NULL); + UiObject *obj = ui_simple_window("Bindings Demo"); MainWindow *wdata = ui_malloc(obj->ctx, sizeof(MainWindow)); obj->window = wdata;
--- a/application/main.c Thu Dec 11 19:52:44 2025 +0100 +++ b/application/main.c Thu Dec 11 20:07:16 2025 +0100 @@ -122,7 +122,7 @@ } void application_startup(UiEvent *event, void *data) { - UiObject *obj = ui_window("Test", NULL); + UiObject *obj = ui_window("Test"); ui_grid(obj, .margin = 10, .columnspacing = 10, .rowspacing = 10) { ui_hbox(obj, .colspan = 2, .spacing = 10) { @@ -293,7 +293,7 @@ } void action_toolbar_newwindow(UiEvent *event, void *userdata) { - UiObject *obj = ui_simple_window("New Window", NULL); + UiObject *obj = ui_simple_window("New Window"); ui_headerbar0(obj) { ui_headerbar_start(obj) { @@ -440,7 +440,7 @@ } void action_toolbar_unrefwindow(UiEvent *event, void *userdata) { - UiObject *obj = ui_simple_window("Unref", NULL); + UiObject *obj = ui_simple_window("Unref"); ui_grid(obj, .margin = 20) { ui_button(obj, .label = "Unref", .onclick = action_button_unref, .onclickdata = ref_window); } @@ -1014,7 +1014,7 @@ ui_list_append(menulist, "Item 3"); ui_list_append(menulist, "Item 4"); - UiObject *obj = ui_window("Test", NULL); + UiObject *obj = ui_window("Test"); WData *wdata = ui_malloc(obj->ctx, sizeof(WData)); wdata->path = ui_string_new(obj->ctx, NULL); @@ -1120,7 +1120,7 @@ } void application_startup(UiEvent *event, void *data) { - UiObject *obj = ui_window("My Window", NULL); + UiObject *obj = ui_window("My Window"); UiList *list = ui_list_new(obj->ctx, "mylist"); ui_list_append(list, "Entry 1"); @@ -1244,7 +1244,7 @@ } void application_startup(UiEvent *event, void *data) { - UiObject *obj = ui_window("Test w32", NULL); + UiObject *obj = ui_window("Test w32"); UiList *list = ui_list_new(obj->ctx, "persons"); ui_list_append(list, &person1); @@ -1291,7 +1291,7 @@ #ifdef UI_SERVER void application_startup(UiEvent *event, void *userdata) { - UiObject *obj = ui_window("Test", NULL); + UiObject *obj = ui_window("Test"); ui_button(obj, .label = "Button"); ui_show(obj); }
--- a/client/main.c Thu Dec 11 19:52:44 2025 +0100 +++ b/client/main.c Thu Dec 11 20:07:16 2025 +0100 @@ -105,7 +105,7 @@ void application_onstartup(UiEvent *event, void *userdata) { // We need at least one window for the event loop to work. // Create a debug window, that is invisible by default - debug_window = ui_simple_window("debug", NULL); + debug_window = ui_simple_window("debug"); // TODO: debug UI if(test_mode) { @@ -145,7 +145,7 @@ } void testwindow_create(void) { - UiObject *obj = ui_simple_window("Test", NULL); + UiObject *obj = ui_simple_window("Test"); ui_context_closefunc(obj->ctx, testwindow_close, NULL); ui_window_size(obj, 1800, 1400);
--- a/client/uiclient.c Thu Dec 11 19:52:44 2025 +0100 +++ b/client/uiclient.c Thu Dec 11 20:07:16 2025 +0100 @@ -206,9 +206,9 @@ UiObject *obj; if(!cx_strcmp(type, "window")) { - obj = ui_window(title.ptr, NULL); + obj = ui_window(title.ptr); } else if(!cx_strcmp(type, "sidebar_window")) { - obj = ui_sidebar_window(title.ptr, NULL); + obj = ui_sidebar_window(title.ptr); } else if(!cx_strcmp(type, "splitview_window")) { int err; bool sidebar = jsonobj_getbool(value, "sidebar", &err); @@ -217,7 +217,7 @@ } obj = ui_splitview_window(title.ptr, sidebar); } else if(!cx_strcmp(type, "simple_window")) { - obj = ui_simple_window(title.ptr, NULL); + obj = ui_simple_window(title.ptr); } client_add_obj_mapping(obj, obj_id);
--- a/ui/cocoa/window.m Thu Dec 11 19:52:44 2025 +0100 +++ b/ui/cocoa/window.m Thu Dec 11 20:07:16 2025 +0100 @@ -67,21 +67,18 @@ return obj; } -UiObject* ui_window(const char *title, void *window_data) { +UiObject* ui_window(const char *title) { UiObject *obj = create_window(title, FALSE, FALSE, FALSE); - obj->window = window_data; return obj; } -UiObject* ui_simple_window(const char *title, void *window_data) { +UiObject* ui_simple_window(const char *title) { UiObject *obj = create_window(title, TRUE, FALSE, FALSE); - obj->window = window_data; return obj; } -UiObject* ui_sidebar_window(const char *title, void *window_data) { +UiObject* ui_sidebar_window(const char *title) { UiObject *obj = create_window(title, FALSE, TRUE, FALSE); - obj->window = window_data; return obj; }
--- a/ui/gtk/window.c Thu Dec 11 19:52:44 2025 +0100 +++ b/ui/gtk/window.c Thu Dec 11 20:07:16 2025 +0100 @@ -142,7 +142,7 @@ ui_set_property("ui.window.splitview.pos", buf); } -static UiObject* create_window(const char *title, void *window_data, UiBool sidebar, UiBool splitview, UiBool simple) { +static UiObject* create_window(const char *title, UiBool sidebar, UiBool splitview, UiBool simple) { UiObject *obj = uic_object_new_toplevel(); #ifdef UI_LIBADWAITA @@ -153,8 +153,6 @@ obj->widget = gtk_window_new(GTK_WINDOW_TOPLEVEL); #endif - obj->window = window_data; - #if GTK_CHECK_VERSION(4, 0, 0) obj->ctx->action_map = G_ACTION_MAP(obj->widget); #endif @@ -394,20 +392,20 @@ } -UiObject* ui_window(const char *title, void *window_data) { - return create_window(title, window_data, FALSE, FALSE, FALSE); +UiObject* ui_window(const char *title) { + return create_window(title, FALSE, FALSE, FALSE); } -UiObject *ui_sidebar_window(const char *title, void *window_data) { - return create_window(title, window_data, TRUE, FALSE, FALSE); +UiObject *ui_sidebar_window(const char *title) { + return create_window(title, TRUE, FALSE, FALSE); } UiObject *ui_splitview_window(const char *title, UiBool sidebar) { - return create_window(title, NULL, sidebar, TRUE, FALSE); + return create_window(title, sidebar, TRUE, FALSE); } -UiObject* ui_simple_window(const char *title, void *window_data) { - return create_window(title, window_data, FALSE, FALSE, TRUE); +UiObject* ui_simple_window(const char *title) { + return create_window(title, FALSE, FALSE, TRUE); } void ui_window_size(UiObject *obj, int width, int height) {
--- a/ui/motif/window.c Thu Dec 11 19:52:44 2025 +0100 +++ b/ui/motif/window.c Thu Dec 11 20:07:16 2025 +0100 @@ -74,11 +74,10 @@ } -static UiObject* create_window(const char *title, void *window_data, Boolean simple) { +static UiObject* create_window(const char *title, Boolean simple) { CxMempool *mp = cxMempoolCreateSimple(256); const CxAllocator *a = mp->allocator; UiObject *obj = uic_object_new_toplevel(); - obj->window = window_data; obj->destroy = ui_window_widget_destroy; int window_width = window_default_width; @@ -151,12 +150,12 @@ return obj; } -UiObject* ui_window(const char *title, void *window_data) { - return create_window(title, window_data, FALSE); +UiObject* ui_window(const char *title) { + return create_window(title, FALSE); } -UiObject* ui_simple_window(const char *title, void *window_data) { - return create_window(title, window_data, TRUE); +UiObject* ui_simple_window(const char *title) { + return create_window(title, TRUE); } void ui_window_size(UiObject *obj, int width, int height) {
--- a/ui/qt/window.cpp Thu Dec 11 19:52:44 2025 +0100 +++ b/ui/qt/window.cpp Thu Dec 11 20:07:16 2025 +0100 @@ -41,9 +41,8 @@ #include <QDockWidget> #include <QMessageBox> -static UiObject* create_window(const char *title, void *window_data, bool simple, bool sidebar = false) { +static UiObject* create_window(const char *title, bool simple, bool sidebar = false) { UiObject *obj = uic_object_new_toplevel(); - obj->window = window_data; obj->next = NULL; QMainWindow *window = new QMainWindow(); @@ -73,16 +72,16 @@ return obj; } -UiObject* ui_window(const char *title, void *window_data) { - return create_window(title, window_data, false); +UiObject* ui_window(const char *title) { + return create_window(title, false); } -UiObject* ui_simple_window(const char *title, void *window_data) { - return create_window(title, window_data, true); +UiObject* ui_simple_window(const char *title) { + return create_window(title, true); } -UiObject* ui_sidebar_window(const char *title, void *window_data) { - return create_window(title, window_data, false, true); +UiObject* ui_sidebar_window(const char *title) { + return create_window(title, false, true); } void ui_dialog_create(UiObject *parent, UiDialogArgs *args) {
--- a/ui/server/window.c Thu Dec 11 19:52:44 2025 +0100 +++ b/ui/server/window.c Thu Dec 11 20:07:16 2025 +0100 @@ -51,11 +51,11 @@ return obj; } -UiObject *ui_window(const char *title, void *window_data) { +UiObject *ui_window(const char *title) { return create_window(title, FALSE, FALSE, FALSE); } -UiObject *ui_sidebar_window(const char *title, void *window_data) { +UiObject *ui_sidebar_window(const char *title) { return create_window(title, FALSE, TRUE, FALSE); } @@ -63,7 +63,7 @@ return create_window(title, FALSE, sidebar, TRUE); } -UiObject *ui_simple_window(const char *title, void *window_data) { +UiObject *ui_simple_window(const char *title) { return create_window(title, TRUE, FALSE, FALSE); }
--- a/ui/ui/window.h Thu Dec 11 19:52:44 2025 +0100 +++ b/ui/ui/window.h Thu Dec 11 20:07:16 2025 +0100 @@ -72,10 +72,10 @@ void *onclickdata; } UiDialogWindowArgs; -UIEXPORT UiObject *ui_window(const char *title, void *window_data); -UIEXPORT UiObject *ui_sidebar_window(const char *title, void *window_data); +UIEXPORT UiObject *ui_window(const char *title); +UIEXPORT UiObject *ui_sidebar_window(const char *title); UIEXPORT UiObject *ui_splitview_window(const char *title, UiBool sidebar); -UIEXPORT UiObject *ui_simple_window(const char *title, void *window_data); +UIEXPORT UiObject *ui_simple_window(const char *title); UIEXPORT UiObject *ui_dialog_window_create(UiObject *parent, UiDialogWindowArgs *args); #define ui_dialog_window(parent, ...) ui_dialog_window_create(parent, &(UiDialogWindowArgs){ __VA_ARGS__ });
--- a/ui/win32/window.c Thu Dec 11 19:52:44 2025 +0100 +++ b/ui/win32/window.c Thu Dec 11 20:07:16 2025 +0100 @@ -55,9 +55,9 @@ void ui_window_init(void) { - hInstance = GetModuleHandle(NULL); - - WNDCLASSEX wc = { sizeof(WNDCLASSEX) }; + hInstance = GetModuleHandle(NULL); + + WNDCLASSEX wc = { sizeof(WNDCLASSEX) }; wc.lpfnWndProc = ui_default_eventproc; wc.hInstance = hInstance; wc.lpszClassName = mainWindowClass; @@ -70,60 +70,59 @@ } } -static UiObject* create_window(const char *title, void *window_data, bool simple) { +static UiObject* create_window(const char *title, bool simple) { UiObject *obj = uic_object_new_toplevel(); - obj->window = window_data; - HWND hwnd = CreateWindowExA( - 0, - "UiMainWindow", - title, - WS_OVERLAPPEDWINDOW, + HWND hwnd = CreateWindowExA( + 0, + "UiMainWindow", + title, + WS_OVERLAPPEDWINDOW, + CW_USEDEFAULT, CW_USEDEFAULT, - CW_USEDEFAULT, - 800, - 600, + 800, + 600, + NULL, NULL, - NULL, - hInstance, - NULL); + hInstance, + NULL); - if (!simple) { - HMENU menubar = ui_create_main_menu(obj); - if (menubar) { - SetMenu(hwnd, menubar); - } - } + if (!simple) { + HMENU menubar = ui_create_main_menu(obj); + if (menubar) { + SetMenu(hwnd, menubar); + } + } UpdateWindow(hwnd); - UiContainerX *container = ui_box_container_create(obj, hwnd, UI_BOX_VERTICAL, 0, INSETS_ZERO); - uic_object_push_container(obj, container); - UiBoxContainer *box = (UiBoxContainer*)container; + UiContainerX *container = ui_box_container_create(obj, hwnd, UI_BOX_VERTICAL, 0, INSETS_ZERO); + uic_object_push_container(obj, container); + UiBoxContainer *box = (UiBoxContainer*)container; - UiWindow *widget = w32_widget_create(&w32_toplevel_widget_class, hwnd, sizeof(UiWindow)); - widget->obj = obj; - widget->widget.layout = (W32LayoutFunc)ui_grid_layout; - widget->widget.layoutmanager = box->layout; - obj->widget = (W32Widget*)widget; - obj->ref = 1; + UiWindow *widget = w32_widget_create(&w32_toplevel_widget_class, hwnd, sizeof(UiWindow)); + widget->obj = obj; + widget->widget.layout = (W32LayoutFunc)ui_grid_layout; + widget->widget.layoutmanager = box->layout; + obj->widget = (W32Widget*)widget; + obj->ref = 1; - return obj; + return obj; } -UiObject *ui_window(const char *title, void *window_data) { - return create_window(title, window_data, FALSE); +UiObject *ui_window(const char *title) { + return create_window(title, window_data, FALSE); } -UiObject *ui_simple_window(const char *title, void *window_data) { - return create_window(title, window_data, TRUE); +UiObject *ui_simple_window(const char *title) { + return create_window(title, window_data, TRUE); } int ui_window_widget_event(W32Widget *widget, HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { - //UiWindow *window = (UiWindow*)widget; - return 0; + //UiWindow *window = (UiWindow*)widget; + return 0; } void ui_window_widget_show(W32Widget *w, BOOLEAN show) { - ShowWindow(w->hwnd, show ? SW_SHOWNORMAL : SW_HIDE); + ShowWindow(w->hwnd, show ? SW_SHOWNORMAL : SW_HIDE); }
--- a/ui/winui/window.cpp Thu Dec 11 19:52:44 2025 +0100 +++ b/ui/winui/window.cpp Thu Dec 11 20:07:16 2025 +0100 @@ -68,89 +68,88 @@ obj->wobj->window.Close(); } -UiObject* ui_window(const char* title, void* window_data) { - UiObject* obj = ui_simple_window(title, window_data); +UiObject* ui_window(const char* title) { + UiObject* obj = ui_simple_window(title); - /* - if (uic_get_menu_list()) { - // create/add menubar - MenuBar mb = ui_create_menubar(obj); - mb.VerticalAlignment(VerticalAlignment::Top); - obj->container->Add(mb, false); - } - */ + /* + if (uic_get_menu_list()) { + // create/add menubar + MenuBar mb = ui_create_menubar(obj); + mb.VerticalAlignment(VerticalAlignment::Top); + obj->container->Add(mb, false); + } + */ - if (uic_toolbar_isenabled()) { - // create a grid for the toolbar: ColumnDefinitions="Auto, *, Auto" - Grid toolbar_grid = Grid(); - GridLength gl; - gl.Value = 0; - gl.GridUnitType = GridUnitType::Auto; + if (uic_toolbar_isenabled()) { + // create a grid for the toolbar: ColumnDefinitions="Auto, *, Auto" + Grid toolbar_grid = Grid(); + GridLength gl; + gl.Value = 0; + gl.GridUnitType = GridUnitType::Auto; - ColumnDefinition coldef0 = ColumnDefinition(); - coldef0.Width(gl); - toolbar_grid.ColumnDefinitions().Append(coldef0); + ColumnDefinition coldef0 = ColumnDefinition(); + coldef0.Width(gl); + toolbar_grid.ColumnDefinitions().Append(coldef0); - gl.Value = 1; - gl.GridUnitType = GridUnitType::Star; - ColumnDefinition coldef1 = ColumnDefinition(); - coldef1.Width(gl); - toolbar_grid.ColumnDefinitions().Append(coldef1); + gl.Value = 1; + gl.GridUnitType = GridUnitType::Star; + ColumnDefinition coldef1 = ColumnDefinition(); + coldef1.Width(gl); + toolbar_grid.ColumnDefinitions().Append(coldef1); - gl.Value = 0; - gl.GridUnitType = GridUnitType::Auto; - ColumnDefinition coldef2 = ColumnDefinition(); - coldef2.Width(gl); - toolbar_grid.ColumnDefinitions().Append(coldef2); + gl.Value = 0; + gl.GridUnitType = GridUnitType::Auto; + ColumnDefinition coldef2 = ColumnDefinition(); + coldef2.Width(gl); + toolbar_grid.ColumnDefinitions().Append(coldef2); - // rowdef - gl.Value = 0; - gl.GridUnitType = GridUnitType::Auto; - RowDefinition rowdef = RowDefinition(); - rowdef.Height(gl); - toolbar_grid.RowDefinitions().Append(rowdef); + // rowdef + gl.Value = 0; + gl.GridUnitType = GridUnitType::Auto; + RowDefinition rowdef = RowDefinition(); + rowdef.Height(gl); + toolbar_grid.RowDefinitions().Append(rowdef); - // create commandbar - CxList* def_l = uic_get_toolbar_defaults(UI_TOOLBAR_LEFT); - CxList* def_c = uic_get_toolbar_defaults(UI_TOOLBAR_CENTER); - CxList* def_r = uic_get_toolbar_defaults(UI_TOOLBAR_RIGHT); + // create commandbar + CxList* def_l = uic_get_toolbar_defaults(UI_TOOLBAR_LEFT); + CxList* def_c = uic_get_toolbar_defaults(UI_TOOLBAR_CENTER); + CxList* def_r = uic_get_toolbar_defaults(UI_TOOLBAR_RIGHT); - bool addappmenu = true; - if (cxListSize(def_r) > 0) { - CommandBar toolbar_r = ui_create_toolbar(obj, def_r, addappmenu); - toolbar_grid.SetColumn(toolbar_r, 2); - toolbar_grid.SetRow(toolbar_r, 0); - toolbar_grid.Children().Append(toolbar_r); - addappmenu = false; - } - if (cxListSize(def_c) > 0) { - CommandBar toolbar_c = ui_create_toolbar(obj, def_c, addappmenu); - toolbar_c.HorizontalAlignment(HorizontalAlignment::Center); - toolbar_grid.SetColumn(toolbar_c, 1); - toolbar_grid.SetRow(toolbar_c, 0); - toolbar_grid.Children().Append(toolbar_c); - addappmenu = false; - } - if (cxListSize(def_l) > 0) { - CommandBar toolbar_l = ui_create_toolbar(obj, def_l, addappmenu); - toolbar_grid.SetColumn(toolbar_l, 0); - toolbar_grid.SetRow(toolbar_l, 0); - toolbar_grid.Children().Append(toolbar_l); - } + bool addappmenu = true; + if (cxListSize(def_r) > 0) { + CommandBar toolbar_r = ui_create_toolbar(obj, def_r, addappmenu); + toolbar_grid.SetColumn(toolbar_r, 2); + toolbar_grid.SetRow(toolbar_r, 0); + toolbar_grid.Children().Append(toolbar_r); + addappmenu = false; + } + if (cxListSize(def_c) > 0) { + CommandBar toolbar_c = ui_create_toolbar(obj, def_c, addappmenu); + toolbar_c.HorizontalAlignment(HorizontalAlignment::Center); + toolbar_grid.SetColumn(toolbar_c, 1); + toolbar_grid.SetRow(toolbar_c, 0); + toolbar_grid.Children().Append(toolbar_c); + addappmenu = false; + } + if (cxListSize(def_l) > 0) { + CommandBar toolbar_l = ui_create_toolbar(obj, def_l, addappmenu); + toolbar_grid.SetColumn(toolbar_l, 0); + toolbar_grid.SetRow(toolbar_l, 0); + toolbar_grid.Children().Append(toolbar_l); + } - toolbar_grid.VerticalAlignment(VerticalAlignment::Top); - obj->container->Add(toolbar_grid, false); - } + toolbar_grid.VerticalAlignment(VerticalAlignment::Top); + obj->container->Add(toolbar_grid, false); + } - return obj; + return obj; } -UIEXPORT UiObject* ui_simple_window(const char *title, void *window_data) { +UIEXPORT UiObject* ui_simple_window(const char *title) { UiObject* obj = uic_object_new_toplevel(); obj->ctx = uic_context(obj, mp); - obj->window = window_data; Window window = Window(); //Window window = make<winui::implementation::MainWindow>();