--- a/ui/ui/container.h Sun Sep 24 12:03:57 2023 +0200 +++ b/ui/ui/container.h Sun Oct 01 09:23:47 2023 +0200 @@ -34,7 +34,8 @@ #ifdef __cplusplus extern "C" { #endif - + + #define UI_CTN(obj, ctn) for(ctn;ui_container_finish(obj);ui_container_begin_close(obj)) #define UI_VBOX(obj) for(ui_vbox(obj);ui_container_finish(obj);ui_container_begin_close(obj)) #define UI_HBOX(obj) for(ui_hbox(obj);ui_container_finish(obj);ui_container_begin_close(obj)) @@ -43,6 +44,7 @@ #define UI_GRID(obj) for(ui_grid(obj);ui_container_finish(obj);ui_container_begin_close(obj)) #define UI_GRID_SP(obj, margin, columnspacing, rowspacing) for(ui_grid_sp(obj,margin,columnspacing,rowspacing);ui_container_finish(obj);ui_container_begin_close(obj)) + void ui_end(UiObject *obj); UIWIDGET ui_vbox(UiObject *obj); @@ -70,7 +72,9 @@ void ui_layout_hexpand(UiObject *obj, UiBool expand); void ui_layout_vexpand(UiObject *obj, UiBool expand); void ui_layout_width(UiObject *obj, int width); -void ui_layout_gridwidth(UiObject *obj, int width); +void ui_layout_height(UiObject* obj, int width); +void ui_layout_colspan(UiObject *obj, int cols); +void ui_layout_rowspan(UiObject* obj, int rows); void ui_newline(UiObject *obj); @@ -83,6 +87,13 @@ void ui_container_begin_close(UiObject *obj); int ui_container_finish(UiObject *obj); +#define UI_APPLY_LAYOUT1(obj, args) \ + if(args.fill != UI_DEFAULT) ui_layout_fill(obj, args.fill == UI_ON ? 1 : 0 ); \ + if(args.hexpand) ui_layout_hexpand(obj, 1); \ + if(args.vexpand) ui_layout_vexpand(obj, 1); \ + if(args.colspan > 0) ui_layout_colspan(obj, args.colspan); \ + if(args.rowspan > 0) ui_layout_rowspan(obj, args.rowspan); + #ifdef __cplusplus }