ui/gtk/container.h

changeset 108
77254bd6dccb
parent 103
6606616eca9f
child 110
c00e968d018b
--- a/ui/gtk/container.h	Sat Apr 05 17:57:04 2025 +0200
+++ b/ui/gtk/container.h	Sun Jul 20 22:04:39 2025 +0200
@@ -44,23 +44,15 @@
 #endif
   
 #define ui_reset_layout(layout) memset(&(layout), 0, sizeof(UiLayout))
-#define ui_lb2bool(b) ((b) == UI_LAYOUT_TRUE ? TRUE : FALSE)
-#define ui_bool2lb(b) ((b) ? UI_LAYOUT_TRUE : UI_LAYOUT_FALSE)
     
-typedef void (*ui_container_add_f)(UiContainer*, GtkWidget*, UiBool);
+typedef void (*ui_container_add_f)(UiContainer*, GtkWidget*);
 
 typedef struct UiDocumentView UiDocumentView;
 
 
-typedef enum UiLayoutBool {
-    UI_LAYOUT_UNDEFINED = 0,
-    UI_LAYOUT_TRUE,
-    UI_LAYOUT_FALSE,
-} UiLayoutBool;
-
 typedef struct UiLayout UiLayout;
 struct UiLayout {
-    UiLayoutBool fill;
+    UiBool       fill;
     UiBool       newline;
     char         *label;
     UiBool       hexpand;
@@ -78,7 +70,7 @@
     UIMENU menu;
     GtkWidget *current;
     
-    void (*add)(UiContainer*, GtkWidget*, UiBool);
+    void (*add)(UiContainer*, GtkWidget*);
     UiLayout layout;
     
     int close;
@@ -122,6 +114,8 @@
     int spacing;
     int columnspacing;
     int rowspacing;
+    ui_callback onchange;
+    void *onchangedata;
 } UiGtkTabView;
 
 
@@ -170,13 +164,13 @@
         int margin);
 
 UiContainer* ui_frame_container(UiObject *obj, GtkWidget *frame);
-void ui_frame_container_add(UiContainer *ct, GtkWidget *widget, UiBool fill);
+void ui_frame_container_add(UiContainer *ct, GtkWidget *widget);
 
 GtkWidget* ui_box_set_margin(GtkWidget *box, int margin);
-UIWIDGET ui_box_create(UiObject *obj, UiContainerArgs args, UiSubContainerType type);
+UIWIDGET ui_box_create(UiObject *obj, UiContainerArgs *args, UiSubContainerType type);
 
 UiContainer* ui_box_container(UiObject *obj, GtkWidget *box, UiSubContainerType type);
-void ui_box_container_add(UiContainer *ct, GtkWidget *widget, UiBool fill);
+void ui_box_container_add(UiContainer *ct, GtkWidget *widget);
 
 GtkWidget* ui_create_grid_widget(int colspacing, int rowspacing);
 UiContainer* ui_grid_container(
@@ -186,22 +180,22 @@
         UiBool def_vexpand,
         UiBool def_hfill,
         UiBool def_vfill);
-void ui_grid_container_add(UiContainer *ct, GtkWidget *widget, UiBool fill);
+void ui_grid_container_add(UiContainer *ct, GtkWidget *widget);
 
 UiContainer* ui_frame_container(UiObject *obj, GtkWidget *frame);
-void ui_frame_container_add(UiContainer *ct, GtkWidget *widget, UiBool fill);
+void ui_frame_container_add(UiContainer *ct, GtkWidget *widget);
 
 UiContainer* ui_expander_container(UiObject *obj, GtkWidget *expander);
-void ui_expander_container_add(UiContainer *ct, GtkWidget *widget, UiBool fill);
+void ui_expander_container_add(UiContainer *ct, GtkWidget *widget);
 
 UiContainer* ui_scrolledwindow_container(UiObject *obj, GtkWidget *scrolledwindow);
-void ui_scrolledwindow_container_add(UiContainer *ct, GtkWidget *widget, UiBool fill);
+void ui_scrolledwindow_container_add(UiContainer *ct, GtkWidget *widget);
 
 UiContainer* ui_tabview_container(UiObject *obj, GtkWidget *tabview);
-void ui_tabview_container_add(UiContainer *ct, GtkWidget *widget, UiBool fill);
+void ui_tabview_container_add(UiContainer *ct, GtkWidget *widget);
 
 UiContainer* ui_splitpane_container(UiObject *obj, GtkWidget *pane, UiOrientation orientation, int max, int init);
-void ui_splitpane_container_add(UiContainer *ct, GtkWidget *widget, UiBool fill);
+void ui_splitpane_container_add(UiContainer *ct, GtkWidget *widget);
 
 
 UiGtkTabView* ui_widget_get_tabview_data(UIWIDGET tabview);
@@ -210,11 +204,11 @@
 
 #if GTK_CHECK_VERSION(3, 10, 0)
 UiContainer* ui_headerbar_container(UiObject *obj, GtkWidget *headerbar);
-void ui_headerbar_container_add(UiContainer *ct, GtkWidget *widget, UiBool fill);
+void ui_headerbar_container_add(UiContainer *ct, GtkWidget *widget);
 #endif
 
 UiContainer* ui_headerbar_fallback_container(UiObject *obj, GtkWidget *headerbar);
-void ui_headerbar_fallback_container_add(UiContainer *ct, GtkWidget *widget, UiBool fill);
+void ui_headerbar_fallback_container_add(UiContainer *ct, GtkWidget *widget);
 
 #ifdef	__cplusplus
 }

mercurial