ui/common/args.c

changeset 1093
1686de34a489
parent 1077
0fa92d0ca13d
--- a/ui/common/args.c	Fri Apr 17 13:21:11 2026 +0200
+++ b/ui/common/args.c	Fri Apr 17 14:50:31 2026 +0200
@@ -215,9 +215,14 @@
     args->onclickdata = onclickdata;
 }
 
+void ui_menuitem_args_set_action(UiMenuItemArgs *args, const char *action) {
+    args->action = strdup(action);
+}
+
 void ui_menuitem_args_free(UiMenuItemArgs *args) {
     free((void*)args->label);
     free((void*)args->icon);
+    free((void*)args->action);
     free(args);
 }
 
@@ -250,10 +255,15 @@
     args->onchangedata = onclickdata;
 }
 
+void ui_menutoggleitem_args_set_action(UiMenuToggleItemArgs *args, const char *action) {
+    args->action = strdup(action);
+}
+
 void ui_menutoggleitem_args_free(UiMenuToggleItemArgs *args) {
     free((void*)args->label);
     free((void*)args->icon);
     free((void*)args->varname);
+    free((void*)args->action);
     free(args);
 }
 
@@ -1440,6 +1450,10 @@
     args->onclickdata = onclickdata;
 }
 
+void ui_button_args_set_action(UiButtonArgs *args, const char *action) {
+    args->action = strdup(action);
+}
+
 void ui_button_args_set_states(UiButtonArgs *args, int *states, int numstates) {
     args->states = calloc(numstates+1, sizeof(int));
     memcpy((void*)args->states, states, numstates * sizeof(int));
@@ -1458,6 +1472,7 @@
     free((void*)args->label);
     free((void*)args->icon);
     free((void*)args->tooltip);
+    free((void*)args->action);
     free((void*)args->states);
     free((void*)args->visibility_states);
     free(args);
@@ -1558,6 +1573,10 @@
     args->onchangedata = onchangedata;
 }
 
+void ui_toggle_args_set_action(UiToggleArgs *args, const char *action) {
+    args->action = strdup(action);
+}
+
 void ui_toggle_args_set_varname(UiToggleArgs *args, const char *varname) {
     args->varname = strdup(varname);
 }
@@ -1589,6 +1608,7 @@
     free((void*)args->icon);
     free((void*)args->tooltip);
     free((void*)args->varname);
+    free((void*)args->action);
     free((void*)args->states);
     free((void*)args->visibility_states);
     free(args);
@@ -1688,6 +1708,10 @@
     args->onclickdata = userdata;
 }
 
+void ui_linkbutton_args_set_action(UiLinkButtonArgs *args, const char *action) {
+    args->action = strdup(action);
+}
+
 void ui_linkbutton_args_set_nofollow(UiLinkButtonArgs *args, UiBool value) {
     args->nofollow = value;
 }
@@ -1721,6 +1745,7 @@
     free((void*)args->style_class);
     free((void*)args->label);
     free((void*)args->uri);
+    free((void*)args->action);
     free((void*)args->varname);
     free((void*)args->states);
     free(args);
@@ -2286,6 +2311,14 @@
     args->onactivatedata = onactivatedata;
 }
 
+void ui_textfield_args_set_onactivate_action(UiTextFieldArgs *args, const char *action) {
+    args->onactivate_action = strdup(action);
+}
+
+void ui_textfield_args_set_onchange_action(UiTextFieldArgs *args, const char *action) {
+    args->onchange_action = action;
+}
+
 void ui_textfield_args_set_varname(UiTextFieldArgs *args, const char *varname) {
     args->varname = strdup(varname);
 }
@@ -2310,6 +2343,8 @@
     free((void*)args->name);
     free((void*)args->style_class);
     free((void*)args->varname);
+    free((void*)args->onactivate_action);
+    free((void*)args->onchange_action);
     free((void*)args->states);
     free((void*)args->visibility_states);
     free(args);

mercurial