add UiList to itemlist create_ui callback args default tip

Tue, 25 Aug 2026 20:31:10 +0200

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Tue, 25 Aug 2026 20:31:10 +0200
changeset 1236
34cc825ee117
parent 1235
fb1cdbe893dc

add UiList to itemlist create_ui callback args

application/main.c file | annotate | diff | comparison | revisions
ui/common/args.h file | annotate | diff | comparison | revisions
ui/gtk/container.c file | annotate | diff | comparison | revisions
ui/gtk/container.h file | annotate | diff | comparison | revisions
ui/ui/container.h file | annotate | diff | comparison | revisions
--- a/application/main.c	Mon Aug 24 20:57:13 2026 +0200
+++ b/application/main.c	Tue Aug 25 20:31:10 2026 +0200
@@ -567,7 +567,7 @@
     ui_list_update(item->doc->items);
 }
 
-void create_item(UiObject *obj, int index, void *elm, void *userdata) {
+void create_item(UiObject *obj, UiList *list, int index, void *elm, void *userdata) {
     Item *i = ui_malloc(obj->ctx, sizeof(Item));
     i->obj = obj;
     i->elm = elm;
--- a/ui/common/args.h	Mon Aug 24 20:57:13 2026 +0200
+++ b/ui/common/args.h	Tue Aug 25 20:31:10 2026 +0200
@@ -284,7 +284,6 @@
 UIEXPORT void ui_itemlist_container_args_set_rowspan(UiItemListContainerArgs *args, int rowspan);
 UIEXPORT void ui_itemlist_container_args_set_name(UiItemListContainerArgs *args, const char *name);
 UIEXPORT void ui_itemlist_container_args_set_style_class(UiItemListContainerArgs *args, const char *classname);
-UIEXPORT void ui_itemlist_container_args_set_padding(UiItemListContainerArgs *args, int value);
 UIEXPORT void ui_itemlist_container_args_set_spacing(UiItemListContainerArgs *args, int value);
 UIEXPORT void ui_itemlist_container_args_set_sub_margin(UiItemListContainerArgs *args, int value);
 UIEXPORT void ui_itemlist_container_args_set_sub_spacing(UiItemListContainerArgs *args, int value);
--- a/ui/gtk/container.c	Mon Aug 24 20:57:13 2026 +0200
+++ b/ui/gtk/container.c	Tue Aug 25 20:31:10 2026 +0200
@@ -1303,7 +1303,7 @@
             UiLayout layout = {0};
             ui_box_container_add(ct->container, obj->widget, &layout);
             if(ct->create_ui) {
-                ct->create_ui(obj, index, elm, ct->userdata);
+                ct->create_ui(obj, list, index, elm, ct->userdata);
             }
             cxMapPut(new_items, key, obj);
         }
--- a/ui/gtk/container.h	Mon Aug 24 20:57:13 2026 +0200
+++ b/ui/gtk/container.h	Tue Aug 25 20:31:10 2026 +0200
@@ -135,7 +135,7 @@
     UiObject *parent;
     GtkWidget *widget;
     UiContainerPrivate *container;
-    void (*create_ui)(UiObject *, int, void *, void *);
+    void (*create_ui)(UiObject *, UiList *, int, void *, void *);
     void *userdata;
     UiSubContainerType subcontainer;
     CxMap *current_items;
--- a/ui/ui/container.h	Mon Aug 24 20:57:13 2026 +0200
+++ b/ui/ui/container.h	Tue Aug 25 20:31:10 2026 +0200
@@ -217,7 +217,7 @@
     const int *visibility_states;
 } UiSplitPaneArgs;
 
-typedef void (*ui_create_ui_func)(UiObject *, int, void *, void *);
+typedef void (*ui_create_ui_func)(UiObject *, UiList *, int, void *, void *);
 
 typedef struct UiItemListContainerArgs {
     UiBool fill;
@@ -246,14 +246,14 @@
     UiList *value;
     const char *varname;
     /*
-     * void create_ui(UiObject *obj, int index, void *elm, void *userdata)
+     * void create_ui(UiObject *obj, UiList *, int index, void *elm, void *userdata)
      * 
      * UI constructor for each list element
      * 
      * This callback is executed for each list element. A new UiObject is
      * created for every item.
      */
-    void (*create_ui)(UiObject *, int, void *, void *);
+    void (*create_ui)(UiObject *, UiList *, int, void *, void *);
     void *userdata;
     
     /*

mercurial