# HG changeset patch # User Olaf Wintermann # Date 1787682670 -7200 # Node ID 34cc825ee11740ac604f39d1c104eb197039bf8c # Parent fb1cdbe893dc6c93ea939a327aa071d40a9fb1a1 add UiList to itemlist create_ui callback args diff -r fb1cdbe893dc -r 34cc825ee117 application/main.c --- 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; diff -r fb1cdbe893dc -r 34cc825ee117 ui/common/args.h --- 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); diff -r fb1cdbe893dc -r 34cc825ee117 ui/gtk/container.c --- 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); } diff -r fb1cdbe893dc -r 34cc825ee117 ui/gtk/container.h --- 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; diff -r fb1cdbe893dc -r 34cc825ee117 ui/ui/container.h --- 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; /*