--- a/application/main.c Wed Dec 31 11:06:54 2025 +0100 +++ b/application/main.c Wed Dec 31 11:36:42 2025 +0100 @@ -620,6 +620,15 @@ printf("option: %d\n", event->intval); } +static void action_menu_toggle(UiEvent *event, void *userdata) { + if(event->eventdatatype != UI_EVENT_DATA_INTEGER_VALUE) { + printf("Error: action_menu_toggle: wrong event data type\n"); + return; + } + UiInteger *i = event->eventdata; + printf("action_menu_toggle value: %d\n", ui_get(i)); +} + void application_startup(UiEvent *event, void *data) { // global list UiContext *global = ui_global_context(); @@ -852,6 +861,16 @@ // menu ui_menu("File") { ui_menuitem(.label = "Test"); + ui_menuseparator(); + ui_menu_toggleitem(.label = "Toggle 1", .varname = "menu_toggle1", .onchange = action_menu_toggle); + ui_menu_toggleitem(.label = "Toggle 2", .varname = "menu_toggle2", .onchange = action_menu_toggle); + ui_menuseparator(); + ui_menu_radioitem(.label = "Option 1", .varname = "menu_radio"); + ui_menu_radioitem(.label = "Option 2", .varname = "menu_radio"); + ui_menu_radioitem(.label = "Option 3", .varname = "menu_radio"); + ui_menu_radioitem(.label = "Option 4", .varname = "menu_radio"); + ui_menu_radioitem(.label = "Option 5", .varname = "menu_radio"); + ui_menuseparator(); } ui_contextmenu(&menubuilder) {