--- a/make/vs/testapp/main.c Fri Jan 26 15:31:47 2024 +0100 +++ b/make/vs/testapp/main.c Fri Jan 26 17:17:14 2024 +0100 @@ -53,6 +53,9 @@ static UiIcon* folder_icon; +UiList* menuList; + + void action1(UiEvent* event, void* data) { char* action = data; @@ -67,6 +70,10 @@ int spinner_active = wdata->spinner->get(wdata->spinner); wdata->spinner->set(wdata->spinner, !spinner_active); + + ui_list_append(menuList, "List Item X"); + ui_list_append(menuList, "List Item X"); + ui_notify(menuList->observers, NULL); } void action_set_checkbox(UiEvent* event, void* data) { @@ -162,7 +169,17 @@ } + void application_startup(UiEvent* event, void* data) { + UiContext* gctx = ui_global_context(); + menuList = ui_list_new(gctx, "menulist"); + ui_list_append(menuList, "List Item 1"); + ui_list_append(menuList, "List Item 2"); + ui_list_append(menuList, "List Item 3"); + ui_list_append(menuList, "List Item 4"); + ui_list_append(menuList, "List Item 5"); + ui_list_append(menuList, "List Item 6"); + UiObject* obj = ui_window("Test", NULL); WindowData* wdata = ui_malloc(obj->ctx, sizeof(WindowData)); obj->window = wdata; @@ -351,6 +368,7 @@ ui_menuitem(.label = "x", NULL, NULL); ui_menuitem(.label = "x", NULL, NULL); + ui_menu_itemlist(.varname = "menulist"); ui_menuitem(.label = "x", NULL, NULL); ui_menuitem(.label = "x", NULL, NULL); ui_menuitem(.label = "x", NULL, NULL);