diff -urN cui131/menu.c cui132/menu.c --- cui131/menu.c 2014-04-25 00:00:00.000000000 +0900 +++ cui132/menu.c 2014-04-25 01:00:00.000000000 +0900 @@ -290,6 +290,20 @@ if(p->vp) cui_menu_popup_set(obj, *p->vp); } +void +cui_menu_popup_list_set(cui obj, int w, char **lst) +{ + cui_menu_popup p = (cui_menu_popup)obj; + + if(p->menu) cui_del_free(p->menu); + p->menu = cui_menu_new(cui_root(obj), 0, 0, lst); + + if(w >= 0) cui_w_set(obj, w); + else cui_w_set(obj, p->menu->w); + + cui_bind(p->menu, CUI_EVT_BUTTON, cui_menu_hdr, &p->val); +} + cui cui_menu_int_new(cui parent, int x, int y, int w, int init_v, int min_v, int max_v) { @@ -424,6 +438,8 @@ p->min_v = min_v; p->max_v = max_v; menu_int_lst_setup(obj); + + cui_menu_popup_list_set(obj, -1, p->lst); cui_menu_int_set(obj, p->v); } diff -urN cui131/menu.h cui132/menu.h --- cui131/menu.h 2014-04-25 00:00:00.000000000 +0900 +++ cui132/menu.h 2014-04-25 01:00:00.000000000 +0900 @@ -60,6 +60,7 @@ void cui_menu_popup_set(cui obj, int idx); void cui_menu_popup_del_free(cui obj); void cui_menu_popup_vp_set(cui obj, int *vp); +void cui_menu_popup_list_set(cui obj, int w, char **lst); cui cui_menu_int_new(cui parent, int x, int y, int w, int init_v, int min_v, int max_v); void cui_menu_int_init(cui obj, cui parent, int x, int y, int w, int init_v, int min_v, int max_v);