ui/gtk/container.c

branch
newapi
changeset 351
63db7e35e2e9
parent 350
70305d427f25
--- 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;

mercurial