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