home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / e / epmmac2.zip / STDMENU.E < prev    next >
Text File  |  1993-01-11  |  29KB  |  473 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. include 'menuhelp.H'
  7.  
  8. /*
  9. ┌─────────────────────────────────────────────────────────────────────────────┐
  10. │What's it called  : loaddefaultmenu                                          │
  11. │                                                                             │
  12. │What does it do   : used by stdcnf.e to setup default EPM action bar         │
  13. │                    (Note: a menu id of 0 halts the interpreter when         │
  14. │                     selected.)                                              │
  15. │                                                                             │
  16. │Who and When      : Jerry C.     2/25/89                                     │
  17. └─────────────────────────────────────────────────────────────────────────────┘
  18. */
  19.  
  20. defc loaddefaultmenu
  21.    universal activemenu,defaultmenu
  22.  
  23.    parse arg menuname .
  24.    if menuname = '' then                  -- Initialization call
  25.       menuname = 'default'
  26.       defaultmenu = menuname              -- default menu name
  27.       activemenu  = defaultmenu
  28.    endif
  29.  
  30. compile if EPATH='LAMPATH'  -- LaMail sets up a mail menu first.
  31. defc loaddefaultmenu2
  32.    universal activemenu,defaultmenu
  33.    menuname = defaultmenu
  34. compile endif
  35. compile if EVERSION < 5.20  -- 5.20 doesn't run on earlier versions of OS/2; no need to check.
  36.    one_two = dos_version()>=1020
  37. compile endif
  38.    call add_file_menu(menuname)
  39.    call add_edit_menu(menuname)
  40.    call add_search_menu(menuname)
  41. compile if EVERSION < 5.20
  42.    call add_options_menu(menuname, one_two)
  43. compile else
  44.    call add_options_menu(menuname)
  45. compile endif
  46. compile if MENU_LIMIT
  47.    call add_ring_menu(menuname)
  48. compile endif
  49.    call add_command_menu(menuname)
  50. compile if EPATH<>'LAMPATH'  -- LaMail puts a VM menu here, then adds help.
  51.  compile if EVERSION < 5.20
  52.    call add_help_menu(menuname, one_two)
  53.  compile else
  54.    call add_help_menu(menuname)
  55.  compile endif
  56. compile endif
  57.  
  58. defproc add_file_menu(menuname)
  59. compile if RING_OPTIONAL
  60.    universal ring_enabled
  61. compile endif
  62.    buildsubmenu menuname, 2, FILE_BAR__MSG, FILE_BARP__MSG, 0 , mpfrom2short(HP_FILE, 0)
  63.      buildmenuitem menuname, 2, 198, NEW_MENU__MSG,            'NEW'NEW_MENUP__MSG,     0, mpfrom2short(HP_FILE_NEW, 0)
  64.      buildmenuitem menuname, 2, 199, OPEN_NEW_MENU__MSG,       'OPEN'OPEN_NEW_MENUP__MSG,     0, mpfrom2short(HP_FILE_OPEN_NEW, 0)
  65.      buildmenuitem menuname, 2, 200, OPEN_MENU__MSG\9'Ctrl+O', 'OPENDLG'OPEN_MENUP__MSG,          0, mpfrom2short(HP_FILE_OPEN, 0)
  66.      buildmenuitem menuname, 2, 201, GET_MENU__MSG,            'OPENDLG GET'GET_MENUP__MSG,      0, mpfrom2short(HP_FILE_GET , 0)
  67. compile if RING_OPTIONAL
  68.    if ring_enabled then
  69. compile endif
  70.      buildmenuitem menuname, 2, 202, ADD_MENU__MSG\9'F8', 'OPENDLG EDIT'ADD_MENUP__MSG,     0, mpfrom2short(HP_FILE_EDIT, 0)
  71. compile if RING_OPTIONAL
  72.    endif
  73. compile endif
  74.      buildmenuitem menuname, 2, 203, \0,                          '',                 4, 0
  75.      buildmenuitem menuname, 2, 204, RENAME_MENU__MSG\9'F7',   'rename'RENAME_MENUP__MSG,0, mpfrom2short(HP_FILE_NAME, 0)
  76.      buildmenuitem menuname, 2, 205, \0,                          '',                 4, 0
  77.      buildmenuitem menuname, 2, 206, SAVE_MENU__MSG\9'F2',     'SAVE'SAVE_MENUP__MSG,             0, mpfrom2short(HP_FILE_SAVE, 0)
  78. compile if EVERSION >= '5.21'
  79.      buildmenuitem menuname, 2, 208, SAVEAS_MENU__MSG,         'SAVEAS_DLG'SAVEAS_MENUP__MSG, 0, mpfrom2short(HP_FILE_SAVEAS, 0)
  80. compile endif
  81. compile if RING_OPTIONAL
  82.    if ring_enabled then
  83. compile endif         -- Note:  207 used in LaMail; keep ID the same.
  84.      buildmenuitem menuname, 2, 207, FILE_MENU__MSG\9'F4',     'FILE'FILE_MENUP__MSG,             0, mpfrom2short(HP_FILE_FILE, 0)
  85. compile if RING_OPTIONAL
  86.    else
  87.      buildmenuitem menuname, 2, 207, SAVECLOSE_MENU__MSG\9'F4',     'FILE'FILE_MENUP__MSG,        0, mpfrom2short(HP_FILE_FILE, 0)
  88.    endif
  89. compile endif
  90.      buildmenuitem menuname, 2, 209, QUIT_MENU__MSG\9'F3',     'QUIT'QUIT_MENUP__MSG,             0, mpfrom2short(HP_FILE_QUIT, 0)
  91.      buildmenuitem menuname, 2, 210, \0,                           '',                 4, 0
  92. compile if ENHANCED_PRINT_SUPPORT
  93.      buildmenuitem menuname, 2, 211, PRT_FILE_MENU__MSG'...',  'printdlg'ENHPRT_FILE_MENUP__MSG,         0, mpfrom2short(HP_FILE_ENHPRINT, 0)
  94. compile elseif EVERSION < '5.50'
  95.      buildmenuitem menuname, 2, 211, PRT_FILE_MENU__MSG,       'xcom save' default_printer()PRT_FILE_MENUP__MSG,   0, mpfrom2short(HP_FILE_PRINT, 0)
  96. compile else
  97.      buildmenuitem menuname, 2, 211, PRT_FILE_MENU__MSG,       'xcom save /ne' default_printer()PRT_FILE_MENUP__MSG,   0, mpfrom2short(HP_FILE_PRINT, 0)
  98. compile endif
  99.    return
  100.  
  101. define
  102.    PASTE_C_KEY = ''
  103.    PASTE_B_KEY = ''
  104.    PASTE_L_KEY = ''
  105. compile if DEFAULT_PASTE = ''
  106.    PASTE_L_KEY = \9 || SHIFT_KEY__MSG'+'INSERT_KEY__MSG
  107. compile elseif DEFAULT_PASTE = 'B'
  108.    PASTE_B_KEY = \9 || SHIFT_KEY__MSG'+'INSERT_KEY__MSG
  109. compile elseif DEFAULT_PASTE = 'C'
  110.    PASTE_C_KEY = \9 || SHIFT_KEY__MSG'+'INSERT_KEY__MSG
  111. compile else
  112.    * Error:  DEFAULT_PASTE must be '', 'B', or 'C'
  113. compile endif
  114.  
  115. compile if not defined(MAIL_ACCEL__L)  -- LaMail not NLS-translated.
  116.   const MAIL_ACCEL__L = 'M'
  117. compile endif
  118. define  -- Prepare for some conditional tests
  119. compile if EPATH = 'LAMPATH'  -- If LaMail, "Mail" will be on action bar
  120.    maybe_mail_accel = 'MAIL_ACCEL__L <>'
  121. compile else                  -- otherwise, it won't
  122.    maybe_mail_accel = "' ' <"    -- Will be true for any letter
  123. compile endif
  124. compile if MENU_LIMIT
  125.    maybe_ring_accel = 'RING_ACCEL__L <>'
  126. compile else
  127.    maybe_ring_accel = "' ' <"  -- Will be true for any letter
  128. compile endif
  129.  
  130. defproc add_edit_menu(menuname)
  131.  compile if WANT_STACK_CMDS = 'SWITCH'
  132.    universal stack_cmds
  133.  compile endif
  134.  compile if BLOCK_ACTIONBAR_ACCELERATORS = 'SWITCH'
  135.    universal CUA_MENU_ACCEL
  136.  compile endif
  137.    buildsubmenu  menuname, 8, EDIT_BAR__MSG, ''EDIT_BARP__MSG, 0 , mpfrom2short(HP_EDIT, 0)
  138.      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)
  139. compile if EVERSION > 5.19
  140.      buildmenuitem menuname, 8, 818, UNDO_REDO_MENU__MSG,           'undodlg'UNDO_REDO_MENUP__MSG,      0, mpfrom2short(HP_EDIT_UNDOREDO, 0)
  141. compile endif
  142. compile if WANT_DM_BUFFER
  143.      buildmenuitem menuname, 8, 817, RECOVER_MARK_MENU__MSG,        'GetDMBuff'RECOVER_MARK_MENUP__MSG,    0, mpfrom2short(HP_EDIT_RECOVER, 0)
  144. compile endif  -- WANT_DM_BUFFER
  145.      buildmenuitem menuname, 8, 807, \0,                               '',          4, 0
  146.      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)
  147.      buildmenuitem menuname, 8, 809, CUT_MENU__MSG\9 || SHIFT_KEY__MSG'+'DELETE_KEY__MSG, 'Cut'CUT_MENUP__MSG,       0, mpfrom2short(HP_EDIT_CUT, 0)
  148.      buildmenuitem menuname, 8, 810, PASTE_C_MENU__MSG||PASTE_C_KEY,   'Paste C'PASTE_C_MENUP__MSG,   0, mpfrom2short(HP_EDIT_PASTEC, 0)
  149.      buildmenuitem menuname, 8, 811, PASTE_L_MENU__MSG||PASTE_L_KEY,   'Paste'PASTE_L_MENUP__MSG,     0, mpfrom2short(HP_EDIT_PASTE, 0)
  150.      buildmenuitem menuname, 8, 812, PASTE_B_MENU__MSG||PASTE_B_KEY,   'Paste B'PASTE_B_MENUP__MSG,   0, mpfrom2short(HP_EDIT_PASTEB, 0)
  151. compile if EVERSION >= 5.50  -- In 5.50, we have a STYLE attribute
  152.      buildmenuitem menuname, 8, 826, \0,                               '',          4, 0
  153.      buildmenuitem menuname, 8, 827, STYLE_MENU__MSG\9'Ctrl+Y',        'fontlist'STYLE_MENUP__MSG,    0, mpfrom2short(HP_OPTIONS_STYLE, 0)
  154. compile endif
  155.      buildmenuitem menuname, 8, 815, \0,                               '',          4, 0
  156.  
  157. 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')
  158.      buildmenuitem menuname, 8, 800, COPY_MARK_MENU__MSG\9'Alt+C',     'DUPMARK C'COPY_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_COPYMARK, 0)
  159. compile elseif BLOCK_ACTIONBAR_ACCELERATORS = 'SWITCH'
  160.      buildmenuitem menuname, 8, 800, COPY_MARK_MENU__MSG||leftstr(\9'Alt+C',6*(not CUA_MENU_ACCEL)),     'DUPMARK C'COPY_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_COPYMARK, 0)
  161. compile else
  162.      buildmenuitem menuname, 8, 800, COPY_MARK_MENU__MSG,              'DUPMARK C'COPY_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_COPYMARK, 0)
  163. compile endif
  164. 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')
  165.      buildmenuitem menuname, 8, 801, MOVE_MARK_MENU__MSG\9'Alt+M',     'DUPMARK M'MOVE_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_MOVE, 0)
  166. compile elseif BLOCK_ACTIONBAR_ACCELERATORS = 'SWITCH'
  167.      buildmenuitem menuname, 8, 801, MOVE_MARK_MENU__MSG||leftstr(\9'Alt+M',6*(not CUA_MENU_ACCEL)),     'DUPMARK M'MOVE_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_MOVE, 0)
  168. compile else
  169.      buildmenuitem menuname, 8, 801, MOVE_MARK_MENU__MSG,     'DUPMARK M'MOVE_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_MOVE, 0)
  170. compile endif
  171. 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')
  172.      buildmenuitem menuname, 8, 802, OVERLAY_MARK_MENU__MSG\9'Alt+O',  'DUPMARK O'OVERLAY_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_OVERLAY, 0)
  173. compile elseif BLOCK_ACTIONBAR_ACCELERATORS = 'SWITCH'
  174.      buildmenuitem menuname, 8, 802, OVERLAY_MARK_MENU__MSG||leftstr(\9'Alt+O',6*(not CUA_MENU_ACCEL)),  'DUPMARK O'OVERLAY_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_OVERLAY, 0)
  175. compile else
  176.      buildmenuitem menuname, 8, 802, OVERLAY_MARK_MENU__MSG,  'DUPMARK O'OVERLAY_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_OVERLAY, 0)
  177. compile endif
  178. 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')
  179.      buildmenuitem menuname, 8, 803, ADJUST_MARK_MENU__MSG\9'Alt+A',   'DUPMARK A'ADJUST_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_ADJUST, 0)
  180. compile elseif BLOCK_ACTIONBAR_ACCELERATORS = 'SWITCH'
  181.      buildmenuitem menuname, 8, 803, ADJUST_MARK_MENU__MSG||leftstr(\9'Alt+A',6*(not CUA_MENU_ACCEL)),   'DUPMARK A'ADJUST_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_ADJUST, 0)
  182. compile else
  183.      buildmenuitem menuname, 8, 803, ADJUST_MARK_MENU__MSG,   'DUPMARK A'ADJUST_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_ADJUST, 0)
  184. compile endif
  185.      buildmenuitem menuname, 8, 804, \0,                       '',          4, 0
  186. 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')
  187.      buildmenuitem menuname, 8, 805, UNMARK_MARK_MENU__MSG\9'Alt+U',   'DUPMARK U'UNMARK_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_UNMARK, 0)
  188. compile elseif BLOCK_ACTIONBAR_ACCELERATORS = 'SWITCH'
  189.      buildmenuitem menuname, 8, 805, UNMARK_MARK_MENU__MSG||leftstr(\9'Alt+U',6*(not CUA_MENU_ACCEL)),   'DUPMARK U'UNMARK_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_UNMARK, 0)
  190. compile else
  191.      buildmenuitem menuname, 8, 805, UNMARK_MARK_MENU__MSG,   'DUPMARK U'UNMARK_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_UNMARK, 0)
  192. compile endif
  193. 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')
  194.      buildmenuitem menuname, 8, 806, DELETE_MARK_MENU__MSG\9'Alt+D',   'DUPMARK D'DELETE_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_DELETE, 0)
  195. compile elseif BLOCK_ACTIONBAR_ACCELERATORS = 'SWITCH'
  196.      buildmenuitem menuname, 8, 806, DELETE_MARK_MENU__MSG||leftstr(\9'Alt+D',6*(not CUA_MENU_ACCEL)),   'DUPMARK D'DELETE_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_DELETE, 0)
  197. compile else
  198.      buildmenuitem menuname, 8, 806, DELETE_MARK_MENU__MSG,   'DUPMARK D'DELETE_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_DELETE, 0)
  199. compile endif
  200.  
  201. compile if WANT_STACK_CMDS
  202.  compile if WANT_STACK_CMDS = 'SWITCH'
  203.    if stack_cmds then
  204.  compile endif
  205.      buildmenuitem menuname, 8, 819, \0,                               '',          4, 0
  206.      buildmenuitem menuname, 8, 820, PUSH_MARK_MENU__MSG,              'PUSHMARK'PUSH_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_PUSHMARK, 0)
  207.      buildmenuitem menuname, 8, 821, POP_MARK_MENU__MSG,               'POPMARK'POP_MARK_MENUP__MSG,  0, mpfrom2short(HP_EDIT_POPMARK, 16384)
  208.      buildmenuitem menuname, 8, 822, SWAP_MARK_MENU__MSG,              'SWAPMARK'SWAP_MARK_MENUP__MSG,  0, mpfrom2short(HP_EDIT_SWAPMARK, 16384)
  209.      buildmenuitem menuname, 8, 823, PUSH_CURSOR_MENU__MSG,            'PUSHPOS'PUSH_CURSOR_MENUP__MSG,  0, mpfrom2short(HP_EDIT_PUSHPOS, 0)
  210.      buildmenuitem menuname, 8, 824, POP_CURSOR_MENU__MSG,             'POPPOS'POP_CURSOR_MENUP__MSG,   0, mpfrom2short(HP_EDIT_POPPOS, 16384)
  211.      buildmenuitem menuname, 8, 825, SWAP_CURSOR_MENU__MSG,            'SWAPPOS'SWAP_CURSOR_MENUP__MSG,   0, mpfrom2short(HP_EDIT_SWAPPOS, 16384)
  212.  compile if WANT_STACK_CMDS = 'SWITCH'
  213.    endif
  214.  compile endif
  215. compile endif
  216.      buildmenuitem menuname, 8, 813, \0,                               '',          4, 0
  217. compile if ENHANCED_PRINT_SUPPORT
  218.      buildmenuitem menuname, 8, 814, PRT_MARK_MENU__MSG'...',          'PRINTDLG M'ENHPRT_MARK_MENUP__MSG,0, mpfrom2short(HP_EDIT_ENHPRINT, 0)
  219. compile else
  220.      buildmenuitem menuname, 8, 814, PRT_MARK_MENU__MSG,               'DUPMARK P'PRT_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_PRINT, 0)
  221. compile endif
  222.    return
  223.  
  224. defproc add_search_menu(menuname)
  225.    buildsubmenu menuname, 3, SEARCH_BAR__MSG, ''SEARCH_BARP__MSG, 0 , mpfrom2short(HP_SEARCH, 0)
  226.      buildmenuitem menuname, 3, 300, SEARCH_MENU__MSG\9'Ctrl+S',      'SEARCHDLG'SEARCH_MENUP__MSG,   0, mpfrom2short(HP_SEARCH_SEARCH, 0)
  227.      buildmenuitem menuname, 3, 301, \0,                           '',            4, 0
  228.      buildmenuitem menuname, 3, 302, FIND_NEXT_MENU__MSG\9'Ctrl+F',   'SEARCHDLG F'FIND_NEXT_MENUP__MSG, 0, mpfrom2short(HP_SEARCH_FIND, 0)
  229.      buildmenuitem menuname, 3, 303, CHANGE_NEXT_MENU__MSG\9'Ctrl+C', 'SEARCHDLG C'CHANGE_NEXT_MENUP__MSG, 0, mpfrom2short(HP_SEARCH_CHANGE, 0)
  230. compile if WANT_BOOKMARKS
  231.      buildmenuitem menuname, 3, 304, \0,                           '',            4, 0
  232.      buildmenuitem menuname, 3, 305, BOOKMARKS_MENU__MSG,   BOOKMARKS_MENUP__MSG, 17, mpfrom2short(HP_SEARCH_BOOKMARKS, 0)
  233.        buildmenuitem menuname, 3, 306, SET_MARK_MENU__MSG\9'Ctrl+M',  'setmark'SET_MARK_MENUP__MSG, 0, mpfrom2short(HP_SEARCH_BOOKMARKS, 0)
  234.  compile if EVERSION < 5.21  -- 5.21 adds a custom dialog for setting bookmarks
  235.        buildmenuitem menuname, 3, 307, '~Set permanent...', 'setmarkp',       0, 0
  236.  compile endif
  237.        buildmenuitem menuname, 3, 308, LIST_MARK_MENU__MSG\9'Ctrl+B', 'listmark'LIST_MARK_MENUP__MSG,       0, mpfrom2short(HP_SEARCH_BOOKMARKS, 0)
  238.        buildmenuitem menuname, 3, 310, \0,                  '',               4, 0
  239.        buildmenuitem menuname, 3, 311, NEXT_MARK_MENU__MSG\9'Alt+/',  'nextbookmark'NEXT_MARK_MENUP__MSG, 0, mpfrom2short(HP_SEARCH_BOOKMARKS, 0)
  240.        buildmenuitem menuname, 3, 312, PREV_MARK_MENU__MSG\9'Alt+\',  'nextbookmark P'PREV_MARK_MENUP__MSG, 32768+1, mpfrom2short(HP_SEARCH_BOOKMARKS, 0)
  241. compile endif
  242.    return
  243.  
  244. ; Preferences pull-right can get Set enter, Advanced mark, Stream mode, and
  245. ; Ring enabled, in addition to Configure.  Here we calculate which menu item
  246. ; gets the "end pullright" attribute.
  247. define
  248.     NEED_PREFERENCES = 1  -- Start out assuming this
  249.  compile if BLOCK_ACTIONBAR_ACCELERATORS = 'SWITCH'
  250.    ENTER__ATTRIB  = 0
  251.    MARK__ATTRIB   = 0
  252.    STREAM__ATTRIB = 0
  253.    RING__ATTRIB   = 0
  254.    STACK__ATTRIB  = 0
  255.    ACCEL__ATTRIB  = 32769
  256.  compile elseif WANT_STACK_CMDS = 'SWITCH'
  257.    ENTER__ATTRIB  = 0
  258.    MARK__ATTRIB   = 0
  259.    STREAM__ATTRIB = 0
  260.    RING__ATTRIB   = 0
  261.    STACK__ATTRIB  = 32769
  262.  compile elseif RING_OPTIONAL
  263.    ENTER__ATTRIB  = 0
  264.    MARK__ATTRIB   = 0
  265.    STREAM__ATTRIB = 0
  266.    RING__ATTRIB   = 32769
  267.  compile elseif WANT_STREAM_MODE = 'SWITCH'
  268.    ENTER__ATTRIB  = 0
  269.    MARK__ATTRIB   = 0
  270.    STREAM__ATTRIB = 32769
  271.  compile elseif WANT_CUA_MARKING = 'SWITCH'
  272.    ENTER__ATTRIB  = 0
  273.    MARK__ATTRIB   = 32769
  274.  compile elseif ENHANCED_ENTER_KEYS & WANT_STREAM_MODE <> 1 & EVERSION < 5.21  -- 5.21 adds this to config dialog
  275.    ENTER__ATTRIB  = 32769
  276.  compile else
  277.     NEED_PREFERENCES = 0  -- If none of the above, we don't need this after all
  278.  compile endif
  279.  compile if EVERSION < '5.50'
  280.     TOGGLEINFO = 'toggle_info'
  281.  compile elseif EVERSION < '5.53'
  282.     TOGGLEINFO = 'togglecontrol 23'
  283.  compile else
  284.     TOGGLEINFO = 'toggleframe 32'
  285.  compile endif
  286.  
  287. compile if EVERSION < 5.20
  288. defproc add_options_menu(menuname,one_two)
  289. compile else
  290. defproc add_options_menu(menuname)
  291. compile endif
  292. compile if RING_OPTIONAL
  293.    universal ring_enabled
  294. compile endif
  295.    universal font
  296. compile if CHECK_FOR_LEXAM
  297.    universal LEXAM_is_available
  298. compile endif
  299.  
  300.    buildsubmenu menuname, 4, OPTIONS_BAR__MSG, OPTIONS_BARP__MSG, 0 , mpfrom2short(HP_OPTIONS, 0)
  301. compile if MENU_LIMIT = 0
  302.  compile if RING_OPTIONAL
  303.    if ring_enabled then
  304.  compile endif
  305.      buildmenuitem menuname, 4, 410, LIST_FILES_MENU__MSG\9'Ctrl+G',     'Ring_More'LIST_FILES_MENUP__MSG,  0 , mpfrom2short(HP_OPTIONS_LIST, 0)
  306.      buildmenuitem menuname, 4, 411, \0,                       '',           4, 0
  307.  compile if RING_OPTIONAL
  308.    endif
  309.  compile endif
  310. compile endif
  311. compile if IBM_IUO & SPELL_SUPPORT
  312.  compile if CHECK_FOR_LEXAM
  313.    if LEXAM_is_available then
  314.  compile endif
  315.      buildmenuitem menuname, 4, 404, PROOF_MENU__MSG,           'proof'PROOF_MENUP__MSG,     0, mpfrom2short(HP_OPTIONS_PROOF, 0)
  316.      buildmenuitem menuname, 4, 405, PROOF_WORD_MENU__MSG,      'proofword'PROOF_WORD_MENUP__MSG, 0, mpfrom2short(HP_OPTIONS_PROOFW, 0)
  317.      buildmenuitem menuname, 4, 406, SYNONYM_MENU__MSG,         'syn'SYNONYM_MENUP__MSG,       0, mpfrom2short(HP_OPTIONS_SYN, 0)
  318.  compile if CORE_STUFF
  319.      buildmenuitem menuname, 4, 426, DEFINE_WORD_MENU__MSG,     'define'DEFINE_WORD_MENUP__MSG,    0, mpfrom2short(HP_OPTIONS_DEFINE, 0)
  320.  compile endif  -- CORE_STUFF
  321.      buildmenuitem menuname, 4, 407, \0,           '',                       4, 0
  322.  compile if CHECK_FOR_LEXAM
  323.    endif
  324.  compile endif
  325. compile endif
  326. ; If no "Toggle stream mode" or "Toggle advanced marking" or "Enable ring", then
  327. ; place "Configure..." on main Options menu.  Otherwise, put it on a Preferences
  328. ; pull-right with the other stuff.
  329. compile if NEED_PREFERENCES
  330.      buildmenuitem menuname, 4, 400, PREFERENCES_MENU__MSG,    PREFERENCES_MENUP__MSG,  17, mpfrom2short(HP_OPTIONS_PREFERENCES, 0)
  331. compile endif
  332. compile if WANT_APPLICATION_INI_FILE
  333.      buildmenuitem menuname, 4, 440, CONFIG_MENU__MSG,         'configdlg'CONFIG_MENUP__MSG,  0, mpfrom2short(HP_OPTIONS_CONFIG, 0)
  334.  compile if ENHANCED_ENTER_KEYS & WANT_STREAM_MODE <> 1 & EVERSION < 5.21  -- 5.21 adds this to config dialog
  335.      buildmenuitem menuname, 4, 444, SETENTER_MENU__MSG,    'config_enter'SETENTER_MENUP__MSG,  ENTER__ATTRIB, mpfrom2short(HP_OPTIONS_CFGENTER, 0)
  336.  compile endif
  337. compile endif
  338. compile if WANT_CUA_MARKING = 'SWITCH'
  339.      buildmenuitem menuname, 4, 441, ADVANCEDMARK_MENU__MSG,     'CUA_MARK_toggle'ADVANCEDMARK_MENUP__MSG, MARK__ATTRIB, mpfrom2short(HP_OPTIONS_CUATOGGLE, 0)
  340. compile endif
  341. compile if WANT_STREAM_MODE = 'SWITCH'
  342.      buildmenuitem menuname, 4, 442, STREAMMODE_MENU__MSG,  'stream_toggle'STREAMMODE_MENUP__MSG,  STREAM__ATTRIB, mpfrom2short(HP_OPTIONS_STREAM, 0)
  343. compile endif
  344. compile if RING_OPTIONAL
  345.      buildmenuitem menuname, 4, 443, RINGENABLED_MENU__MSG,    'ring_toggle'RINGENABLED_MENUP__MSG,  RING__ATTRIB, mpfrom2short(HP_OPTIONS_RINGENABLE, 0)
  346. compile endif
  347. compile if WANT_STACK_CMDS = 'SWITCH'
  348.      buildmenuitem menuname, 4, 445, STACKCMDS_MENU__MSG,      'stack_toggle'STACKCMDS_MENUP__MSG,  STACK__ATTRIB, mpfrom2short(HP_OPTIONS_STACKCMDS, 0)
  349. compile endif
  350. compile if BLOCK_ACTIONBAR_ACCELERATORS = 'SWITCH'
  351.      buildmenuitem menuname, 4, 446, CUAACCEL_MENU__MSG,       'accel_toggle'CUAACCEL_MENUP__MSG,  ACCEL__ATTRIB, mpfrom2short(HP_OPTIONS_CUAACCEL, 0)
  352. compile endif
  353.      buildmenuitem menuname, 4, 401, \0,                       '',           4, 0
  354.      buildmenuitem menuname, 4, 402, AUTOSAVE_MENU__MSG,       'autosave ?'AUTOSAVE_MENUP__MSG, 0, mpfrom2short(HP_OPTIONS_AUTOSAVE, 0)
  355.      buildmenuitem menuname, 4, 403, \0,                       '',           4, 0
  356.      buildmenuitem menuname, 4, 412, MESSAGES_MENU__MSG,       'messagebox'MESSAGES_MENUP__MSG, 0, mpfrom2short(HP_OPTIONS_MESSAGES, 0)
  357.      buildmenuitem menuname, 4, 409, \0,           '',                       4, 0
  358. ;  Note:  408 is referenced by TOGGLEFONT.  If the number changes, update TOGGLEFONT.
  359. compile if EVERSION < 5.50
  360.  compile if EVERSION < 5.20  -- Earlier EPM versions didn't do DEVESCAPE
  361.    if screenxysize('X')>1000 and one_two then  -- BGA and 1.2 or above
  362.  compile else                -- We can assume 1.2 or above; 1.1 no longer supported
  363.    if screenxysize('X')>1000 or dos_version()>=1030 then  -- BGA *or* 1.3 for many fonts
  364.  compile endif
  365. compile endif
  366. compile if EVERSION < 5.21  -- In 5.21, on notebook config control
  367.         buildmenuitem menuname, 4, 408, CHANGE_FONT_MENU__MSG,  'fontlist'CHANGE_FONT_MENUP__MSG,    0, mpfrom2short(HP_OPTIONS_FONT, 0)
  368. compile endif
  369. compile if EVERSION < 5.50
  370.    else
  371.       if font then
  372.         buildmenuitem menuname, 4, 408, SMALL_FONT_MENU__MSG,    'togglefont'SMALL_FONT_MENUP__MSG,  0, mpfrom2short(HP_OPTIONS_FONT, 0)
  373.       else
  374.         buildmenuitem menuname, 4, 408, LARGE_FONT_MENU__MSG,    'togglefont'LARGE_FONT_MENUP__MSG,  0, mpfrom2short(HP_OPTIONS_FONT, 0)
  375.       endif
  376.    endif
  377. compile endif
  378.  
  379. compile if EVERSION > 5.18
  380.      buildmenuitem menuname, 4, 425, FRAME_CTRLS_MENU__MSG, FRAME_CTRLS_MENUP__MSG, 17, mpfrom2short(HP_OPTIONS_FRAME, 0)
  381.  compile if EVERSION < 5.53
  382.         buildmenuitem menuname, 4, 413, STATUS_LINE_MENU__MSG, 'togglecontrol 7'STATUS_LINE_MENUP__MSG, 0, mpfrom2short(HP_FRAME_STATUS, 0)
  383.         buildmenuitem menuname, 4, 414, MSG_LINE_MENU__MSG,    'togglecontrol 8'MSG_LINE_MENUP__MSG, 0, mpfrom2short(HP_FRAME_MESSAGE, 0)
  384.  compile else
  385.         buildmenuitem menuname, 4, 413, STATUS_LINE_MENU__MSG, 'toggleframe 1'STATUS_LINE_MENUP__MSG, 0, mpfrom2short(HP_FRAME_STATUS, 0)
  386.         buildmenuitem menuname, 4, 414, MSG_LINE_MENU__MSG,    'toggleframe 2'MSG_LINE_MENUP__MSG, 0, mpfrom2short(HP_FRAME_MESSAGE, 0)
  387.  compile endif
  388.         buildmenuitem menuname, 4, 415, SCROLL_BARS_MENU__MSG, 'setscrolls'SCROLL_BARS_MENUP__MSG,      0, mpfrom2short(HP_FRAME_SCROLL, 0)
  389. ;;      buildmenuitem menuname, 4, 416, 'Partial te~xt',       'togglecontrol 15', 32768+1, 0, 0
  390.  compile if EVERSION < 5.50
  391.         buildmenuitem menuname, 4, 416, FILEICON_MENU__MSG,     'togglecontrol 22'FILEICON_MENUP__MSG, 0, mpfrom2short(HP_FRAME_FILE, 0)
  392.  compile endif
  393.  compile if EVERSION < 5.53
  394.         buildmenuitem menuname, 4, 417, ROTATEBUTTONS_MENU__MSG,'togglecontrol 20'ROTATEBUTTONS_MENUP__MSG, 0, mpfrom2short(HP_FRAME_ROTATE, 0)
  395.  compile else
  396.         buildmenuitem menuname, 4, 417, ROTATEBUTTONS_MENU__MSG,'toggleframe 4'ROTATEBUTTONS_MENUP__MSG, 0, mpfrom2short(HP_FRAME_ROTATE, 0)
  397.  compile endif
  398.  compile if WANT_DYNAMIC_PROMPTS
  399.         buildmenuitem menuname, 4, 421, INFOATTOP_MENU__MSG,   TOGGLEINFO || INFOATTOP_MENUP__MSG,     0, mpfrom2short(HP_FRAME_EXTRAPOS, 0)
  400.         buildmenuitem menuname, 4, 422, PROMPTING_MENU__MSG,   'toggleprompt'PROMPTING_MENUP__MSG,     32768+1, mpfrom2short(HP_FRAME_PROMPT, 0)
  401.  compile else
  402.         buildmenuitem menuname, 4, 421, INFOATTOP_MENU__MSG,   TOGGLEINFO || INFOATTOP_MENUP__MSG,     32768+1, mpfrom2short(HP_FRAME_EXTRAPOS, 0)
  403.  compile endif
  404. compile else
  405.      buildmenuitem menuname, 4, 413, STATUS_LINE_MENU__MSG,    'togglecontrol 7', 0, 0
  406.      buildmenuitem menuname, 4, 414, MSG_LINE_MENU__MSG,  ,    'togglecontrol 8', 0, 0
  407.      buildmenuitem menuname, 4, 415, SCROLL_BARS_MENU__MSG,    'setscrolls',  0, 0
  408. ;;   buildmenuitem menuname, 4, 416, 'Partial te~xt',          'togglecontrol 15', 0, 0
  409. compile endif
  410. compile if WANT_APPLICATION_INI_FILE
  411.      buildmenuitem menuname, 4, 418, SAVE_OPTS_MENU__MSG,      'saveoptions'SAVE_OPTS_MENUP__MSG, 0, mpfrom2short(HP_OPTIONS_SAVE, 0)
  412. compile endif
  413. compile if EPATH = 'LAMPATH'
  414.      buildmenuitem menuname, 4, 419, \0,                       '',           4, 0
  415.      buildmenuitem menuname, 4, 420, TO_DESKTOP_MENU__MSG,     'popbook'TO_DESKTOP_MENUP__MSG, 0, 0
  416. compile elseif SUPPORT_BOOK_ICON
  417.      buildmenuitem menuname, 4, 419, \0,                       '',           4, 0
  418.      buildmenuitem menuname, 4, 420, TO_BOOK_MENU__MSG,        'popbook'TO_BOOK_MENUP__MSG, 0, mpfrom2short(HP_OPTIONS_BOOK, 0)
  419. compile endif
  420.    return
  421.  
  422. compile if MENU_LIMIT
  423. defproc add_ring_menu(menuname)
  424.    buildsubmenu menuname, 5, RING_BAR__MSG, LIST_FILES_MENUP__MSG, 0 , 0
  425.      if .titletext=='' then
  426.         buildmenuitem menuname, 5, 500, .filename, '',0,0
  427.      else
  428.         buildmenuitem menuname, 5, 500, .titletext, '',0,0
  429.      endif
  430.    return
  431. compile endif
  432.  
  433. defproc add_command_menu(menuname)
  434.    buildsubmenu menuname, 1, COMMAND_BAR__MSG, COMMAND_BARP__MSG, 0 , mpfrom2short(HP_COMMAND, 0)
  435.      buildmenuitem menuname, 1, 100, COMMANDLINE_MENU__MSG\9'Ctrl+I', 'commandline'COMMANDLINE_MENUP__MSG,   0, mpfrom2short(HP_COMMAND_CMD, 0)
  436. compile if EVERSION >= 5.50
  437.      buildmenuitem menuname, 1, 65535, HALT_COMMAND_MENU__MSG, '', 0, mpfrom2short(HP_COMMAND_HALT, 0)
  438. compile else
  439.      buildmenuitem menuname, 1, 0, HALT_COMMAND_MENU__MSG, '', 0, mpfrom2short(HP_COMMAND_HALT, 0)
  440. compile endif
  441. compile if WANT_EPM_SHELL = 1
  442.      buildmenuitem menuname, 1, 101, \0,                      '',            4, 0
  443.      buildmenuitem menuname, 1, 102, CREATE_SHELL_MENU__MSG,       'shell'CREATE_SHELL_MENUP__MSG,       0, mpfrom2short(HP_COMMAND_SHELL, 0)
  444.      buildmenuitem menuname, 1, 103, WRITE_SHELL_MENU__MSG,        'shell_write'WRITE_SHELL_MENUP__MSG, 0, mpfrom2short(HP_COMMAND_SHELL, 16384)
  445. ;    buildmenuitem menuname, 1, 104, KILL_SHELL_MENU__MSG,         'shell_kill'KILL_SHELL_MENUP__MSG,  0, mpfrom2short(HP_COMMAND_SHELL, 16384)
  446. compile endif
  447.    return
  448.  
  449. compile if EVERSION < 5.20
  450. defproc add_help_menu(menuname, one_two)
  451.    attrib = 16384 * (not one_two)   -- If OS/2 1.2 then 0; else 16384 (greyed out)
  452. compile else
  453. defproc add_help_menu(menuname)
  454.    attrib = 0
  455. compile endif
  456.    buildsubmenu menuname, HELP_MENU_ID, HELP_BAR__MSG, 'help'HELP_BARP__MSG, /* 512 */  0, mpfrom2short(HP_HELP, 0)
  457.      buildmenuitem menuname, HELP_MENU_ID, 603, HELP_INDEX_MENU__MSG,   'helpmenu 10'/*64044*/HELP_INDEX_MENUP__MSG,   0, mpfrom2short(HP_HELP_INDEX, attrib)
  458.      buildmenuitem menuname, HELP_MENU_ID, 601, EXT_HELP_MENU__MSG,     'helpmenu 4000'EXT_HELP_MENUP__MSG, 0, mpfrom2short(HP_HELP_EXTENDED, attrib)
  459.      buildmenuitem menuname, HELP_MENU_ID, 600, HELP_HELP_MENU__MSG,    'helpmenu 64027'HELP_HELP_MENUP__MSG,    0, mpfrom2short(HP_HELP_HELP, attrib)
  460.      buildmenuitem menuname, HELP_MENU_ID, 602, KEYS_HELP_MENU__MSG,    'helpmenu 1000'KEYS_HELP_MENUP__MSG, 0, mpfrom2short(HP_HELP_KEYS, attrib)
  461. compile if IBM_IUO
  462.      buildmenuitem menuname, HELP_MENU_ID, 604, \0,           '',                        4, 0
  463.      buildmenuitem menuname, HELP_MENU_ID, 605, HELP_BROWSER_MENU__MSG, 'help'HELP_BROWSER_MENUP__MSG,    0, mpfrom2short(HP_HELP_BROWSE, 0)
  464. compile endif
  465.      buildmenuitem menuname, HELP_MENU_ID, 606, \0,           '',                        4, 0
  466. compile if 0
  467.      buildmenuitem menuname, HELP_MENU_ID, 607, '#211'||(3-(screenxysize('X')>1000)), 'IBMmsg'HELP_PROD_MENUP__MSG, 2, mpfrom2short(HP_HELP_IBM, 0)
  468.                          -- Resource # 2112 or 2113 in ERES.DLL
  469. compile else
  470.      buildmenuitem menuname, HELP_MENU_ID, 607, HELP_PROD_MENU__MSG, 'IBMmsg'HELP_PROD_MENUP__MSG, 0, mpfrom2short(HP_HELP_PROD, 0)
  471. compile endif
  472.  
  473.