diff -r 70305d427f25 -r 63db7e35e2e9 ui/gtk/container.c --- a/ui/gtk/container.c Fri Oct 25 15:37:02 2024 +0200 +++ b/ui/gtk/container.c Fri Oct 25 15:44:39 2024 +0200 @@ -329,7 +329,40 @@ current->container->add(current->container, widget, TRUE); UiObject *newobj = uic_object_new(obj, sw); - newobj->container = ui_scrolledwindow_container(obj, sw); + GtkWidget *sub; + switch(args.subcontainer) { + default: { + sub = ui_gtk_vbox_new(args.spacing); + GtkWidget *widget = ui_box_set_margin(sub, args.margin); + SCROLLEDWINDOW_SET_CHILD(sw, widget); + + newobj->container = ui_box_container(newobj, sub, args.subcontainer); + break; + } + case UI_CONTAINER_HBOX: { + sub = ui_gtk_hbox_new(args.spacing); + GtkWidget *widget = ui_box_set_margin(sub, args.margin); + SCROLLEDWINDOW_SET_CHILD(sw, widget); + + newobj->container = ui_box_container(newobj, sub, args.subcontainer); + break; + } + case UI_CONTAINER_GRID: { + sub = ui_create_grid_widget(args.columnspacing, args.rowspacing); + GtkWidget *widget = ui_box_set_margin(sub, args.margin); + SCROLLEDWINDOW_SET_CHILD(sw, widget); + + newobj->container = ui_grid_container(newobj, sub); + break; + } + case UI_CONTAINER_NO_SUB: { + sub = sw; + newobj->container = ui_scrolledwindow_container(obj, sw); + } + } + newobj->widget = sub; + + uic_obj_add(obj, newobj); return sw;