# HG changeset patch # User Olaf Wintermann # Date 1755884652 -7200 # Node ID a537158b4269e771dc3a2916e1d70db5117552d8 # Parent 6105e9d9b7e187439bdaaca46d0effbac987f420 add UiLinkButtonArgs wrapper diff -r 6105e9d9b7e1 -r a537158b4269 ui/common/args.c --- a/ui/common/args.c Fri Aug 22 18:56:37 2025 +0200 +++ b/ui/common/args.c Fri Aug 22 19:44:12 2025 +0200 @@ -1274,6 +1274,111 @@ free(args); } +/* ------------------------- UiLinkButtonArgs ----------------------------*/ + + +UiLinkButtonArgs* ui_linkbutton_args_new(void) { + UiLinkButtonArgs *args = malloc(sizeof(UiLinkButtonArgs)); + memset(args, 0, sizeof(UiLinkButtonArgs)); + return args; +} + + +void ui_linkbutton_args_set_fill(UiLinkButtonArgs *args, UiBool fill) { + args->fill = fill ? UI_ON : UI_OFF; +} + + +void ui_linkbutton_args_set_hexpand(UiLinkButtonArgs *args, UiBool value) { + args->hexpand = value; +} + + +void ui_linkbutton_args_set_vexpand(UiLinkButtonArgs *args, UiBool value) { + args->vexpand = value; +} + + +void ui_linkbutton_args_set_hfill(UiLinkButtonArgs *args, UiBool value) { + args->hfill = value; +} + + +void ui_linkbutton_args_set_vfill(UiLinkButtonArgs *args, UiBool value) { + args->vfill = value; +} + + +void ui_linkbutton_args_set_override_defaults(UiLinkButtonArgs *args, UiBool value) { + args->override_defaults = value; +} + + +void ui_linkbutton_args_set_colspan(UiLinkButtonArgs *args, int colspan) { + args->colspan = colspan; +} + + +void ui_linkbutton_args_set_rowspan(UiLinkButtonArgs *args, int rowspan) { + args->rowspan = rowspan; +} + + +void ui_linkbutton_args_set_name(UiLinkButtonArgs *args, const char *name) { + args->name = strdup(name); +} + + +void ui_linkbutton_args_set_style_class(UiLinkButtonArgs *args, const char *classname) { + args->style_class = strdup(classname); +} + +void ui_linkbutton_args_set_label(UiLinkButtonArgs *args, const char *label){ + args->label = strdup(label); +} + +void ui_linkbutton_args_set_uri(UiLinkButtonArgs *args, const char *uri) { + args->uri = strdup(uri); +} + +void ui_linkbutton_args_set_onclick(UiLinkButtonArgs *args, ui_callback callback) { + args->onclick = callback; +} + +void ui_linkbutton_args_set_onclickdata(UiLinkButtonArgs *args, void *userdata) { + args->onclickdata = userdata; +} + +void ui_linkbutton_args_set_nofollow(UiLinkButtonArgs *args, UiBool value) { + args->nofollow = value; +} + +void ui_linkbutton_args_set_type(UiLinkButtonArgs *args, UiLinkType type) { + args->type = type; +} + +void ui_linkbutton_args_set_varname(UiLinkButtonArgs *args, const char *varname) { + args->varname = strdup(varname); +} + +void ui_linkbutton_args_set_value(UiLinkButtonArgs *args, UiString *value) { + args->value = value; +} + +void ui_linkbutton_args_set_groups(UiLinkButtonArgs *args, int *groups){ + // TODO +} + +void ui_linkbutton_args_free(UiLinkButtonArgs *args) { + free((void*)args->name); + free((void*)args->style_class); + free((void*)args->label); + free((void*)args->uri); + free((void*)args->varname); + free((void*)args->groups); + free(args); +} + /* ------------------------- UiListArgs ----------------------------*/ diff -r 6105e9d9b7e1 -r a537158b4269 ui/common/args.h --- a/ui/common/args.h Fri Aug 22 18:56:37 2025 +0200 +++ b/ui/common/args.h Fri Aug 22 19:44:12 2025 +0200 @@ -302,6 +302,28 @@ UIEXPORT void ui_toggle_args_set_groups(UiToggleArgs *args, int *groups); UIEXPORT void ui_toggle_args_free(UiToggleArgs *args); +UIEXPORT UiLinkButtonArgs* ui_linkbutton_args_new(void); +UIEXPORT void ui_linkbutton_args_set_fill(UiLinkButtonArgs *args, UiBool fill); +UIEXPORT void ui_linkbutton_args_set_hexpand(UiLinkButtonArgs *args, UiBool value); +UIEXPORT void ui_linkbutton_args_set_vexpand(UiLinkButtonArgs *args, UiBool value); +UIEXPORT void ui_linkbutton_args_set_hfill(UiLinkButtonArgs *args, UiBool value); +UIEXPORT void ui_linkbutton_args_set_vfill(UiLinkButtonArgs *args, UiBool value); +UIEXPORT void ui_linkbutton_args_set_override_defaults(UiLinkButtonArgs *args, UiBool value); +UIEXPORT void ui_linkbutton_args_set_colspan(UiLinkButtonArgs *args, int colspan); +UIEXPORT void ui_linkbutton_args_set_rowspan(UiLinkButtonArgs *args, int rowspan); +UIEXPORT void ui_linkbutton_args_set_name(UiLinkButtonArgs *args, const char *name); +UIEXPORT void ui_linkbutton_args_set_style_class(UiLinkButtonArgs *args, const char *classname); +UIEXPORT void ui_linkbutton_args_set_varname(UiLinkButtonArgs *args, const char *varname); +UIEXPORT void ui_linkbutton_args_set_value(UiLinkButtonArgs *args, UiString *value); +UIEXPORT void ui_linkbutton_args_set_label(UiLinkButtonArgs *args, const char *label); +UIEXPORT void ui_linkbutton_args_set_uri(UiLinkButtonArgs *args, const char *uri); +UIEXPORT void ui_linkbutton_args_set_onclick(UiLinkButtonArgs *args, ui_callback callback); +UIEXPORT void ui_linkbutton_args_set_onclickdata(UiLinkButtonArgs *args, void *userdata); +UIEXPORT void ui_linkbutton_args_set_nofollow(UiLinkButtonArgs *args, UiBool value); +UIEXPORT void ui_linkbutton_args_set_type(UiLinkButtonArgs *args, UiLinkType type); +UIEXPORT void ui_linkbutton_args_set_groups(UiLinkButtonArgs *args, int *groups); +UIEXPORT void ui_linkbutton_args_free(UiLinkButtonArgs *args); + UIEXPORT UiListArgs* ui_list_args_new(void); UIEXPORT void ui_list_args_set_fill(UiListArgs *args, UiBool fill); UIEXPORT void ui_list_args_set_hexpand(UiListArgs *args, UiBool value); diff -r 6105e9d9b7e1 -r a537158b4269 ui/ui/button.h --- a/ui/ui/button.h Fri Aug 22 18:56:37 2025 +0200 +++ b/ui/ui/button.h Fri Aug 22 19:44:12 2025 +0200 @@ -107,7 +107,6 @@ ui_callback onclick; void *onclickdata; UiBool nofollow; - UiAlignment align; UiLinkType type; const int* groups;