1 /*
2  *	xtrojka (c) 1994,1995,1996 Maarten Los
3  *
4  *	#include "COPYRIGHT"
5  *
6  *	created:	27.xi.1995
7  *	modified:	24.xii.1995	major restyle
8  *			11.iii.1996	added prototypes
9  *
10  *
11  *	header file for menu_tool.c
12  */
13 
14 #ifndef _menu_tool_h_
15 #define _menu_tool_h_
16 
17 #define HOTKEY_LEN		2
18 #define HOTKEY_WHITE		1
19 #define ITEM_WHITE		1
20 
21 #define SEPARATOR		'-'
22 #define NO_HOT			"_"
23 #define CHECKMARK		187
24 
25 
26 typedef struct _ITEM_LIST {
27 	String	name;
28 	String	hotkey;
29 } ITEM_LIST;
30 
31 
32 /*
33  *	this block should be statically defined!
34  *	it must be passed in 'client_data' to a callback function
35  */
36 typedef struct _MENU_BLOCK {
37 	Widget	menu_button;
38 	Widget	menu_shell;
39 	Widget	menu_box;
40 	int	item_count;
41 	void	(*std_callback)();
42 } MENU_BLOCK;
43 
44 
45 /*
46  *	function prototypes
47  */
48 
49 void init_menu_sys(void);
50 void init_trojkamenu(void);
51 void init_speedmenu(void);
52 MENU_BLOCK *create_menu(String, Widget, Widget*, Widget*, void());
53 void add_menu(MENU_BLOCK*, String, Widget *);
54 void format_menu(ITEM_LIST*, Widget *, int);
55 void popup_callback(Widget, XtPointer, XtPointer);
56 void trojkamenu_select_callback(Widget, XtPointer, XtPointer);
57 void speedmenu_select_callback(Widget, XtPointer, XtPointer);
58 void enable(int, int, flag);
59 void check_wizard_item(flag);
60 void check_slick_item(flag);
61 void check_speed_item(int, flag);
62 void check_item(Widget, flag);
63 char *format_item(char *, char*, int, flag);
64 
65 
66 #endif /* _menu_tool_h_ */
67 
68 
69