--- a/ui/common/args.c Thu Feb 12 15:54:48 2026 +0100 +++ b/ui/common/args.c Sat Feb 21 20:02:31 2026 +0100 @@ -519,10 +519,17 @@ args->rowspacing = value; } +void ui_container_args_set_visibility_states(UiContainerArgs *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_container_args_free(UiContainerArgs *args) { free((void*)args->name); free((void*)args->style_class); + free((void*)args->visibility_states); free(args); } @@ -637,10 +644,17 @@ args->label = strdup(label); } +void ui_frame_args_set_visibility_states(UiFrameArgs *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_frame_args_free(UiFrameArgs *args) { free((void*)args->name); free((void*)args->style_class); free((void*)args->label); + free((void*)args->visibility_states); free(args); } @@ -797,11 +811,18 @@ args->max_panes = max; } +void ui_splitpane_args_set_visibility_states(UiSplitPaneArgs *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_splitpane_args_free(UiSplitPaneArgs *args) { free((void*)args->name); free((void*)args->style_class); free((void*)args->varname); free((void*)args->position_property); + free((void*)args->visibility_states); free(args); } @@ -915,10 +936,17 @@ args->subcontainer = subcontainer; } +void ui_tabview_args_set_visibility_states(UiTabViewArgs *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_tabview_args_free(UiTabViewArgs *args) { free((void*)args->name); free((void*)args->style_class); free((void*)args->varname); + free((void*)args->visibility_states); free(args); } @@ -1097,11 +1125,18 @@ args->value = value; } +void ui_label_args_set_visibility_states(UiLabelArgs *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_label_args_free(UiLabelArgs *args) { free((void*)args->name); free((void*)args->style_class); free((void*)args->label); free((void*)args->varname); + free((void*)args->visibility_states); free(args); } @@ -1200,10 +1235,17 @@ args->value = value; } +void ui_progressbar_args_set_visibility_states(UiProgressbarArgs *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_progressbar_args_free(UiProgressbarArgs *args) { free((void*)args->name); free((void*)args->style_class); free((void*)args->varname); + free((void*)args->visibility_states); free(args); } @@ -1284,10 +1326,17 @@ args->value = value; } +void ui_progress_spinner_args_set_visibility_states(UiProgressbarSpinnerArgs *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_progress_spinner_args_free(UiProgressbarSpinnerArgs *args) { free((void*)args->name); free((void*)args->style_class); free((void*)args->varname); + free((void*)args->visibility_states); free(args); } @@ -1397,6 +1446,12 @@ ((int*)args->states)[numstates] = -1; } +void ui_button_args_set_visibility_states(UiButtonArgs *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_button_args_free(UiButtonArgs *args) { free((void*)args->name); free((void*)args->style_class); @@ -1404,6 +1459,7 @@ free((void*)args->icon); free((void*)args->tooltip); free((void*)args->states); + free((void*)args->visibility_states); free(args); } @@ -1520,6 +1576,12 @@ ((int*)args->states)[numstates] = -1; } +void ui_toggle_args_set_visibility_states(UiToggleArgs *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_toggle_args_free(UiToggleArgs *args) { free((void*)args->name); free((void*)args->style_class); @@ -1528,6 +1590,7 @@ free((void*)args->tooltip); free((void*)args->varname); free((void*)args->states); + free((void*)args->visibility_states); free(args); } @@ -1647,6 +1710,12 @@ ((int*)args->states)[numstates] = -1; } +void ui_linkbutton_args_set_visibility_states(UiLinkButtonArgs *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_linkbutton_args_free(UiLinkButtonArgs *args) { free((void*)args->name); free((void*)args->style_class); @@ -1829,6 +1898,12 @@ ((int*)args->states)[numstates] = -1; } +void ui_list_args_set_visibility_states(UiListArgs *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_list_args_free(UiListArgs *args) { free((void*)args->name); free((void*)args->style_class); @@ -1840,6 +1915,7 @@ free(args->static_elements); } free((void*)args->states); + free((void*)args->visibility_states); free(args); } @@ -1961,7 +2037,6 @@ } - void ui_sourcelist_args_set_onbuttonclickdata(UiSourceListArgs *args, void *userdata) { args->onbuttonclickdata = userdata; } @@ -1974,12 +2049,19 @@ args->header_is_item = value; } +void ui_sourcelist_args_set_visibility_states(UiSourceListArgs *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_sourcelist_args_free(UiSourceListArgs *args) { free((void*)args->name); free((void*)args->style_class); free((void*)args->varname); free((void*)args->sublists); free((void*)args->states); + free((void*)args->visibility_states); free(args); } @@ -2085,11 +2167,18 @@ ((int*)args->states)[numstates] = -1; } +void ui_textarea_args_set_visibility_states(UiTextAreaArgs *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_textarea_args_free(UiTextAreaArgs *args) { free((void*)args->name); free((void*)args->style_class); free((void*)args->varname); free((void*)args->states); + free((void*)args->visibility_states); free(args); } @@ -2205,11 +2294,18 @@ ((int*)args->states)[numstates] = -1; } +void ui_textfield_args_set_visibility_states(UiTextFieldArgs *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_textfield_args_free(UiTextFieldArgs *args) { free((void*)args->name); free((void*)args->style_class); free((void*)args->varname); free((void*)args->states); + free((void*)args->visibility_states); free(args); } @@ -2328,11 +2424,18 @@ ((int*)args->states)[numstates] = -1; } +void ui_spinbox_args_set_visibility_states(UiSpinBoxArgs *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_spinbox_args_free(UiSpinBoxArgs *args) { free((void*)args->name); free((void*)args->style_class); free((void*)args->varname); free((void*)args->states); + free((void*)args->visibility_states); free(args); } @@ -2428,11 +2531,18 @@ ((int*)args->states)[numstates] = -1; } +void ui_webview_args_set_visibility_states(UiWebviewArgs *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_webview_args_free(UiWebviewArgs *args) { free((void*)args->name); free((void*)args->style_class); free((void*)args->varname); free((void*)args->states); + free((void*)args->visibility_states); free(args); }