ui/ui/container.h

branch
newapi
changeset 195
0f2e69873875
parent 194
e2281ace0769
child 198
f2332d0d3318
--- 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);

mercurial