diff -r 1524b5dc4d4d -r 0accf125a65f application/main.c --- a/application/main.c Thu Apr 16 17:41:35 2026 +0200 +++ b/application/main.c Fri Apr 17 13:21:11 2026 +0200 @@ -309,9 +309,16 @@ ui_show(obj); } +static void mydoc_action_save(UiEvent *event, void *data) { + printf("mydoc action save\n"); + +} + + MyDocument* create_doc(void) { MyDocument *doc = ui_document_new(sizeof(MyDocument)); UiContext *docctx = ui_document_context(doc); + ui_add_action(docctx, "save", mydoc_action_save, NULL); doc->submenulist = ui_list_new(docctx, "sub_menulist"); ui_list_append(doc->submenulist, "Sub Menu List Item 1"); ui_list_append(doc->submenulist, "Sub Menu List Item 2"); @@ -631,9 +638,14 @@ ui_var_set_int(event->obj->ctx, "menu_radio", 5); } +static void global_action_save(UiEvent *event, void *data) { + printf("global save\n"); +} + void application_startup(UiEvent *event, void *data) { // global list UiContext *global = ui_global_context(); + ui_add_action(global, "save", global_action_save, NULL); menu_list = ui_list_new(global, "menulist"); ui_list_append(menu_list, "menu list item 1"); ui_list_append(menu_list, "menu list item 2"); @@ -920,7 +932,7 @@ ui_toolbar_appmenu() { ui_menuitem("New"); ui_menuitem("Open"); - ui_menuitem("Save"); + ui_menuitem("Save", .action = "save"); ui_menuseparator(); ui_menu_radioitem(.label = "Option 1", .varname = "menu_radio", .onchange = action_menu_radio);