menu: Add support for user defined item choice function

Selecting menu items is currently done in menu_interactive_choice()
by reading the user input strings from standard input.

Extend menu_interactive_choice() to support user defined function
for selecting menu items. This function and its argument can be
specified when creating the menu.

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
This commit is contained in:
Pali Rohár 2013-03-23 14:50:40 +00:00 committed by Anatolij Gustschin
parent 009d75ccc1
commit fc9d64ffcd
5 changed files with 41 additions and 15 deletions

View file

@ -21,7 +21,9 @@
struct menu;
struct menu *menu_create(char *title, int timeout, int prompt,
void (*item_data_print)(void *));
void (*item_data_print)(void *),
char *(*item_choice)(void *),
void *item_choice_data);
int menu_default_set(struct menu *m, char *item_key);
int menu_get_choice(struct menu *m, void **choice);
int menu_item_add(struct menu *m, char *item_key, void *item_data);