diff -r 884d70e847a3 -r 6872b59217a7 application/main.c --- a/application/main.c Mon Nov 17 11:28:47 2025 +0100 +++ b/application/main.c Mon Nov 17 14:27:48 2025 +0100 @@ -922,6 +922,8 @@ UiInteger *spinner; UiInteger *tab; UiDouble *num; + UiInteger *toggle1; + UiInteger *toggle2; } WData; @@ -961,6 +963,12 @@ ui_set(wdata->tab, index+1); } +static void action_menu_toggle(UiEvent *event, void *data) { + WData *wdata = event->window; + printf("toggle1: %d\n", (int)ui_get(wdata->toggle1)); + printf("toggle2: %d\n\n", (int)ui_get(wdata->toggle2)); +} + void application_startup(UiEvent *event, void *data) { menulist = ui_list_new(ui_global_context(), "menulist"); @@ -977,6 +985,8 @@ wdata->spinner = ui_int_new(obj->ctx, NULL); wdata->tab = ui_int_new(obj->ctx, NULL); wdata->num = ui_double_new(obj->ctx, "num"); + wdata->toggle1 = ui_int_new(obj->ctx, "toggle1"); + wdata->toggle2 = ui_int_new(obj->ctx, "toggle2"); obj->window = wdata; ui_list_append(wdata->list, "List Item 1"); @@ -1053,8 +1063,8 @@ ui_menuitem(.label = "Test 2", .onclick = action_test); ui_menuitem(.label = "Test 3", .onclick = action_test); ui_menuseparator(); - ui_menu_toggleitem(.label = "Toggle 1"); - ui_menu_toggleitem(.label = "Toggle 2"); + ui_menu_toggleitem(.label = "Toggle 1", .varname = "toggle1", .onchange = action_menu_toggle); + ui_menu_toggleitem(.label = "Toggle 2", .varname = "toggle2", .onchange = action_menu_toggle); ui_menuseparator(); ui_menu_radioitem(.label = "Radio 1", .varname = "menu_radio"); ui_menu_radioitem(.label = "Radio 2", .varname = "menu_radio");