home *** CD-ROM | disk | FTP | other *** search
/ The Developer Connection…ice Driver Kit for OS/2 3 / DEV3-D1.ISO / editors / epm / sampmacs / stdmenu.e < prev    next >
Encoding:
Text File  |  1993-12-02  |  37.3 KB  |  627 lines

  1. compile if not defined(CORE_stuff)
  2. ; This determines whether the CORE-specific commands (DEFINE)
  3. ; are included in the menus.
  4.    const CORE_STUFF=0
  5. compile endif
  6.  
  7. /*
  8. ┌─────────────────────────────────────────────────────────────────────────────┐
  9. │What's it called  : loaddefaultmenu                                          │
  10. │                                                                             │
  11. │What does it do   : used by stdcnf.e to setup default EPM action bar         │
  12. │                    (Note: a menu id of 0 halts the interpreter when         │
  13. │                     selected.)                                              │
  14. │                                                                             │
  15. │Who and When      : Jerry C.     2/25/89                                     │
  16. └─────────────────────────────────────────────────────────────────────────────┘
  17. */
  18.  
  19. defc loaddefaultmenu
  20.    universal activemenu,defaultmenu
  21.  
  22.    parse arg menuname .
  23.    if menuname = '' then                  -- Initialization call
  24.       menuname = 'default'
  25.       defaultmenu = menuname              -- default menu name
  26.       activemenu  = defaultmenu
  27.    endif
  28.  
  29. compile if EPATH='LAMPATH'  -- LaMail sets up a mail menu first.
  30. defc loaddefaultmenu2
  31.    universal activemenu,defaultmenu
  32.    menuname = defaultmenu
  33. compile endif
  34. compile if EVERSION < 5.20  -- 5.20 doesn't run on earlier versions of OS/2; no need to check.
  35.    one_two = dos_version()>=1020
  36. compile endif
  37.    call add_file_menu(menuname)
  38.    call add_edit_menu(menuname)
  39.    call add_search_menu(menuname)
  40. compile if EVERSION < 5.20
  41.    call add_options_menu(menuname, one_two)
  42. compile else
  43.    call add_options_menu(menuname)
  44. compile endif
  45. compile if MENU_LIMIT
  46.    call add_ring_menu(menuname)
  47. compile endif
  48.    call add_command_menu(menuname)
  49. compile if EPATH<>'LAMPATH'  -- LaMail puts a VM menu here, then adds help.
  50.  compile if EVERSION < 5.20
  51.    call add_help_menu(menuname, one_two)
  52.  compile else
  53.    call add_help_menu(menuname)
  54.  compile endif
  55. compile endif
  56. compile if EVERSION = 5.60 -- Until next 5.60 update, anyway...
  57.    buildsubmenu  'SYSMENU', 81, '', '', 0 , 0
  58.      buildmenuitem 'SYSMENU', 81, 8100, \0,               '',                 4, 0
  59.      buildmenuitem 'SYSMENU', 81, 8101, CONFIG_MENU__MSG, 'configdlg SYS'CONFIG_MENUP__MSG,  0, mpfrom2short(HP_OPTIONS_CONFIG, 0)
  60.    showmenu 'SYSMENU',2
  61. compile endif
  62.  
  63. defproc add_file_menu(menuname)
  64. compile if RING_OPTIONAL
  65.    universal ring_enabled
  66. compile endif
  67.    buildsubmenu menuname, 2, FILE_BAR__MSG, FILE_BARP__MSG, 0 , mpfrom2short(HP_FILE, 0)
  68.      buildmenuitem menuname, 2, 198, NEW_MENU__MSG,            'NEW'NEW_MENUP__MSG,     0, mpfrom2short(HP_FILE_NEW, 0)
  69.      buildmenuitem menuname, 2, 199, OPEN_NEW_MENU__MSG,       'OPEN'OPEN_NEW_MENUP__MSG,     0, mpfrom2short(HP_FILE_OPEN_NEW, 0)
  70.      buildmenuitem menuname, 2, 200, OPEN_MENU__MSG\9 || CTRL_KEY__MSG'+O', 'OPENDLG'OPEN_MENUP__MSG,          0, mpfrom2short(HP_FILE_OPEN, 0)
  71.      buildmenuitem menuname, 2, 201, GET_MENU__MSG,            'OPENDLG GET'GET_MENUP__MSG,      0, mpfrom2short(HP_FILE_GET , 0)
  72. compile if RING_OPTIONAL
  73.    if ring_enabled then
  74. compile endif
  75.      buildmenuitem menuname, 2, 202, ADD_MENU__MSG\9'F8', 'OPENDLG EDIT'ADD_MENUP__MSG,     0, mpfrom2short(HP_FILE_EDIT, 0)
  76. compile if RING_OPTIONAL
  77.    endif
  78. compile endif
  79.      buildmenuitem menuname, 2, 203, \0,                          '',                 4, 0
  80.      buildmenuitem menuname, 2, 204, RENAME_MENU__MSG\9'F7',   'rename'RENAME_MENUP__MSG,0, mpfrom2short(HP_FILE_NAME, 0)
  81.      buildmenuitem menuname, 2, 205, \0,                          '',                 4, 0
  82.      buildmenuitem menuname, 2, 206, SAVE_MENU__MSG\9'F2',     'SAVE'SAVE_MENUP__MSG,             0, mpfrom2short(HP_FILE_SAVE, 0)
  83. compile if EVERSION >= '5.21'
  84.      buildmenuitem menuname, 2, 208, SAVEAS_MENU__MSG,         'SAVEAS_DLG'SAVEAS_MENUP__MSG, 0, mpfrom2short(HP_FILE_SAVEAS, 0)
  85. compile endif
  86. compile if RING_OPTIONAL
  87.    if ring_enabled then
  88. compile endif         -- Note:  207 used in LaMail; keep ID the same.
  89.      buildmenuitem menuname, 2, 207, FILE_MENU__MSG\9'F4',     'FILE'FILE_MENUP__MSG,             0, mpfrom2short(HP_FILE_FILE, 0)
  90. compile if RING_OPTIONAL
  91.    else
  92.      buildmenuitem menuname, 2, 207, SAVECLOSE_MENU__MSG\9'F4',     'FILE'FILE_MENUP__MSG,        0, mpfrom2short(HP_FILE_FILE, 0)
  93.    endif
  94. compile endif
  95.      buildmenuitem menuname, 2, 209, QUIT_MENU__MSG\9'F3',     'QUIT'QUIT_MENUP__MSG,             0, mpfrom2short(HP_FILE_QUIT, 0)
  96.      buildmenuitem menuname, 2, 210, \0,                           '',                 4, 0
  97. compile if ENHANCED_PRINT_SUPPORT
  98.      buildmenuitem menuname, 2, 211, PRT_FILE_MENU__MSG'...',  'printdlg'ENHPRT_FILE_MENUP__MSG,         0, mpfrom2short(HP_FILE_ENHPRINT, 0)
  99. compile elseif EVERSION < '5.50'
  100.      buildmenuitem menuname, 2, 211, PRT_FILE_MENU__MSG,       'xcom save' default_printer()PRT_FILE_MENUP__MSG,   0, mpfrom2short(HP_FILE_PRINT, 0)
  101. compile else
  102.      buildmenuitem menuname, 2, 211, PRT_FILE_MENU__MSG,       'xcom save /ne' default_printer()PRT_FILE_MENUP__MSG,   0, mpfrom2short(HP_FILE_PRINT, 0)
  103. compile endif
  104.    return
  105.  
  106. define
  107.    PASTE_C_KEY = ''
  108.    PASTE_B_KEY = ''
  109.    PASTE_L_KEY = ''
  110. compile if DEFAULT_PASTE = ''
  111.    PASTE_L_KEY = \9 || SHIFT_KEY__MSG'+'INSERT_KEY__MSG
  112. compile elseif DEFAULT_PASTE = 'B'
  113.    PASTE_B_KEY = \9 || SHIFT_KEY__MSG'+'INSERT_KEY__MSG
  114. compile elseif DEFAULT_PASTE = 'C'
  115.    PASTE_C_KEY = \9 || SHIFT_KEY__MSG'+'INSERT_KEY__MSG
  116. compile else
  117.    * Error:  DEFAULT_PASTE must be '', 'B', or 'C'
  118. compile endif
  119.  
  120. compile if not defined(MAIL_ACCEL__L)  -- LaMail not NLS-translated.
  121.   const MAIL_ACCEL__L = 'M'
  122. compile endif
  123. define  -- Prepare for some conditional tests
  124. compile if EPATH = 'LAMPATH'  -- If LaMail, "Mail" will be on action bar
  125.    maybe_mail_accel = 'MAIL_ACCEL__L <>'
  126. compile else                  -- otherwise, it won't
  127.    maybe_mail_accel = "' ' <"    -- Will be true for any letter
  128. compile endif
  129. compile if MENU_LIMIT
  130.    maybe_ring_accel = 'RING_ACCEL__L <>'
  131. compile else
  132.    maybe_ring_accel = "' ' <"  -- Will be true for any letter
  133. compile endif
  134. compile if defined(ACTIONS_ACCEL__L)  -- For CUSTEPM support
  135.    maybe_actions_accel = 'ACTIONS_ACCEL__L <>'
  136. compile else
  137.    maybe_actions_accel = "' ' <"  -- Will be true for any letter
  138. compile endif
  139.  
  140. defproc add_edit_menu(menuname)
  141.  compile if WANT_STACK_CMDS = 'SWITCH'
  142.    universal stack_cmds
  143.  compile endif
  144.  compile if BLOCK_ACTIONBAR_ACCELERATORS = 'SWITCH'
  145.    universal CUA_MENU_ACCEL
  146.  compile endif
  147.  
  148. compile if BLOCK_ACTIONBAR_ACCELERATORS = 'SWITCH'
  149.    accel_len = (3+length(ALT_KEY__MSG))*(not CUA_MENU_ACCEL)
  150. compile endif
  151.  
  152.    buildsubmenu  menuname, 8, EDIT_BAR__MSG, ''EDIT_BARP__MSG, 0 , mpfrom2short(HP_EDIT, 0)
  153.      buildmenuitem menuname, 8, 816, UNDO_MENU__MSG\9 || ALT_KEY__MSG'+'BACKSPACE_KEY__MSG,   'UNDO 1'UNDO_MENUP__MSG,    0, mpfrom2short(HP_EDIT_UNDO, 0)
  154. compile if EVERSION > 5.19
  155.      buildmenuitem menuname, 8, 818, UNDO_REDO_MENU__MSG\9 || CTRL_KEY__MSG'+U', 'undodlg'UNDO_REDO_MENUP__MSG,      0, mpfrom2short(HP_EDIT_UNDOREDO, 0)
  156. compile endif
  157. compile if WANT_DM_BUFFER
  158.      buildmenuitem menuname, 8, 817, RECOVER_MARK_MENU__MSG,        'GetDMBuff'RECOVER_MARK_MENUP__MSG,    0, mpfrom2short(HP_EDIT_RECOVER, 0)
  159. compile endif  -- WANT_DM_BUFFER
  160.      buildmenuitem menuname, 8, 807, \0,                               '',          4, 0
  161.      buildmenuitem menuname, 8, 808, CLIP_COPY_MENU__MSG\9 || CTRL_KEY__MSG'+'INSERT_KEY__MSG ,  'Copy2Clip'CLIP_COPY_MENUP__MSG, 0, mpfrom2short(HP_EDIT_COPY, 0)
  162.      buildmenuitem menuname, 8, 809, CUT_MENU__MSG\9 || SHIFT_KEY__MSG'+'DELETE_KEY__MSG, 'Cut'CUT_MENUP__MSG,       0, mpfrom2short(HP_EDIT_CUT, 0)
  163.      buildmenuitem menuname, 8, 810, PASTE_C_MENU__MSG||PASTE_C_KEY,   'Paste C'PASTE_C_MENUP__MSG,   0, mpfrom2short(HP_EDIT_PASTEC, 0)
  164.      buildmenuitem menuname, 8, 811, PASTE_L_MENU__MSG||PASTE_L_KEY,   'Paste'PASTE_L_MENUP__MSG,     0, mpfrom2short(HP_EDIT_PASTE, 0)
  165.      buildmenuitem menuname, 8, 812, PASTE_B_MENU__MSG||PASTE_B_KEY,   'Paste B'PASTE_B_MENUP__MSG,   0, mpfrom2short(HP_EDIT_PASTEB, 0)
  166. compile if EVERSION >= 5.50  -- In 5.50, we have a STYLE attribute
  167.      buildmenuitem menuname, 8, 826, \0,                               '',          4, 0
  168.      buildmenuitem menuname, 8, 827, STYLE_MENU__MSG\9 || CTRL_KEY__MSG'+Y',        'fontlist'STYLE_MENUP__MSG,    0, mpfrom2short(HP_OPTIONS_STYLE, 0)
  169. compile endif
  170.      buildmenuitem menuname, 8, 815, \0,                               '',          4, 0
  171.  
  172. compile if BLOCK_ACTIONBAR_ACCELERATORS=1 | (FILE_ACCEL__L<>'C' & EDIT_ACCEL__L<>'C' & SEARCH_ACCEL__L<>'C' & OPTIONS_ACCEL__L<>'C' & COMMAND_ACCEL__L<>'C' & HELP_ACCEL__L<>'C' & $maybe_mail_accel 'C' & $maybe_ring_accel 'C' & $maybe_actions_accel 'C')
  173.      buildmenuitem menuname, 8, 800, COPY_MARK_MENU__MSG\9 || ALT_KEY__MSG'+C',     'DUPMARK C'COPY_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_COPYMARK, 0)
  174. compile elseif BLOCK_ACTIONBAR_ACCELERATORS = 'SWITCH'
  175.      buildmenuitem menuname, 8, 800, COPY_MARK_MENU__MSG||leftstr(\9 || ALT_KEY__MSG'+C', accel_len),     'DUPMARK C'COPY_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_COPYMARK, 0)
  176. compile else
  177.      buildmenuitem menuname, 8, 800, COPY_MARK_MENU__MSG,              'DUPMARK C'COPY_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_COPYMARK, 0)
  178. compile endif
  179. compile if BLOCK_ACTIONBAR_ACCELERATORS=1 | (FILE_ACCEL__L<>'M' & EDIT_ACCEL__L<>'M' & SEARCH_ACCEL__L<>'M' & OPTIONS_ACCEL__L<>'M' & COMMAND_ACCEL__L<>'M' & HELP_ACCEL__L<>'M' & $maybe_mail_accel 'M' & $maybe_ring_accel 'M' & $maybe_actions_accel 'M')
  180.      buildmenuitem menuname, 8, 801, MOVE_MARK_MENU__MSG\9 || ALT_KEY__MSG'+M',     'DUPMARK M'MOVE_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_MOVE, 0)
  181. compile elseif BLOCK_ACTIONBAR_ACCELERATORS = 'SWITCH'
  182.      buildmenuitem menuname, 8, 801, MOVE_MARK_MENU__MSG||leftstr(\9 || ALT_KEY__MSG'+M', accel_len),     'DUPMARK M'MOVE_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_MOVE, 0)
  183. compile else
  184.      buildmenuitem menuname, 8, 801, MOVE_MARK_MENU__MSG,     'DUPMARK M'MOVE_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_MOVE, 0)
  185. compile endif
  186. compile if BLOCK_ACTIONBAR_ACCELERATORS=1 | (FILE_ACCEL__L<>'O' & EDIT_ACCEL__L<>'O' & SEARCH_ACCEL__L<>'O' & OPTIONS_ACCEL__L<>'O' & COMMAND_ACCEL__L<>'O' & HELP_ACCEL__L<>'O' & $maybe_mail_accel 'O' & $maybe_ring_accel 'O' & $maybe_actions_accel 'O')
  187.      buildmenuitem menuname, 8, 802, OVERLAY_MARK_MENU__MSG\9 || ALT_KEY__MSG'+O',  'DUPMARK O'OVERLAY_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_OVERLAY, 0)
  188. compile elseif BLOCK_ACTIONBAR_ACCELERATORS = 'SWITCH'
  189.      buildmenuitem menuname, 8, 802, OVERLAY_MARK_MENU__MSG||leftstr(\9 || ALT_KEY__MSG'+O', accel_len),  'DUPMARK O'OVERLAY_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_OVERLAY, 0)
  190. compile else
  191.      buildmenuitem menuname, 8, 802, OVERLAY_MARK_MENU__MSG,  'DUPMARK O'OVERLAY_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_OVERLAY, 0)
  192. compile endif
  193. compile if BLOCK_ACTIONBAR_ACCELERATORS=1 | (FILE_ACCEL__L<>'A' & EDIT_ACCEL__L<>'A' & SEARCH_ACCEL__L<>'A' & OPTIONS_ACCEL__L<>'A' & COMMAND_ACCEL__L<>'A' & HELP_ACCEL__L<>'A' & $maybe_mail_accel 'A' & $maybe_ring_accel 'A' & $maybe_actions_accel 'A')
  194.      buildmenuitem menuname, 8, 803, ADJUST_MARK_MENU__MSG\9 || ALT_KEY__MSG'+A',   'DUPMARK A'ADJUST_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_ADJUST, 0)
  195. compile elseif BLOCK_ACTIONBAR_ACCELERATORS = 'SWITCH'
  196.      buildmenuitem menuname, 8, 803, ADJUST_MARK_MENU__MSG||leftstr(\9 || ALT_KEY__MSG'+A', accel_len),   'DUPMARK A'ADJUST_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_ADJUST, 0)
  197. compile else
  198.      buildmenuitem menuname, 8, 803, ADJUST_MARK_MENU__MSG,   'DUPMARK A'ADJUST_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_ADJUST, 0)
  199. compile endif
  200.      buildmenuitem menuname, 8, 804, \0,                       '',          4, 0
  201. compile if BLOCK_ACTIONBAR_ACCELERATORS=1 | (FILE_ACCEL__L<>'U' & EDIT_ACCEL__L<>'U' & SEARCH_ACCEL__L<>'U' & OPTIONS_ACCEL__L<>'U' & COMMAND_ACCEL__L<>'U' & HELP_ACCEL__L<>'U' & $maybe_mail_accel 'U' & $maybe_ring_accel 'U' & $maybe_actions_accel 'U')
  202.      buildmenuitem menuname, 8, 805, UNMARK_MARK_MENU__MSG\9 || ALT_KEY__MSG'+U',   'DUPMARK U'UNMARK_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_UNMARK, 0)
  203. compile elseif BLOCK_ACTIONBAR_ACCELERATORS = 'SWITCH'
  204.      buildmenuitem menuname, 8, 805, UNMARK_MARK_MENU__MSG||leftstr(\9 || ALT_KEY__MSG'+U', accel_len),   'DUPMARK U'UNMARK_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_UNMARK, 0)
  205. compile else
  206.      buildmenuitem menuname, 8, 805, UNMARK_MARK_MENU__MSG,   'DUPMARK U'UNMARK_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_UNMARK, 0)
  207. compile endif
  208. compile if BLOCK_ACTIONBAR_ACCELERATORS=1 | (FILE_ACCEL__L<>'D' & EDIT_ACCEL__L<>'D' & SEARCH_ACCEL__L<>'D' & OPTIONS_ACCEL__L<>'D' & COMMAND_ACCEL__L<>'D' & HELP_ACCEL__L<>'D' & $maybe_mail_accel 'D' & $maybe_ring_accel 'D' & $maybe_actions_accel 'D')
  209.      buildmenuitem menuname, 8, 806, DELETE_MARK_MENU__MSG\9 || ALT_KEY__MSG'+D',   'DUPMARK D'DELETE_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_DELETE, 0)
  210. compile elseif BLOCK_ACTIONBAR_ACCELERATORS = 'SWITCH'
  211.      buildmenuitem menuname, 8, 806, DELETE_MARK_MENU__MSG||leftstr(\9 || ALT_KEY__MSG'+D', accel_len),   'DUPMARK D'DELETE_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_DELETE, 0)
  212. compile else
  213.      buildmenuitem menuname, 8, 806, DELETE_MARK_MENU__MSG,   'DUPMARK D'DELETE_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_DELETE, 0)
  214. compile endif
  215.  
  216. compile if WANT_STACK_CMDS
  217.  compile if WANT_STACK_CMDS = 'SWITCH'
  218.    if stack_cmds then
  219.  compile endif
  220.      buildmenuitem menuname, 8, 819, \0,                               '',          4, 0
  221.      buildmenuitem menuname, 8, 820, PUSH_MARK_MENU__MSG,              'PUSHMARK'PUSH_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_PUSHMARK, 0)
  222.      buildmenuitem menuname, 8, 821, POP_MARK_MENU__MSG,               'POPMARK'POP_MARK_MENUP__MSG,  0, mpfrom2short(HP_EDIT_POPMARK, 16384)
  223.      buildmenuitem menuname, 8, 822, SWAP_MARK_MENU__MSG,              'SWAPMARK'SWAP_MARK_MENUP__MSG,  0, mpfrom2short(HP_EDIT_SWAPMARK, 16384)
  224.      buildmenuitem menuname, 8, 823, PUSH_CURSOR_MENU__MSG,            'PUSHPOS'PUSH_CURSOR_MENUP__MSG,  0, mpfrom2short(HP_EDIT_PUSHPOS, 0)
  225.      buildmenuitem menuname, 8, 824, POP_CURSOR_MENU__MSG,             'POPPOS'POP_CURSOR_MENUP__MSG,   0, mpfrom2short(HP_EDIT_POPPOS, 16384)
  226.      buildmenuitem menuname, 8, 825, SWAP_CURSOR_MENU__MSG,            'SWAPPOS'SWAP_CURSOR_MENUP__MSG,   0, mpfrom2short(HP_EDIT_SWAPPOS, 16384)
  227.  compile if WANT_STACK_CMDS = 'SWITCH'
  228.    endif
  229.  compile endif
  230. compile endif
  231.      buildmenuitem menuname, 8, 813, \0,                               '',          4, 0
  232. compile if ENHANCED_PRINT_SUPPORT
  233.      buildmenuitem menuname, 8, 814, PRT_MARK_MENU__MSG'...',          'PRINTDLG M'ENHPRT_MARK_MENUP__MSG,0, mpfrom2short(HP_EDIT_ENHPRINT, 0)
  234. compile else
  235.      buildmenuitem menuname, 8, 814, PRT_MARK_MENU__MSG,               'DUPMARK P'PRT_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_PRINT, 0)
  236. compile endif
  237.    return
  238.  
  239. defproc add_search_menu(menuname)
  240.    buildsubmenu menuname, 3, SEARCH_BAR__MSG, ''SEARCH_BARP__MSG, 0 , mpfrom2short(HP_SEARCH, 0)
  241.      buildmenuitem menuname, 3, 300, SEARCH_MENU__MSG\9 || CTRL_KEY__MSG'+S',      'SEARCHDLG'SEARCH_MENUP__MSG,   0, mpfrom2short(HP_SEARCH_SEARCH, 0)
  242.      buildmenuitem menuname, 3, 301, \0,                           '',            4, 0
  243.      buildmenuitem menuname, 3, 302, FIND_NEXT_MENU__MSG\9 || CTRL_KEY__MSG'+F',   'SEARCHDLG F'FIND_NEXT_MENUP__MSG, 0, mpfrom2short(HP_SEARCH_FIND, 0)
  244.      buildmenuitem menuname, 3, 303, CHANGE_NEXT_MENU__MSG\9 || CTRL_KEY__MSG'+C', 'SEARCHDLG C'CHANGE_NEXT_MENUP__MSG, 0, mpfrom2short(HP_SEARCH_CHANGE, 0)
  245. compile if WANT_BOOKMARKS
  246.      buildmenuitem menuname, 3, 304, \0,                           '',            4, 0
  247.      buildmenuitem menuname, 3, 305, BOOKMARKS_MENU__MSG,   BOOKMARKS_MENUP__MSG, 17, mpfrom2short(HP_SEARCH_BOOKMARKS, 0)
  248.        buildmenuitem menuname, 3, 306, SET_MARK_MENU__MSG\9 || CTRL_KEY__MSG'+M',  'setmark'SET_MARK_MENUP__MSG, 0, mpfrom2short(HP_SEARCH_BOOKMARKS, 0)
  249.  compile if EVERSION < 5.21  -- 5.21 adds a custom dialog for setting bookmarks
  250.        buildmenuitem menuname, 3, 307, '~Set permanent...', 'setmarkp',       0, 0
  251.  compile endif
  252.        buildmenuitem menuname, 3, 308, LIST_MARK_MENU__MSG\9 || CTRL_KEY__MSG'+B', 'listmark'LIST_MARK_MENUP__MSG,       0, mpfrom2short(HP_SEARCH_BOOKMARKS, 0)
  253.        buildmenuitem menuname, 3, 310, \0,                  '',               4, 0
  254.        buildmenuitem menuname, 3, 311, NEXT_MARK_MENU__MSG\9 || ALT_KEY__MSG'+/',  'nextbookmark'NEXT_MARK_MENUP__MSG, 0, mpfrom2short(HP_SEARCH_BOOKMARKS, 0)
  255.        buildmenuitem menuname, 3, 312, PREV_MARK_MENU__MSG\9 || ALT_KEY__MSG'+\',  'nextbookmark P'PREV_MARK_MENUP__MSG, 32768+1, mpfrom2short(HP_SEARCH_BOOKMARKS, 0)
  256. compile endif
  257. compile if WANT_TAGS
  258.      buildmenuitem menuname, 3, 313, \0,                           '',            4, 0
  259.      buildmenuitem menuname, 3, 314, TAGS_MENU__MSG,   TAGS_MENUP__MSG, 17, mpfrom2short(HP_SEARCH_TAGS, 0)
  260.        buildmenuitem menuname, 3, 315, FIND_TAG_MENU__MSG\9 || SHIFT_KEY__MSG'+F6',  'findtag'FIND_TAG_MENUP__MSG, 0, mpfrom2short(HP_SEARCH_TAGS, 0)
  261.        buildmenuitem menuname, 3, 316, FIND_TAG2_MENU__MSG\9 || SHIFT_KEY__MSG'+F7', 'findtag *'FIND_TAG2_MENUP__MSG, 0, mpfrom2short(HP_SEARCH_TAGS, 0)
  262.        buildmenuitem menuname, 3, 317, \0,                  '',               4, 0
  263.        buildmenuitem menuname, 3, 318, TAGFILE_NAME_MENU__MSG\9 || SHIFT_KEY__MSG'+F8',  'tagsfile'TAGFILE_NAME_MENUP__MSG, 0, mpfrom2short(HP_SEARCH_TAGS, 0)
  264.        buildmenuitem menuname, 3, 317, \0,                  '',               4, 0
  265.        buildmenuitem menuname, 3, 319, MAKE_TAGS_MENU__MSG\9 || SHIFT_KEY__MSG'+F9',  'maketags *'MAKE_TAGS_MENUP__MSG, 32768+1, mpfrom2short(HP_SEARCH_TAGS, 0)
  266. compile endif
  267.    return
  268.  
  269. ; Preferences pull-right can get Set enter, Advanced mark, Stream mode, and
  270. ; Ring enabled, in addition to Configure.  Here we calculate which menu item
  271. ; gets the "end pullright" attribute.
  272. define
  273.     NEED_PREFERENCES = 1  -- Start out assuming this
  274.  compile if BLOCK_ACTIONBAR_ACCELERATORS = 'SWITCH'
  275.    ENTER__ATTRIB  = 0
  276.    MARK__ATTRIB   = 0
  277.    STREAM__ATTRIB = 0
  278.    RING__ATTRIB   = 0
  279.    STACK__ATTRIB  = 0
  280.    ACCEL__ATTRIB  = 32769
  281.  compile elseif WANT_STACK_CMDS = 'SWITCH'
  282.    ENTER__ATTRIB  = 0
  283.    MARK__ATTRIB   = 0
  284.    STREAM__ATTRIB = 0
  285.    RING__ATTRIB   = 0
  286.    STACK__ATTRIB  = 32769
  287.  compile elseif RING_OPTIONAL
  288.    ENTER__ATTRIB  = 0
  289.    MARK__ATTRIB   = 0
  290.    STREAM__ATTRIB = 0
  291.    RING__ATTRIB   = 32769
  292.  compile elseif WANT_STREAM_MODE = 'SWITCH'
  293.    ENTER__ATTRIB  = 0
  294.    MARK__ATTRIB   = 0
  295.    STREAM__ATTRIB = 32769
  296.  compile elseif WANT_CUA_MARKING = 'SWITCH'
  297.    ENTER__ATTRIB  = 0
  298.    MARK__ATTRIB   = 32769
  299.  compile elseif ENHANCED_ENTER_KEYS & WANT_STREAM_MODE <> 1 & EVERSION < 5.21  -- 5.21 adds this to config dialog
  300.    ENTER__ATTRIB  = 32769
  301.  compile else
  302.     NEED_PREFERENCES = 0  -- If none of the above, we don't need this after all
  303.  compile endif
  304.  compile if EVERSION < '5.50'
  305.     TOGGLEINFO = 'toggle_info'
  306.  compile elseif EVERSION < '5.53'
  307.     TOGGLEINFO = 'togglecontrol 23'
  308.  compile else
  309.     TOGGLEINFO = 'toggleframe 32'
  310.  compile endif
  311.  
  312. compile if WANT_NODISMISS_MENUS
  313.    define
  314.       NODISMISS = 32
  315. compile else
  316.    define
  317.       NODISMISS = 0
  318. compile endif -- WANT_NODISMISS_MENUS
  319.  
  320. compile if EVERSION < 5.20
  321. defproc add_options_menu(menuname,one_two)
  322. compile else
  323. defproc add_options_menu(menuname)
  324. compile endif
  325. compile if RING_OPTIONAL
  326.    universal ring_enabled
  327. compile endif
  328.    universal font
  329. compile if CHECK_FOR_LEXAM
  330.    universal LEXAM_is_available
  331. compile endif
  332.  
  333.    buildsubmenu menuname, 4, OPTIONS_BAR__MSG, OPTIONS_BARP__MSG, 0 , mpfrom2short(HP_OPTIONS, 0)
  334. compile if MENU_LIMIT = 0
  335.  compile if RING_OPTIONAL
  336.    if ring_enabled then
  337.  compile endif
  338.      buildmenuitem menuname, 4, 410, LIST_FILES_MENU__MSG\9 || CTRL_KEY__MSG'+G',     'Ring_More'LIST_FILES_MENUP__MSG,  0 , mpfrom2short(HP_OPTIONS_LIST, 0)
  339.      buildmenuitem menuname, 4, 411, \0,                       '',           4, 0
  340.  compile if RING_OPTIONAL
  341.    endif
  342.  compile endif
  343. compile endif
  344. compile if IBM_IUO & SPELL_SUPPORT
  345.  compile if CHECK_FOR_LEXAM
  346.    if LEXAM_is_available then
  347.  compile endif
  348.      buildmenuitem menuname, 4, 404, PROOF_MENU__MSG,           'proof'PROOF_MENUP__MSG,     0, mpfrom2short(HP_OPTIONS_PROOF, 0)
  349.      buildmenuitem menuname, 4, 405, PROOF_WORD_MENU__MSG,      'proofword'PROOF_WORD_MENUP__MSG, 0, mpfrom2short(HP_OPTIONS_PROOFW, 0)
  350.      buildmenuitem menuname, 4, 406, SYNONYM_MENU__MSG,         'syn'SYNONYM_MENUP__MSG,       0, mpfrom2short(HP_OPTIONS_SYN, 0)
  351.      buildmenuitem menuname, 4, 450, DYNASPELL_MENU__MSG,        'dynaspell'DYNASPELL_MENUP__MSG,       0, mpfrom2short(HP_OPTIONS_DYNASPELL, 0)
  352.  compile if CORE_STUFF
  353.      buildmenuitem menuname, 4, 426, DEFINE_WORD_MENU__MSG,     'define'DEFINE_WORD_MENUP__MSG,    0, mpfrom2short(HP_OPTIONS_DEFINE, 0)
  354.  compile endif  -- CORE_STUFF
  355.      buildmenuitem menuname, 4, 407, \0,           '',                       4, 0
  356.  compile if CHECK_FOR_LEXAM
  357.    endif
  358.  compile endif
  359. compile endif
  360. ; If no "Toggle stream mode" or "Toggle advanced marking" or "Enable ring", then
  361. ; place "Configure..." on main Options menu.  Otherwise, put it on a Preferences
  362. ; pull-right with the other stuff.
  363. compile if NEED_PREFERENCES
  364.      buildmenuitem menuname, 4, 400, PREFERENCES_MENU__MSG,    PREFERENCES_MENUP__MSG,  17, mpfrom2short(HP_OPTIONS_PREFERENCES, 0)
  365. compile endif
  366. compile if WANT_APPLICATION_INI_FILE
  367.      buildmenuitem menuname, 4, 440, CONFIG_MENU__MSG,         'configdlg'CONFIG_MENUP__MSG,  0, mpfrom2short(HP_OPTIONS_CONFIG, 0)
  368.  compile if ENHANCED_ENTER_KEYS & WANT_STREAM_MODE <> 1 & EVERSION < 5.21  -- 5.21 adds this to config dialog
  369.      buildmenuitem menuname, 4, 444, SETENTER_MENU__MSG,    'config_enter'SETENTER_MENUP__MSG,  ENTER__ATTRIB, mpfrom2short(HP_OPTIONS_CFGENTER, 0)
  370.  compile endif
  371. compile endif
  372. compile if WANT_CUA_MARKING = 'SWITCH'
  373.      buildmenuitem menuname, 4, 441, ADVANCEDMARK_MENU__MSG,     'CUA_MARK_toggle'ADVANCEDMARK_MENUP__MSG, MARK__ATTRIB, mpfrom2short(HP_OPTIONS_CUATOGGLE, NODISMISS)
  374. compile endif
  375. compile if WANT_STREAM_MODE = 'SWITCH'
  376.      buildmenuitem menuname, 4, 442, STREAMMODE_MENU__MSG,  'stream_toggle'STREAMMODE_MENUP__MSG,  STREAM__ATTRIB, mpfrom2short(HP_OPTIONS_STREAM, NODISMISS)
  377. compile endif
  378. compile if RING_OPTIONAL
  379.      buildmenuitem menuname, 4, 443, RINGENABLED_MENU__MSG,    'ring_toggle'RINGENABLED_MENUP__MSG,  RING__ATTRIB, mpfrom2short(HP_OPTIONS_RINGENABLE, 0)
  380. compile endif
  381. compile if WANT_STACK_CMDS = 'SWITCH'
  382.      buildmenuitem menuname, 4, 445, STACKCMDS_MENU__MSG,      'stack_toggle'STACKCMDS_MENUP__MSG,  STACK__ATTRIB, mpfrom2short(HP_OPTIONS_STACKCMDS, 0)
  383. compile endif
  384. compile if BLOCK_ACTIONBAR_ACCELERATORS = 'SWITCH'
  385.      buildmenuitem menuname, 4, 446, CUAACCEL_MENU__MSG,       'accel_toggle'CUAACCEL_MENUP__MSG,  ACCEL__ATTRIB, mpfrom2short(HP_OPTIONS_CUAACCEL, NODISMISS)
  386. compile endif
  387.      buildmenuitem menuname, 4, 401, \0,                       '',           4, 0
  388.      buildmenuitem menuname, 4, 402, AUTOSAVE_MENU__MSG,       'autosave ?'AUTOSAVE_MENUP__MSG, 0, mpfrom2short(HP_OPTIONS_AUTOSAVE, 0)
  389.      buildmenuitem menuname, 4, 403, \0,                       '',           4, 0
  390.      buildmenuitem menuname, 4, 412, MESSAGES_MENU__MSG,       'messagebox'MESSAGES_MENUP__MSG, 0, mpfrom2short(HP_OPTIONS_MESSAGES, 0)
  391.      buildmenuitem menuname, 4, 409, \0,           '',                       4, 0
  392. ;  Note:  408 is referenced by TOGGLEFONT.  If the number changes, update TOGGLEFONT.
  393. compile if EVERSION < 5.50
  394.  compile if EVERSION < 5.20  -- Earlier EPM versions didn't do DEVESCAPE
  395.    if screenxysize('X')>1000 and one_two then  -- BGA and 1.2 or above
  396.  compile else                -- We can assume 1.2 or above; 1.1 no longer supported
  397.    if screenxysize('X')>1000 or dos_version()>=1030 then  -- BGA *or* 1.3 for many fonts
  398.  compile endif
  399. compile endif
  400. compile if EVERSION < 5.21  -- In 5.21, on notebook config control
  401.         buildmenuitem menuname, 4, 408, CHANGE_FONT_MENU__MSG,  'fontlist'CHANGE_FONT_MENUP__MSG,    0, mpfrom2short(HP_OPTIONS_FONT, 0)
  402. compile endif
  403. compile if EVERSION < 5.50
  404.    else
  405.       if font then
  406.         buildmenuitem menuname, 4, 408, SMALL_FONT_MENU__MSG,    'togglefont'SMALL_FONT_MENUP__MSG,  0, mpfrom2short(HP_OPTIONS_FONT, 0)
  407.       else
  408.         buildmenuitem menuname, 4, 408, LARGE_FONT_MENU__MSG,    'togglefont'LARGE_FONT_MENUP__MSG,  0, mpfrom2short(HP_OPTIONS_FONT, 0)
  409.       endif
  410.    endif
  411. compile endif
  412.  
  413. compile if EVERSION > 5.18
  414.      buildmenuitem menuname, 4, 425, FRAME_CTRLS_MENU__MSG, FRAME_CTRLS_MENUP__MSG, 17, mpfrom2short(HP_OPTIONS_FRAME, 0)
  415.  compile if EVERSION < 5.53
  416.         buildmenuitem menuname, 4, 413, STATUS_LINE_MENU__MSG, 'togglecontrol 7'STATUS_LINE_MENUP__MSG, 0, mpfrom2short(HP_FRAME_STATUS, NODISMISS)
  417.         buildmenuitem menuname, 4, 414, MSG_LINE_MENU__MSG,    'togglecontrol 8'MSG_LINE_MENUP__MSG, 0, mpfrom2short(HP_FRAME_MESSAGE, NODISMISS)
  418.  compile else
  419.         buildmenuitem menuname, 4, 413, STATUS_LINE_MENU__MSG, 'toggleframe 1'STATUS_LINE_MENUP__MSG, 0, mpfrom2short(HP_FRAME_STATUS, NODISMISS)
  420.         buildmenuitem menuname, 4, 414, MSG_LINE_MENU__MSG,    'toggleframe 2'MSG_LINE_MENUP__MSG, 0, mpfrom2short(HP_FRAME_MESSAGE, NODISMISS)
  421.  compile endif
  422.         buildmenuitem menuname, 4, 415, SCROLL_BARS_MENU__MSG, 'setscrolls'SCROLL_BARS_MENUP__MSG,      0, mpfrom2short(HP_FRAME_SCROLL, NODISMISS)
  423. ;;      buildmenuitem menuname, 4, 416, 'Partial te~xt',       'togglecontrol 15', 32768+1, 0, 0
  424.  compile if EVERSION < 5.50
  425.         buildmenuitem menuname, 4, 416, FILEICON_MENU__MSG,     'togglecontrol 22'FILEICON_MENUP__MSG, 0, mpfrom2short(HP_FRAME_FILE, NODISMISS)
  426.  compile endif
  427.  compile if EVERSION < 5.53
  428.         buildmenuitem menuname, 4, 417, ROTATEBUTTONS_MENU__MSG,'togglecontrol 20'ROTATEBUTTONS_MENUP__MSG, 0, mpfrom2short(HP_FRAME_ROTATE, NODISMISS)
  429.  compile else
  430.         buildmenuitem menuname, 4, 417, ROTATEBUTTONS_MENU__MSG,'toggleframe 4'ROTATEBUTTONS_MENUP__MSG, 0, mpfrom2short(HP_FRAME_ROTATE, NODISMISS)
  431.  compile endif
  432.  compile if WANT_TOOLBAR
  433.   compile if WANT_NODISMISS_MENUS
  434.         buildmenuitem menuname, 4, 430, TOGGLETOOLBAR_MENU__MSG, 'toggle_toolbar'TOGGLETOOLBAR_MENUP__MSG, 1, mpfrom2short(HP_TOOLBAR_TOGGLE, NODISMISS)
  435.   compile else
  436.         buildmenuitem menuname, 4, 430, TOGGLETOOLBAR_MENU__MSG, 'toggleframe' EFRAMEF_TOOLBAR||TOGGLETOOLBAR_MENUP__MSG, 1, mpfrom2short(HP_TOOLBAR_TOGGLE, NODISMISS)
  437.   compile endif -- if WANT_NODISMISS_MENUS
  438.  compile endif -- WANT_TOOLBAR
  439.  compile if EVERSION >= 5.60
  440.         buildmenuitem menuname, 4, 437, TOGGLEBITMAP_MENU__MSG,'toggle_bitmap'TOGGLEBITMAP_MENUP__MSG, 0, mpfrom2short(HP_FRAME_BITMAP, NODISMISS)
  441.  compile endif
  442.         buildmenuitem menuname, 4, 439, \0,                       '',           4, 0
  443.  compile if WANT_DYNAMIC_PROMPTS
  444.         buildmenuitem menuname, 4, 421, INFOATTOP_MENU__MSG,   TOGGLEINFO || INFOATTOP_MENUP__MSG,     0, mpfrom2short(HP_FRAME_EXTRAPOS, NODISMISS)
  445.         buildmenuitem menuname, 4, 422, PROMPTING_MENU__MSG,   'toggleprompt'PROMPTING_MENUP__MSG,     32768+1, mpfrom2short(HP_FRAME_PROMPT, NODISMISS)
  446.  compile else
  447.         buildmenuitem menuname, 4, 421, INFOATTOP_MENU__MSG,   TOGGLEINFO || INFOATTOP_MENUP__MSG,     32768+1, mpfrom2short(HP_FRAME_EXTRAPOS, NODISMISS)
  448.  compile endif
  449. compile else
  450.      buildmenuitem menuname, 4, 413, STATUS_LINE_MENU__MSG,    'togglecontrol 7', 0, 0
  451.      buildmenuitem menuname, 4, 414, MSG_LINE_MENU__MSG,  ,    'togglecontrol 8', 0, 0
  452.      buildmenuitem menuname, 4, 415, SCROLL_BARS_MENU__MSG,    'setscrolls',  0, 0
  453. ;;   buildmenuitem menuname, 4, 416, 'Partial te~xt',          'togglecontrol 15', 0, 0
  454. compile endif
  455. compile if WANT_APPLICATION_INI_FILE
  456.      buildmenuitem menuname, 4, 418, SAVE_OPTS_MENU__MSG,      'saveoptions'SAVE_OPTS_MENUP__MSG, 0, mpfrom2short(HP_OPTIONS_SAVE, 0)
  457. compile endif
  458. compile if EPATH = 'LAMPATH'
  459.      buildmenuitem menuname, 4, 419, \0,                       '',           4, 0
  460.      buildmenuitem menuname, 4, 420, TO_DESKTOP_MENU__MSG,     'popbook'TO_DESKTOP_MENUP__MSG, 0, 0
  461. compile elseif SUPPORT_BOOK_ICON
  462.      buildmenuitem menuname, 4, 419, \0,                       '',           4, 0
  463.      buildmenuitem menuname, 4, 420, TO_BOOK_MENU__MSG,        'popbook'TO_BOOK_MENUP__MSG, 0, mpfrom2short(HP_OPTIONS_BOOK, 0)
  464. compile endif
  465.    return
  466.  
  467. compile if MENU_LIMIT
  468. defproc add_ring_menu(menuname)
  469.    buildsubmenu menuname, 5, RING_BAR__MSG, LIST_FILES_MENUP__MSG, 0 , 0
  470.      if .titletext=='' then
  471.         buildmenuitem menuname, 5, 500, .filename, '',0,0
  472.      else
  473.         buildmenuitem menuname, 5, 500, .titletext, '',0,0
  474.      endif
  475.    return
  476. compile endif
  477.  
  478. defproc add_command_menu(menuname)
  479.    buildsubmenu menuname, 1, COMMAND_BAR__MSG, COMMAND_BARP__MSG, 0 , mpfrom2short(HP_COMMAND, 0)
  480.      buildmenuitem menuname, 1, 100, COMMANDLINE_MENU__MSG\9 || CTRL_KEY__MSG'+I', 'commandline'COMMANDLINE_MENUP__MSG,   0, mpfrom2short(HP_COMMAND_CMD, 0)
  481. compile if EVERSION >= 5.50
  482.      buildmenuitem menuname, 1, 65535, HALT_COMMAND_MENU__MSG, '', 0, mpfrom2short(HP_COMMAND_HALT, 0)
  483. compile else
  484.      buildmenuitem menuname, 1, 0, HALT_COMMAND_MENU__MSG, '', 0, mpfrom2short(HP_COMMAND_HALT, 0)
  485. compile endif
  486. compile if WANT_EPM_SHELL = 1
  487.      buildmenuitem menuname, 1, 101, \0,                      '',            4, 0
  488.      buildmenuitem menuname, 1, 102, CREATE_SHELL_MENU__MSG,       'shell'CREATE_SHELL_MENUP__MSG,       0, mpfrom2short(HP_COMMAND_SHELL, 0)
  489.      buildmenuitem menuname, 1, 103, WRITE_SHELL_MENU__MSG,        'shell_write'WRITE_SHELL_MENUP__MSG, 0, mpfrom2short(HP_COMMAND_SHELL, 16384)
  490. ;    buildmenuitem menuname, 1, 104, KILL_SHELL_MENU__MSG,         'shell_kill'KILL_SHELL_MENUP__MSG,  0, mpfrom2short(HP_COMMAND_SHELL, 16384)
  491. compile endif
  492.    return
  493.  
  494. compile if EVERSION < 5.20
  495. defproc add_help_menu(menuname, one_two)
  496.    attrib = 16384 * (not one_two)   -- If OS/2 1.2 then 0; else 16384 (greyed out)
  497. compile else
  498. defproc add_help_menu(menuname)
  499.    attrib = 0
  500. compile endif
  501.    buildsubmenu menuname, HELP_MENU_ID, HELP_BAR__MSG, 'help'HELP_BARP__MSG, /* 512 */  0, mpfrom2short(HP_HELP, 0)
  502.      buildmenuitem menuname, HELP_MENU_ID, 603, HELP_INDEX_MENU__MSG,   'helpmenu 10'/*64044*/HELP_INDEX_MENUP__MSG,   0, mpfrom2short(HP_HELP_INDEX, attrib)
  503.      buildmenuitem menuname, HELP_MENU_ID, 601, EXT_HELP_MENU__MSG,     'helpmenu 4000'EXT_HELP_MENUP__MSG, 0, mpfrom2short(HP_HELP_EXTENDED, attrib)
  504.      buildmenuitem menuname, HELP_MENU_ID, 600, HELP_HELP_MENU__MSG,    'helpmenu 64027'HELP_HELP_MENUP__MSG,    0, mpfrom2short(HP_HELP_HELP, attrib)
  505.      buildmenuitem menuname, HELP_MENU_ID, 602, KEYS_HELP_MENU__MSG,    'helpmenu 1000'KEYS_HELP_MENUP__MSG, 0, mpfrom2short(HP_HELP_KEYS, attrib)
  506. compile if IBM_IUO
  507.      buildmenuitem menuname, HELP_MENU_ID, 604, \0,           '',                        4, 0
  508.      buildmenuitem menuname, HELP_MENU_ID, 605, HELP_BROWSER_MENU__MSG, 'help'HELP_BROWSER_MENUP__MSG,    0, mpfrom2short(HP_HELP_BROWSE, 0)
  509. compile endif
  510.      buildmenuitem menuname, HELP_MENU_ID, 606, \0,           '',                        4, 0
  511. compile if 0
  512.      buildmenuitem menuname, HELP_MENU_ID, 607, '#211'||(3-(screenxysize('X')>1000)), 'IBMmsg'HELP_PROD_MENUP__MSG, 2, mpfrom2short(HP_HELP_IBM, 0)
  513.                          -- Resource # 2112 or 2113 in ERES.DLL
  514. compile else
  515.      buildmenuitem menuname, HELP_MENU_ID, 607, HELP_PROD_MENU__MSG, 'IBMmsg'HELP_PROD_MENUP__MSG, 0, mpfrom2short(HP_HELP_PROD, 0)
  516. compile endif
  517. compile if SUPPORT_USERS_GUIDE | SUPPORT_TECHREF
  518.      buildmenuitem menuname, HELP_MENU_ID, 610, \0,           '',                        4, 0
  519.  compile if SUPPORT_USERS_GUIDE
  520.      buildmenuitem menuname, HELP_MENU_ID, 620, USERS_GUIDE_MENU__MSG,   USERS_GUIDE_MENUP__MSG, 17+64, mpfrom2short(HP_HELP_USERS_GUIDE, 0)
  521.        buildmenuitem menuname, HELP_MENU_ID, 621, VIEW_USERS_MENU__MSG,  'view epmusers'VIEW_USERS_MENUP__MSG, 0, mpfrom2short(HP_HELP_USERS_GUIDE, 0)
  522.        buildmenuitem menuname, HELP_MENU_ID, 622, VIEW_IN_USERS_MENU__MSG,  'viewword epmusers'VIEW_IN_USERS_MENUP__MSG, 32768+1, mpfrom2short(HP_HELP_USERS_GUIDE, 0)
  523.  compile endif
  524.  compile if SUPPORT_TECHREF
  525.      buildmenuitem menuname, HELP_MENU_ID, 630, TECHREF_MENU__MSG,   TECHREF_MENUP__MSG, 17+64, mpfrom2short(HP_HELP_TECHREF, 0)
  526.        buildmenuitem menuname, HELP_MENU_ID, 631, VIEW_TECHREF_MENU__MSG,  'view epmtech'VIEW_TECHREF_MENUP__MSG, 0, mpfrom2short(HP_HELP_TECHREF, 0)
  527.        buildmenuitem menuname, HELP_MENU_ID, 632, VIEW_IN_TECHREF_MENU__MSG,  'viewword epmtech'VIEW_IN_TECHREF_MENUP__MSG, 32768+1, mpfrom2short(HP_HELP_TECHREF, 0)
  528.  compile endif
  529. compile endif
  530.  
  531. defproc readd_help_menu
  532.    universal defaultmenu, activemenu
  533.    call add_help_menu(defaultmenu)
  534.    call maybe_show_menu()
  535.  
  536. defproc maybe_show_menu
  537.    universal defaultmenu, activemenu
  538.    if activemenu=defaultmenu then
  539.       showmenu activemenu  -- show the updated EPM menu
  540. compile if SUPPORT_USERS_GUIDE
  541.       'postme cascade_menu 620'
  542. compile endif
  543. compile if SUPPORT_TECHREF
  544.       'postme cascade_menu 630'
  545. compile endif
  546. compile if defined(CUSTEPM_DEFAULT_SCREEN)
  547.       'postme cascade_menu' 3700 (CUSTEPM_DEFAULT_SCREEN + 3700)
  548. compile elseif defined(HAVE_CUSTEPM)
  549.       'postme cascade_menu' 3700
  550. compile endif
  551. compile if WANT_TOOLBAR
  552.       'postme cascade_menu 430 431'
  553. compile endif
  554.    endif
  555.  
  556. compile if BLOCK_ACTIONBAR_ACCELERATORS = 'SWITCH'
  557. define  -- Prepare for some conditional tests
  558.  compile if EPATH = 'LAMPATH'  -- If LaMail, "Mail" will be on action bar
  559.    maybe_mail_accel = 'MAIL_ACCEL__L ='
  560.  compile else                  -- otherwise, it won't
  561.    maybe_mail_accel = "' ' ="    -- Will be false for any letter
  562.  compile endif
  563.  compile if MENU_LIMIT
  564.    maybe_ring_accel = 'RING_ACCEL__L ='
  565.  compile else
  566.    maybe_ring_accel = "' ' ="  -- Will be false for any letter
  567.  compile endif
  568.  compile if defined(ACTIONS_ACCEL__L)  -- For CUSTEPM support
  569.    maybe_actions_accel = 'ACTIONS_ACCEL__L ='
  570.  compile else
  571.    maybe_actions_accel = "' ' ="  -- Will be true for any letter
  572.  compile endif
  573.  
  574. defproc update_edit_menu_text =
  575.    universal CUA_MENU_ACCEL
  576.    accel_len = (3+length(ALT_KEY__MSG))*(not CUA_MENU_ACCEL)
  577.  
  578.  compile if FILE_ACCEL__L = 'C' | EDIT_ACCEL__L = 'C' | SEARCH_ACCEL__L = 'C' | OPTIONS_ACCEL__L = 'C' | COMMAND_ACCEL__L = 'C' | HELP_ACCEL__L = 'C' | $maybe_mail_accel 'C' | $maybe_ring_accel 'C' | $maybe_actions_accel 'C'
  579.    menutext = COPY_MARK_MENU__MSG || leftstr(\9 || ALT_KEY__MSG'+C', accel_len)\0
  580.    call windowmessage(1, getpminfo(EPMINFO_EDITMENUHWND),
  581.                       398,                  -- x18e, MM_SetItemText
  582.                       800 + 65536,
  583.                       ltoa(offset(menutext) || selector(menutext), 10) )
  584.  compile endif
  585.  
  586.  compile if FILE_ACCEL__L = 'M' | EDIT_ACCEL__L = 'M' | SEARCH_ACCEL__L = 'M' | OPTIONS_ACCEL__L = 'M' | COMMAND_ACCEL__L = 'M' | HELP_ACCEL__L = 'M' | $maybe_mail_accel 'M' | $maybe_ring_accel 'M' | $maybe_actions_accel 'M'
  587.    menutext = MOVE_MARK_MENU__MSG || leftstr(\9 || ALT_KEY__MSG'+M', accel_len)\0
  588.    call windowmessage(1, getpminfo(EPMINFO_EDITMENUHWND),
  589.                       398,                  -- x18e, MM_SetItemText
  590.                       801 + 65536,
  591.                       ltoa(offset(menutext) || selector(menutext), 10) )
  592.  compile endif
  593.  
  594.  compile if FILE_ACCEL__L = 'O' | EDIT_ACCEL__L = 'O' | SEARCH_ACCEL__L = 'O' | OPTIONS_ACCEL__L = 'O' | COMMAND_ACCEL__L = 'O' | HELP_ACCEL__L = 'O' | $maybe_mail_accel 'O' | $maybe_ring_accel 'O' | $maybe_actions_accel 'O'
  595.    menutext = OVERLAY_MARK_MENU__MSG || leftstr(\9 || ALT_KEY__MSG'+O', accel_len)\0
  596.    call windowmessage(1, getpminfo(EPMINFO_EDITMENUHWND),
  597.                       398,                  -- x18e, MM_SetItemText
  598.                       802 + 65536,
  599.                       ltoa(offset(menutext) || selector(menutext), 10) )
  600.  compile endif
  601.  
  602.  compile if FILE_ACCEL__L = 'A' | EDIT_ACCEL__L = 'A' | SEARCH_ACCEL__L = 'A' | OPTIONS_ACCEL__L = 'A' | COMMAND_ACCEL__L = 'A' | HELP_ACCEL__L = 'A' | $maybe_mail_accel 'A' | $maybe_ring_accel 'A' | $maybe_actions_accel 'A'
  603.    menutext = ADJUST_MARK_MENU__MSG || leftstr(\9 || ALT_KEY__MSG'+A', accel_len)\0
  604.    call windowmessage(1, getpminfo(EPMINFO_EDITMENUHWND),
  605.                       398,                  -- x18e, MM_SetItemText
  606.                       803 + 65536,
  607.                       ltoa(offset(menutext) || selector(menutext), 10) )
  608.  compile endif
  609.  
  610.  compile if FILE_ACCEL__L = 'U' | EDIT_ACCEL__L = 'U' | SEARCH_ACCEL__L = 'U' | OPTIONS_ACCEL__L = 'U' | COMMAND_ACCEL__L = 'U' | HELP_ACCEL__L = 'U' | $maybe_mail_accel 'U' | $maybe_ring_accel 'U' | $maybe_actions_accel 'U'
  611.    menutext = UNMARK_MARK_MENU__MSG || leftstr(\9 || ALT_KEY__MSG'+U', accel_len)\0
  612.    call windowmessage(1, getpminfo(EPMINFO_EDITMENUHWND),
  613.                       398,                  -- x18e, MM_SetItemText
  614.                       805 + 65536,
  615.                       ltoa(offset(menutext) || selector(menutext), 10) )
  616.  compile endif
  617.  
  618.  compile if FILE_ACCEL__L = 'D' | EDIT_ACCEL__L = 'D' | SEARCH_ACCEL__L = 'D' | OPTIONS_ACCEL__L = 'D' | COMMAND_ACCEL__L = 'D' | HELP_ACCEL__L = 'D' | $maybe_mail_accel 'D' | $maybe_ring_accel 'D' | $maybe_actions_accel 'D'
  619.    menutext = DELETE_MARK_MENU__MSG || leftstr(\9 || ALT_KEY__MSG'+D', accel_len)\0
  620.    call windowmessage(1, getpminfo(EPMINFO_EDITMENUHWND),
  621.                       398,                  -- x18e, MM_SetItemText
  622.                       806 + 65536,
  623.                       ltoa(offset(menutext) || selector(menutext), 10) )
  624.  compile endif
  625.  
  626. compile endif
  627.