diff -r 1dbfc944a773 -r 7255f59f339a ui/common/args.c --- a/ui/common/args.c Sat Jun 07 08:25:00 2025 +0200 +++ b/ui/common/args.c Sun Jun 08 23:47:00 2025 +0200 @@ -68,6 +68,81 @@ free(args); } + +/* ---------------------------- UiMenuToggleItemArgs ---------------------------- */ + +UiMenuToggleItemArgs* ui_menutoggleitem_args_new(void) { + UiMenuToggleItemArgs *args = malloc(sizeof(UiMenuToggleItemArgs)); + memset(args, 0, sizeof(UiMenuToggleItemArgs)); + return args; +} + +void ui_menutoggleitem_args_set_label(UiMenuToggleItemArgs *args, const char *label) { + args->label = strdup(label); +} + +void ui_menutoggleitem_args_set_stockid(UiMenuToggleItemArgs *args, const char *stockid) { + args->stockid = strdup(stockid); +} + +void ui_menutoggleitem_args_set_icon(UiMenuToggleItemArgs *args, const char *icon) { + args->icon = strdup(icon); +} + +void ui_menutoggleitem_args_set_varname(UiMenuToggleItemArgs *args, const char *varname) { + args->varname = strdup(varname); +} + +void ui_menutoggleitem_args_set_onchange(UiMenuToggleItemArgs *args, ui_callback callback) { + args->onchange = callback; +} + +void ui_menutoggleitem_args_set_onchangedata(UiMenuToggleItemArgs *args, void *onclickdata) { + args->onchangedata = onclickdata; +} + +void ui_menutoggleitem_args_free(UiMenuToggleItemArgs *args) { + free((void*)args->label); + free((void*)args->stockid); + free((void*)args->icon); + free((void*)args->varname); + free(args); +} + +/* --------------------------- UiMenuItemListArgs --------------------------- */ + +UiMenuItemListArgs* ui_menuitemlist_args_new(void) { + UiMenuItemListArgs *args = malloc(sizeof(UiMenuItemListArgs)); + memset(args, 0, sizeof(UiMenuItemListArgs)); + return args; +} + +void ui_menuitemlist_args_set_varname(UiMenuItemListArgs *args, const char *varname) { + args->varname = strdup(varname); +} + +void ui_menuitemlist_args_set_getvalue(UiMenuItemListArgs *args, ui_getvaluefunc func) { + args->getvalue = func; +} + +void ui_menuitemlist_args_set_onselect(UiMenuItemListArgs *args, ui_callback callback) { + args->onselect = callback; +} + +void ui_menuitemlist_args_set_onselectdata(UiMenuItemListArgs *args, void *data){ + args->onselectdata = data; +} + +void ui_menuitemlist_args_set_addseparator(UiMenuItemListArgs *args, UiBool value) { + args->addseparator = value; +} + +void ui_menuitemlist_args_free(UiMenuItemListArgs *args){ + free((void*)args->varname); + free(args); +} + + /* ---------------------------- UiContainerArgs ---------------------------- */ UiContainerArgs* ui_container_args_new(void) {