int (*on_execute)(struct pmenu_item *item);
};
+int pmenu_item_update(struct pmenu_item *item, const char *name);
struct pmenu_item *pmenu_item_create(struct pmenu *menu, const char *name);
struct pmenu_item *pmenu_find_device(struct pmenu *menu, struct device *dev,
struct boot_option *opt);
return item->data;
}
+typedef int (*hot_key_fn)(struct pmenu *menu, struct pmenu_item *item, int c);
+
+int pmenu_main_hot_keys(struct pmenu *menu, struct pmenu_item *item, int c);
+
/**
* struct pmenu - Data structure defining complete menu.
* @insert_pt: Index in nc item array.
unsigned int item_count;
unsigned int insert_pt;
const char *help_title;
- const char *help_text;
- int (*hot_key)(struct pmenu *menu, struct pmenu_item *item, int c);
+ const struct help_text *help_text;
+ hot_key_fn *hot_keys;
+ unsigned int n_hot_keys;
void (*on_exit)(struct pmenu *menu);
void (*on_new)(struct pmenu *menu);
};
struct pmenu *pmenu_init(void *ui_ctx, unsigned int item_count,
void (*on_exit)(struct pmenu *));
int pmenu_setup(struct pmenu *menu);
-void pmenu_delete(struct pmenu *menu);
unsigned int pmenu_grow(struct pmenu *menu, unsigned int count);
int pmenu_remove(struct pmenu *menu, struct pmenu_item *item);
struct pmenu_item *pmenu_find_selected(struct pmenu *menu);