--- 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 }