generate dependencies of modules automatically
[git-cheetah/kirill.git] / cheetahmenu.h
blobc423d3798dbf39433399c2fd4158381c5937b2da
1 #ifndef CHEETAHMENU_H
2 #define CHEETAHMENU_H
4 void build_cheetah_menu(struct git_data *data, void *platform_data);
6 /*
7 * Prototypes of functions that must be provided by the client
8 */
9 void reset_platform(void *platform);
10 BOOL build_separator(struct git_data *data, const struct menu_item *item,
11 void *platform);
12 BOOL build_item(struct git_data *data, const struct menu_item *item,
13 void *platform);
15 void *start_submenu(struct git_data *, const struct menu_item *item,
16 void *platform);
17 void end_submenu(void *parent, void *submenu);
19 void check_menu_item(void *platform, int checked);
22 * Cheetah-specific flags and functions
24 * Generally, nobody is interested in these flags & functions, but
25 * they may be useful for unit testing.
27 * 2 bits to indicate each choise are required because
28 * menu_item.selection is used as a mask and there are
29 * actually three choices:
30 * - selected;
31 * - not selected;
32 * - irrelevant
34 #define MENU_ITEM_FILE (1 << 0)
35 #define MENU_ITEM_DIR (1 << 1)
36 #define MENU_ITEM_NOREPO (1 << 2)
37 #define MENU_ITEM_REPO (1 << 3)
38 #define MENU_ITEM_TRACK (1 << 4)
39 #define MENU_ITEM_NOTRACK (1 << 5)
41 UINT cheetah_menu_mask(struct git_data *this_);
43 #endif /* CHEETAHMENU_H */