/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/ /* */ /* P†l Hedne 1990 */ /* */ /* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/ #include "dialog.h" extern MathModus; /* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */ /* ; */ /* ; */ /* ; */ /* ; */ /* ; */ /* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */ /* (macro _init */ /* ((int help_id) */ /* (string text) */ /* (global help_id) */ /* (= help_id (create_buffer "Help menu" "latex.mnu" 1)) */ /* (sprintf text "Help ID = %d" help_id) */ /* (message text) */ /* ) */ /* ) */ /* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */ /* ; */ /* -1 DIALOG_INIT The dialog manager has just been invoked ; */ /* -2 DIALOG_ENTER_FIELD The cursor has just entered a non-list field ; */ /* -3 DIALOG_ENTER_LIST The cursor has just entered a l ; */ /* -4 DIALOG_ALTER_LIST The current item in a list has just been changed ; */ /* -5 DIALOG_ALTER_MENU The current item in a menu has just been changed ; */ /* -5 DIALOG_MOVE_MENU (Same as DIALOG_ALTER_ME ; */ /* -6 DIALOG_PICK_MENU The user has just selected a menu button with Enter ; */ /* -7 DIALOG_EXIT_FIELD The cursor has just left a non-list field ; */ /* -8 DIALOG_EXIT_LIST The cursor has just left a l ; */ /* -9 DIALOG_TERM The dialog manager is exit ; */ /* -10 DIALOG_ESCAPE The user has just pressed Esc to exit all levels ; */ /* -11 DIALOG_F10 The user has just pressed F10 to save a dialog box ; */ /* -12 DIALOG_GREY_MINUS The user has just pressed the keypad minus key ; */ /* -13 DIALOG_CREATE_MENU A menu buffer has just been made current ; */ /* -14 DIALOG_CREATE_DBOX A dialog box data buffe ; */ /* ; */ /* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */ pro_help (...) { int event, line, retval, exe_sw; string text, macro_name; global macro_name, exe_sw; get_parm (0, event); get_parm (1, line); get_parm (2, text); switch (event) { case DIALOG_INIT: { retval = TRUE; /* (message "DIALOG INIT") */ } case DIALOG_ENTER_FIELD: { retval = TRUE; /* (message "DIALOG_ENTER_FIELD") */ } case DIALOG_ENTER_LIST: { retval = TRUE; /* (message "DIALOG_ENTER_LIST") */ } case DIALOG_ALTER_LIST: { retval = TRUE; /* (message "DIALOG_ALTER_LIST") */ } case DIALOG_ALTER_MENU: { retval = TRUE; /* (message "DIALOG_ALTER_MENU") */ } case DIALOG_MOVE_MENU: { retval = TRUE; /* (message "DIALOG_MOVE_MENU") */ } case DIALOG_PICK_MENU: { retval = TRUE; /* (message "DIALOG_PICK_MENU") */ macro_name = substr (text, index (text, ";") + 1); _dialog_esc (); exe_sw = 1; } case DIALOG_EXIT_FIELD: { retval = TRUE; /* (message "DIALOG_EXIT_FIELD") */ } case DIALOG_EXIT_LIST: { retval = TRUE; /* (message "DIALOG_EXIT_LIST") */ } case DIALOG_TERM: { retval = TRUE; /* (message "DIALOG_TERM") */ } case DIALOG_ESCAPE: { exe_sw = 0; retval = TRUE; /* (message "DIALOG_ESCAPE") */ } case DIALOG_F10: { retval = TRUE; /* (message "DIALOG_F10") */ } case DIALOG_GREY_MINUS: { retval = TRUE; /* (message "DIALOG_GREY_MINUS") */ } case DIALOG_CREATE_MENU: { retval = TRUE; /* (message "DIALOG_CREATE_MENU") */ } /* default */ default: { beep (); /* (message "Illegal key") */ } } returns retval; } /* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */ latex_help (...) { string file, title, msg, action; title = "LaTex help"; msg = "Press ESC to continue, ENTER to pick"; file = "latex.mnu"; if (MathModus == 1) file = "latexmat.mnu"; action = "pro_help"; /* (_process_menu lx by rx ty title msg filename buf_id action fast) */ _process_menu (10, 5, 10, 5, title, msg, file, NULL, action, 1); /* (_process_menu 10 15 70 5 title msg NULL help_id action 1) */ if (exe_sw == 1) execute_macro (macro_name); } /* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */ string gen_help (...) { string parameter,file, title, msg, action; int buf_key,line; title = ""; msg = "Press ESC to continue, ENTER to pick"; file = ""; action = "pro_help"; get_parm (0, file); title=file; exe_sw=0; if (get_parm (1, buf_key)) _process_menu(10,5,10,5,title,msg,NULL,buf_key,action,1,line,parameter); else _process_menu (10,5,10,5,title,msg,file,NULL,action,1,line,parameter); if (exe_sw == 1) execute_macro (macro_name); return(parameter); }