Merge with modular_map
[navit-package] / src / menu.h
1 enum menu_type {
2         menu_type_submenu,
3         menu_type_menu,
4         menu_type_toggle,
5 };
6
7 struct menu;
8
9 struct menu_methods {
10         struct menu_priv *(*add)(struct menu_priv *menu, struct menu_methods *meth, char *name, enum menu_type type, void (*callback)(struct menu *data_menu, void *data1, void *data2), struct menu *data_menu, void *data1, void *data2);
11         void (*set_toggle)(struct menu_priv *menu, int active);
12         int (*get_toggle)(struct menu_priv *menu);
13 };
14
15 struct menu {
16         struct menu_priv *priv;
17         struct menu_methods meth;
18 };
19
20 /* prototypes */
21 struct container;
22 struct menu;
23 void menu_route_do_update(struct container *co);
24 void menu_route_update(struct container *co);
25 struct menu *menu_add(struct menu *menu, char *name, enum menu_type type, void (*callback)(struct menu *menu, void *data1, void *data2), void *data1, void *data2);
26 void menu_set_toggle(struct menu *menu, int active);
27 int menu_get_toggle(struct menu *menu);