diff -r 2cc5d193e9d4 -r fb1cdbe893dc ui/common/args.c --- a/ui/common/args.c Mon Aug 24 20:39:31 2026 +0200 +++ b/ui/common/args.c Mon Aug 24 20:57:13 2026 +0200 @@ -1053,6 +1053,133 @@ free(args); } +/* ------------------------- UiItemList ------------------------------*/ + +UiItemListContainerArgs* ui_itemlist_container_args_new(void) { + UiItemListContainerArgs *args = malloc(sizeof(UiItemListContainerArgs)); + memset(args, 0, sizeof(UiItemListContainerArgs)); + return args; +} + +void ui_itemlist_container_args_set_fill(UiItemListContainerArgs *args, UiBool fill) { + args->fill = fill; +} + +void ui_itemlist_container_args_set_hexpand(UiItemListContainerArgs *args, UiBool value) { + args->hexpand = value; +} + +void ui_itemlist_container_args_set_vexpand(UiItemListContainerArgs *args, UiBool value) { + args->vexpand = value; +} + +void ui_itemlist_container_args_set_hfill(UiItemListContainerArgs *args, UiBool value) { + args->hfill = value; +} + +void ui_itemlist_container_args_set_vfill(UiItemListContainerArgs *args, UiBool value) { + args->vfill = value; +} + +void ui_itemlist_container_args_set_override_defaults(UiItemListContainerArgs *args, UiBool value) { + args->override_defaults = value; +} + +void ui_itemlist_container_args_set_margin(UiItemListContainerArgs *args, int value) { + args->margin = value; +} + +void ui_itemlist_container_args_set_margin_left(UiItemListContainerArgs *args, int value) { + args->margin_left = value; +} + +void ui_itemlist_container_args_set_margin_right(UiItemListContainerArgs *args, int value) { + args->margin_right = value; +} + +void ui_itemlist_container_args_set_margin_top(UiItemListContainerArgs *args, int value) { + args->margin_top = value; +} + +void ui_itemlist_container_args_set_margin_bottom(UiItemListContainerArgs *args, int value) { + args->margin_bottom = value; +} + +void ui_itemlist_container_args_set_colspan(UiItemListContainerArgs *args, int colspan) { + args->colspan = colspan; +} + +void ui_itemlist_container_args_set_rowspan(UiItemListContainerArgs *args, int rowspan) { + args->rowspan = rowspan; +} + +void ui_itemlist_container_args_set_name(UiItemListContainerArgs *args, const char *name) { + args->name = strdup(name); +} + +void ui_itemlist_container_args_set_style_class(UiItemListContainerArgs *args, const char *classname) { + args->style_class = strdup(classname); +} + +void ui_itemlist_container_args_set_spacing(UiItemListContainerArgs *args, int value) { + args->spacing = value; +} + +void ui_itemlist_container_args_set_sub_margin(UiItemListContainerArgs *args, int value) { + args->sub_margin = value; +} + +void ui_itemlist_container_args_set_sub_spacing(UiItemListContainerArgs *args, int value) { + args->sub_spacing = value; +} + +void ui_itemlist_container_args_set_sub_columnspacing(UiItemListContainerArgs *args, int value) { + args->sub_columnspacing = value; +} + +void ui_itemlist_container_args_set_sub_rowspacing(UiItemListContainerArgs *args, int value) { + args->sub_rowspacing = value; +} + +void ui_itemlist_container_args_set_value(UiItemListContainerArgs *args, UiList *value) { + args->value = value; +} + +void ui_itemlist_container_args_set_varname(UiItemListContainerArgs *args, const char *varname) { + args->varname = strdup(varname); +} + +void ui_itemlist_container_args_set_create_ui(UiItemListContainerArgs *args, ui_create_ui_func callback) { + args->create_ui = callback; +} + +void ui_itemlist_container_args_set_userdata(UiItemListContainerArgs *args, void *userdata) { + args->userdata = userdata; +} + +void ui_itemlist_container_args_set_container(UiItemListContainerArgs *args, UiSubContainerType container_type) { + args->container = container_type; +} + +void ui_itemlist_container_args_set_subcontainer(UiItemListContainerArgs *args, UiSubContainerType container_type) { + args->subcontainer = container_type; +} + +void ui_itemlist_container_args_set_visibility_states(UiItemListContainerArgs *args, int *states, int numstates) { + args->visibility_states = calloc(numstates+1, sizeof(int)); + memcpy((void*)args->visibility_states, states, numstates * sizeof(int)); + ((int*)args->visibility_states)[numstates] = -1; +} + +void ui_itemlist_container_args_free(UiItemListContainerArgs *args) { + free((void*)args->name); + free((void*)args->style_class); + free((void*)args->varname); + free((void*)args->visibility_states); + free(args); +} + + /* ------------------------- UiWidgetArgs ----------------------------*/