--- a/ui/ui/container.h Mon Oct 02 09:22:52 2023 +0200 +++ b/ui/ui/container.h Mon Oct 02 10:10:09 2023 +0200 @@ -35,6 +35,12 @@ extern "C" { #endif +typedef enum UiSubContainerType { + UI_CONTAINER_VBOX = 0, + UI_CONTAINER_HBOX, + UI_CONTAINER_GRID +} UiSubContainerType; + typedef struct UiContainerArgs { UiTri fill; UiBool hexpand; @@ -55,22 +61,33 @@ int colspan; int rowspan; + UiSubContainerType subcontainer; + + int margin; + int spacing; + int columnspacing; + int rowspacing; + const char* label; + UiBool isexpanded; } UiFrameArgs; + #define UI_CTN(obj, ctn) for(ctn;ui_container_finish(obj);ui_container_begin_close(obj)) #define ui_vbox(obj, ...) for(ui_vbox_create(obj, (UiContainerArgs){ __VA_ARGS__ });ui_container_finish(obj);ui_container_begin_close(obj)) #define ui_hbox(obj, ...) for(ui_hbox_create(obj, (UiContainerArgs){ __VA_ARGS__ });ui_container_finish(obj);ui_container_begin_close(obj)) #define ui_grid(obj, ...) for(ui_grid_create(obj, (UiContainerArgs){ __VA_ARGS__ });ui_container_finish(obj);ui_container_begin_close(obj)) #define ui_frame(obj, ...) for(ui_frame_create(obj, (UiFrameArgs){ __VA_ARGS__ });ui_container_finish(obj);ui_container_begin_close(obj)) -#define ui_scrolledwindow(obj, ...) for(ui_scrolledwindow_create(obj, (UiContainerArgs){ __VA_ARGS__ });ui_container_finish(obj);ui_container_begin_close(obj)) +#define ui_expander(obj, ...) for(ui_expander_create(obj, (UiFrameArgs){ __VA_ARGS__ });ui_container_finish(obj);ui_container_begin_close(obj)) +#define ui_scrolledwindow(obj, ...) for(ui_scrolledwindow_create(obj, (UiFrameArgs){ __VA_ARGS__ });ui_container_finish(obj);ui_container_begin_close(obj)) #define ui_vbox0(obj) for(ui_vbox_create(obj, (UiContainerArgs){ 0 });ui_container_finish(obj);ui_container_begin_close(obj)) #define ui_hbox0(obj) for(ui_hbox_create(obj, (UiContainerArgs){ 0 });ui_container_finish(obj);ui_container_begin_close(obj)) #define ui_grid0(obj) for(ui_grid_create(obj, (UiContainerArgs){ 0 });ui_container_finish(obj);ui_container_begin_close(obj)) #define ui_frame0(obj) for(ui_frame_create(obj, (UiFrameArgs){ 0 });ui_container_finish(obj);ui_container_begin_close(obj)) -#define ui_scrolledwindow0(obj) for(ui_scrolledwindow_create(obj, (UiContainerArgs){ 0 });ui_container_finish(obj);ui_container_begin_close(obj)) +#define ui_expander0(obj) for(ui_expande_create(obj, (UiFrameArgs){ 0 });ui_container_finish(obj);ui_container_begin_close(obj)) +#define ui_scrolledwindow0(obj) for(ui_scrolledwindow_create(obj, (UiFrameArgs){ 0 });ui_container_finish(obj);ui_container_begin_close(obj)) void ui_end(UiObject *obj); @@ -78,7 +95,8 @@ UIWIDGET ui_hbox_create(UiObject *obj, UiContainerArgs args); UIWIDGET ui_grid_create(UiObject *obj, UiContainerArgs args); UIWIDGET ui_frame_create(UiObject* obj, UiFrameArgs args); -UIWIDGET ui_scrolledwindow_create(UiObject* obj, UiContainerArgs args); +UIWIDGET ui_expander_create(UiObject* obj, UiFrameArgs args); +UIWIDGET ui_scrolledwindow_create(UiObject* obj, UiFrameArgs args); UIWIDGET ui_scrolledwindow_deprecated(UiObject *obj);