--- a/ui/win32/container.c Wed Oct 08 09:46:23 2025 +0200 +++ b/ui/win32/container.c Wed Oct 08 10:41:35 2025 +0200 @@ -28,6 +28,21 @@ #include "container.h" +#include "../common/context.h" + +UiContainerPrivate* ui_obj_container(UiObject *obj) { + return (UiContainerPrivate*)obj->container_end; +} + +HWND ui_container_get_parent(UiContainerPrivate *ctn) { + return ctn->parent ? ctn->parent(ctn) : ctn->hwnd; +} + +void ui_container_add(UiContainerPrivate *ctn, W32Widget *widget, UiLayout *layout) { + ctn->add(ctn, widget, layout); + ctn->container.newline = FALSE; +} + /* ---------------------------- Box Container ---------------------------- */ @@ -46,3 +61,19 @@ } +/* ---------------------------- Grid Container ---------------------------- */ + +UIWIDGET ui_grid_create(UiObject *obj, UiContainerArgs *args) { + return NULL; +} + +UiContainerX* ui_grid_container_create(UiObject *obj, HWND hwnd, short padding_top, short padding_bottom, short padding_left, short padding_right) { + UiGridLayoutContainer *container = cxZalloc(obj->ctx->allocator, sizeof(UiGridLayoutContainer)); + container->container.hwnd = hwnd; + container->container.add = ui_grid_container_add; + return (UiContainerX*)container; +} + +void ui_grid_container_add(UiContainerPrivate *ctn, W32Widget *widget, UiLayout *layout) { + // TODO +}