home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional Developers Kit 1992 November / Disc01 / Disc01.mdf / prodtool / epm / e_macros / stdmenu.e < prev    next >
Encoding:
Text File  |  1992-08-03  |  23.2 KB  |  403 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. defproc add_edit_menu(menuname)
  116.  compile if WANT_STACK_CMDS = 'SWITCH'
  117.    universal stack_cmds
  118.  compile endif
  119.    buildsubmenu  menuname, 8, EDIT_BAR__MSG, ''EDIT_BARP__MSG, 0 , mpfrom2short(HP_EDIT, 0)
  120.      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)
  121. compile if EVERSION > 5.19
  122.      buildmenuitem menuname, 8, 818, UNDO_REDO_MENU__MSG,           'undodlg'UNDO_REDO_MENUP__MSG,      0, mpfrom2short(HP_EDIT_UNDOREDO, 0)
  123. compile endif
  124. compile if WANT_DM_BUFFER
  125.      buildmenuitem menuname, 8, 817, RECOVER_MARK_MENU__MSG,        'GetDMBuff'RECOVER_MARK_MENUP__MSG,    0, mpfrom2short(HP_EDIT_RECOVER, 0)
  126. compile endif  -- WANT_DM_BUFFER
  127.      buildmenuitem menuname, 8, 807, \0,                               '',          4, 0
  128.      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)
  129.      buildmenuitem menuname, 8, 809, CUT_MENU__MSG\9 || SHIFT_KEY__MSG'+'DELETE_KEY__MSG, 'Cut'CUT_MENUP__MSG,       0, mpfrom2short(HP_EDIT_CUT, 0)
  130.      buildmenuitem menuname, 8, 810, PASTE_C_MENU__MSG||PASTE_C_KEY,   'Paste C'PASTE_C_MENUP__MSG,   0, mpfrom2short(HP_EDIT_PASTEC, 0)
  131.      buildmenuitem menuname, 8, 811, PASTE_L_MENU__MSG||PASTE_L_KEY,   'Paste'PASTE_L_MENUP__MSG,     0, mpfrom2short(HP_EDIT_PASTE, 0)
  132.      buildmenuitem menuname, 8, 812, PASTE_B_MENU__MSG||PASTE_B_KEY,   'Paste B'PASTE_B_MENUP__MSG,   0, mpfrom2short(HP_EDIT_PASTEB, 0)
  133. compile if EVERSION >= 5.50  -- In 5.50, we have a STYLE attribute
  134.      buildmenuitem menuname, 8, 826, \0,                               '',          4, 0
  135.      buildmenuitem menuname, 8, 827, STYLE_MENU__MSG\9'Ctrl+Y',        'fontlist'STYLE_MENUP__MSG,    0, mpfrom2short(HP_OPTIONS_STYLE, 0)
  136. compile endif
  137.      buildmenuitem menuname, 8, 815, \0,                               '',          4, 0
  138.      buildmenuitem menuname, 8, 800, COPY_MARK_MENU__MSG\9'Alt+C',     'DUPMARK C'COPY_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_COPYMARK, 0)
  139.      buildmenuitem menuname, 8, 801, MOVE_MARK_MENU__MSG\9'Alt+M',     'DUPMARK M'MOVE_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_MOVE, 0)
  140.      buildmenuitem menuname, 8, 802, OVERLAY_MARK_MENU__MSG\9'Alt+O',  'DUPMARK O'OVERLAY_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_OVERLAY, 0)
  141.      buildmenuitem menuname, 8, 803, ADJUST_MARK_MENU__MSG\9'Alt+A',   'DUPMARK A'ADJUST_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_ADJUST, 0)
  142.      buildmenuitem menuname, 8, 804, \0,                       '',          4, 0
  143.      buildmenuitem menuname, 8, 805, UNMARK_MARK_MENU__MSG\9'Alt+U',   'DUPMARK U'UNMARK_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_UNMARK, 0)
  144.      buildmenuitem menuname, 8, 806, DELETE_MARK_MENU__MSG\9'Alt+D',   'DUPMARK D'DELETE_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_DELETE, 0)
  145. compile if WANT_STACK_CMDS
  146.  compile if WANT_STACK_CMDS = 'SWITCH'
  147.    if stack_cmds then
  148.  compile endif
  149.      buildmenuitem menuname, 8, 819, \0,                               '',          4, 0
  150.      buildmenuitem menuname, 8, 820, PUSH_MARK_MENU__MSG,              'PUSHMARK'PUSH_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_PUSHMARK, 0)
  151.      buildmenuitem menuname, 8, 821, POP_MARK_MENU__MSG,               'POPMARK'POP_MARK_MENUP__MSG,  0, mpfrom2short(HP_EDIT_POPMARK, 16384)
  152.      buildmenuitem menuname, 8, 822, SWAP_MARK_MENU__MSG,              'SWAPMARK'SWAP_MARK_MENUP__MSG,  0, mpfrom2short(HP_EDIT_SWAPMARK, 16384)
  153.      buildmenuitem menuname, 8, 823, PUSH_CURSOR_MENU__MSG,            'PUSHPOS'PUSH_CURSOR_MENUP__MSG,  0, mpfrom2short(HP_EDIT_PUSHPOS, 0)
  154.      buildmenuitem menuname, 8, 824, POP_CURSOR_MENU__MSG,             'POPPOS'POP_CURSOR_MENUP__MSG,   0, mpfrom2short(HP_EDIT_POPPOS, 16384)
  155.      buildmenuitem menuname, 8, 825, SWAP_CURSOR_MENU__MSG,            'SWAPPOS'SWAP_CURSOR_MENUP__MSG,   0, mpfrom2short(HP_EDIT_SWAPPOS, 16384)
  156.  compile if WANT_STACK_CMDS = 'SWITCH'
  157.    endif
  158.  compile endif
  159. compile endif
  160.      buildmenuitem menuname, 8, 813, \0,                               '',          4, 0
  161. compile if ENHANCED_PRINT_SUPPORT
  162.      buildmenuitem menuname, 8, 814, PRT_MARK_MENU__MSG'...',          'PRINTDLG M'ENHPRT_MARK_MENUP__MSG,0, mpfrom2short(HP_EDIT_ENHPRINT, 0)
  163. compile else
  164.      buildmenuitem menuname, 8, 814, PRT_MARK_MENU__MSG,               'DUPMARK P'PRT_MARK_MENUP__MSG, 0, mpfrom2short(HP_EDIT_PRINT, 0)
  165. compile endif
  166.    return
  167.  
  168. defproc add_search_menu(menuname)
  169.    buildsubmenu menuname, 3, SEARCH_BAR__MSG, ''SEARCH_BARP__MSG, 0 , mpfrom2short(HP_SEARCH, 0)
  170.      buildmenuitem menuname, 3, 300, SEARCH_MENU__MSG\9'Ctrl+S',      'SEARCHDLG'SEARCH_MENUP__MSG,   0, mpfrom2short(HP_SEARCH_SEARCH, 0)
  171.      buildmenuitem menuname, 3, 301, \0,                           '',            4, 0
  172.      buildmenuitem menuname, 3, 302, FIND_NEXT_MENU__MSG\9'Ctrl+F',   'SEARCHDLG F'FIND_NEXT_MENUP__MSG, 0, mpfrom2short(HP_SEARCH_FIND, 0)
  173.      buildmenuitem menuname, 3, 303, CHANGE_NEXT_MENU__MSG\9'Ctrl+C', 'SEARCHDLG C'CHANGE_NEXT_MENUP__MSG, 0, mpfrom2short(HP_SEARCH_CHANGE, 0)
  174. compile if WANT_BOOKMARKS
  175.      buildmenuitem menuname, 3, 304, \0,                           '',            4, 0
  176.      buildmenuitem menuname, 3, 305, BOOKMARKS_MENU__MSG,   BOOKMARKS_MENUP__MSG, 17, mpfrom2short(HP_SEARCH_BOOKMARKS, 0)
  177.        buildmenuitem menuname, 3, 306, SET_MARK_MENU__MSG,  'setmark'SET_MARK_MENUP__MSG, 0, mpfrom2short(HP_SEARCH_BOOKMARKS, 0)
  178.  compile if EVERSION < 5.21  -- 5.21 adds a custom dialog for setting bookmarks
  179.        buildmenuitem menuname, 3, 307, '~Set permanent...', 'setmarkp',       0, 0
  180.  compile endif
  181.        buildmenuitem menuname, 3, 308, LIST_MARK_MENU__MSG\9'Ctrl+B', 'listmark'LIST_MARK_MENUP__MSG,       0, mpfrom2short(HP_SEARCH_BOOKMARKS, 0)
  182.        buildmenuitem menuname, 3, 310, \0,                  '',               4, 0
  183.        buildmenuitem menuname, 3, 311, NEXT_MARK_MENU__MSG,  'nextbookmark'NEXT_MARK_MENUP__MSG, 0, mpfrom2short(HP_SEARCH_BOOKMARKS, 0)
  184.        buildmenuitem menuname, 3, 312, PREV_MARK_MENU__MSG,  'nextbookmark P'PREV_MARK_MENUP__MSG, 32768+1, mpfrom2short(HP_SEARCH_BOOKMARKS, 0)
  185. compile endif
  186.    return
  187.  
  188. ; Preferences pull-right can get Set enter, Advanced mark, Stream mode, and
  189. ; Ring enabled, in addition to Configure.  Here we calculate which menu item
  190. ; gets the "end pullright" attribute.
  191. define
  192.     NEED_PREFERENCES = 1  -- Start out assuming this
  193.  compile if WANT_STACK_CMDS = 'SWITCH'
  194.    ENTER__ATTRIB  = 0
  195.    MARK__ATTRIB   = 0
  196.    STREAM__ATTRIB = 0
  197.    RING__ATTRIB   = 0
  198.    STACK__ATTRIB  = 32769
  199.  compile elseif RING_OPTIONAL
  200.    ENTER__ATTRIB  = 0
  201.    MARK__ATTRIB   = 0
  202.    STREAM__ATTRIB = 0
  203.    RING__ATTRIB   = 32769
  204.  compile elseif WANT_STREAM_MODE = 'SWITCH'
  205.    ENTER__ATTRIB  = 0
  206.    MARK__ATTRIB   = 0
  207.    STREAM__ATTRIB = 32769
  208.  compile elseif WANT_CUA_MARKING = 'SWITCH'
  209.    ENTER__ATTRIB  = 0
  210.    MARK__ATTRIB   = 32769
  211.  compile elseif ENHANCED_ENTER_KEYS & WANT_STREAM_MODE <> 1 & EVERSION < 5.21  -- 5.21 adds this to config dialog
  212.    ENTER__ATTRIB  = 32769
  213.  compile else
  214.     NEED_PREFERENCES = 0  -- If none of the above, we don't need this after all
  215.  compile endif
  216.  compile if EVERSION < '5.50'
  217.     TOGGLEINFO = 'toggle_info'
  218.  compile elseif EVERSION < '5.53'
  219.     TOGGLEINFO = 'togglecontrol 23'
  220.  compile else
  221.     TOGGLEINFO = 'toggleframe 32'
  222.  compile endif
  223.  
  224. compile if EVERSION < 5.20
  225. defproc add_options_menu(menuname,one_two)
  226. compile else
  227. defproc add_options_menu(menuname)
  228. compile endif
  229. compile if RING_OPTIONAL
  230.    universal ring_enabled
  231. compile endif
  232.    universal font
  233. compile if CHECK_FOR_LEXAM
  234.    universal LEXAM_is_available
  235. compile endif
  236.  
  237.    buildsubmenu menuname, 4, OPTIONS_BAR__MSG, OPTIONS_BARP__MSG, 0 , mpfrom2short(HP_OPTIONS, 0)
  238. compile if MENU_LIMIT = 0
  239.  compile if RING_OPTIONAL
  240.    if ring_enabled then
  241.  compile endif
  242.      buildmenuitem menuname, 4, 410, LIST_FILES_MENU__MSG\9'Ctrl+G',     'Ring_More'LIST_FILES_MENUP__MSG,  0 , mpfrom2short(HP_OPTIONS_LIST, 0)
  243.      buildmenuitem menuname, 4, 411, \0,                       '',           4, 0
  244.  compile if RING_OPTIONAL
  245.    endif
  246.  compile endif
  247. compile endif
  248. compile if IBM_IUO & SPELL_SUPPORT
  249.  compile if CHECK_FOR_LEXAM
  250.    if LEXAM_is_available then
  251.  compile endif
  252.      buildmenuitem menuname, 4, 404, PROOF_MENU__MSG,           'proof'PROOF_MENUP__MSG,     0, mpfrom2short(HP_OPTIONS_PROOF, 0)
  253.      buildmenuitem menuname, 4, 405, PROOF_WORD_MENU__MSG,      'proofword'PROOF_WORD_MENUP__MSG, 0, mpfrom2short(HP_OPTIONS_PROOFW, 0)
  254.      buildmenuitem menuname, 4, 406, SYNONYM_MENU__MSG,         'syn'SYNONYM_MENUP__MSG,       0, mpfrom2short(HP_OPTIONS_SYN, 0)
  255.  compile if CORE_STUFF
  256.      buildmenuitem menuname, 4, 426, DEFINE_WORD_MENU__MSG,     'define'DEFINE_WORD_MENUP__MSG,    0, mpfrom2short(HP_OPTIONS_DEFINE, 0)
  257.  compile endif  -- CORE_STUFF
  258.      buildmenuitem menuname, 4, 407, \0,           '',                       4, 0
  259.  compile if CHECK_FOR_LEXAM
  260.    endif
  261.  compile endif
  262. compile endif
  263. ; If no "Toggle stream mode" or "Toggle advanced marking" or "Enable ring", then
  264. ; place "Configure..." on main Options menu.  Otherwise, put it on a Preferences
  265. ; pull-right with the other stuff.
  266. compile if NEED_PREFERENCES
  267.      buildmenuitem menuname, 4, 400, PREFERENCES_MENU__MSG,    PREFERENCES_MENUP__MSG,  17, mpfrom2short(HP_OPTIONS_PREFERENCES, 0)
  268. compile endif
  269.      buildmenuitem menuname, 4, 440, CONFIG_MENU__MSG,         'configdlg'CONFIG_MENUP__MSG,  0, mpfrom2short(HP_OPTIONS_CONFIG, 0)
  270. compile if ENHANCED_ENTER_KEYS & WANT_STREAM_MODE <> 1 & EVERSION < 5.21  -- 5.21 adds this to config dialog
  271.      buildmenuitem menuname, 4, 444, SETENTER_MENU__MSG,    'config_enter'SETENTER_MENUP__MSG,  ENTER__ATTRIB, mpfrom2short(HP_OPTIONS_CFGENTER, 0)
  272. compile endif
  273. compile if WANT_CUA_MARKING = 'SWITCH'
  274.      buildmenuitem menuname, 4, 441, ADVANCEDMARK_MENU__MSG,     'CUA_MARK_toggle'ADVANCEDMARK_MENUP__MSG, MARK__ATTRIB, mpfrom2short(HP_OPTIONS_CUATOGGLE, 0)
  275. compile endif
  276. compile if WANT_STREAM_MODE = 'SWITCH'
  277.      buildmenuitem menuname, 4, 442, STREAMMODE_MENU__MSG,  'stream_toggle'STREAMMODE_MENUP__MSG,  STREAM__ATTRIB, mpfrom2short(HP_OPTIONS_STREAM, 0)
  278. compile endif
  279. compile if RING_OPTIONAL
  280.      buildmenuitem menuname, 4, 443, RINGENABLED_MENU__MSG,    'ring_toggle'RINGENABLED_MENUP__MSG,  RING__ATTRIB, mpfrom2short(HP_OPTIONS_RINGENABLE, 0)
  281. compile endif
  282. compile if WANT_STACK_CMDS = 'SWITCH'
  283.      buildmenuitem menuname, 4, 445, STACKCMDS_MENU__MSG,      'stack_toggle'STACKCMDS_MENUP__MSG,  STACK__ATTRIB, mpfrom2short(HP_OPTIONS_STACKCMDS, 0)
  284. compile endif
  285.      buildmenuitem menuname, 4, 401, \0,                       '',           4, 0
  286.      buildmenuitem menuname, 4, 402, AUTOSAVE_MENU__MSG,       'autosave ?'AUTOSAVE_MENUP__MSG, 0, mpfrom2short(HP_OPTIONS_AUTOSAVE, 0)
  287.      buildmenuitem menuname, 4, 403, \0,                       '',           4, 0
  288.      buildmenuitem menuname, 4, 412, MESSAGES_MENU__MSG,       'messagebox'MESSAGES_MENUP__MSG, 0, mpfrom2short(HP_OPTIONS_MESSAGES, 0)
  289.      buildmenuitem menuname, 4, 409, \0,           '',                       4, 0
  290. ;  Note:  408 is referenced by TOGGLEFONT.  If the number changes, update TOGGLEFONT.
  291. compile if EVERSION < 5.50
  292.  compile if EVERSION < 5.20  -- Earlier EPM versions didn't do DEVESCAPE
  293.    if screenxysize('X')>1000 and one_two then  -- BGA and 1.2 or above
  294.  compile else                -- We can assume 1.2 or above; 1.1 no longer supported
  295.    if screenxysize('X')>1000 or dos_version()>=1030 then  -- BGA *or* 1.3 for many fonts
  296.  compile endif
  297. compile endif
  298. compile if EVERSION < 5.21  -- In 5.21, on notebook config control
  299.         buildmenuitem menuname, 4, 408, CHANGE_FONT_MENU__MSG,  'fontlist'CHANGE_FONT_MENUP__MSG,    0, mpfrom2short(HP_OPTIONS_FONT, 0)
  300. compile endif
  301. compile if EVERSION < 5.50
  302.    else
  303.       if font then
  304.         buildmenuitem menuname, 4, 408, SMALL_FONT_MENU__MSG,    'togglefont'SMALL_FONT_MENUP__MSG,  0, mpfrom2short(HP_OPTIONS_FONT, 0)
  305.       else
  306.         buildmenuitem menuname, 4, 408, LARGE_FONT_MENU__MSG,    'togglefont'LARGE_FONT_MENUP__MSG,  0, mpfrom2short(HP_OPTIONS_FONT, 0)
  307.       endif
  308.    endif
  309. compile endif
  310.  
  311. compile if EVERSION > 5.18
  312.      buildmenuitem menuname, 4, 425, FRAME_CTRLS_MENU__MSG, FRAME_CTRLS_MENUP__MSG, 17, mpfrom2short(HP_OPTIONS_FRAME, 0)
  313.  compile if EVERSION < 5.53
  314.         buildmenuitem menuname, 4, 413, STATUS_LINE_MENU__MSG, 'togglecontrol 7'STATUS_LINE_MENUP__MSG, 0, mpfrom2short(HP_FRAME_STATUS, 0)
  315.         buildmenuitem menuname, 4, 414, MSG_LINE_MENU__MSG,    'togglecontrol 8'MSG_LINE_MENUP__MSG, 0, mpfrom2short(HP_FRAME_MESSAGE, 0)
  316.  compile else
  317.         buildmenuitem menuname, 4, 413, STATUS_LINE_MENU__MSG, 'toggleframe 1'STATUS_LINE_MENUP__MSG, 0, mpfrom2short(HP_FRAME_STATUS, 0)
  318.         buildmenuitem menuname, 4, 414, MSG_LINE_MENU__MSG,    'toggleframe 2'MSG_LINE_MENUP__MSG, 0, mpfrom2short(HP_FRAME_MESSAGE, 0)
  319.  compile endif
  320.         buildmenuitem menuname, 4, 415, SCROLL_BARS_MENU__MSG, 'setscrolls'SCROLL_BARS_MENUP__MSG,      0, mpfrom2short(HP_FRAME_SCROLL, 0)
  321. ;;      buildmenuitem menuname, 4, 416, 'Partial te~xt',       'togglecontrol 15', 32768+1, 0, 0
  322.  compile if EVERSION < 5.50
  323.         buildmenuitem menuname, 4, 416, FILEICON_MENU__MSG,     'togglecontrol 22'FILEICON_MENUP__MSG, 0, mpfrom2short(HP_FRAME_FILE, 0)
  324.  compile endif
  325.  compile if EVERSION < 5.53
  326.         buildmenuitem menuname, 4, 417, ROTATEBUTTONS_MENU__MSG,'togglecontrol 20'ROTATEBUTTONS_MENUP__MSG, 0, mpfrom2short(HP_FRAME_ROTATE, 0)
  327.  compile else
  328.         buildmenuitem menuname, 4, 417, ROTATEBUTTONS_MENU__MSG,'toggleframe 4'ROTATEBUTTONS_MENUP__MSG, 0, mpfrom2short(HP_FRAME_ROTATE, 0)
  329.  compile endif
  330.  compile if WANT_DYNAMIC_PROMPTS
  331.         buildmenuitem menuname, 4, 421, INFOATTOP_MENU__MSG,   TOGGLEINFO || INFOATTOP_MENUP__MSG,     0, mpfrom2short(HP_FRAME_EXTRAPOS, 0)
  332.         buildmenuitem menuname, 4, 422, PROMPTING_MENU__MSG,   'toggleprompt'PROMPTING_MENUP__MSG,     32768+1, mpfrom2short(HP_FRAME_PROMPT, 0)
  333.  compile else
  334.         buildmenuitem menuname, 4, 421, INFOATTOP_MENU__MSG,   TOGGLEINFO || INFOATTOP_MENUP__MSG,     32768+1, mpfrom2short(HP_FRAME_EXTRAPOS, 0)
  335.  compile endif
  336. compile else
  337.      buildmenuitem menuname, 4, 413, STATUS_LINE_MENU__MSG,    'togglecontrol 7', 0, 0
  338.      buildmenuitem menuname, 4, 414, MSG_LINE_MENU__MSG,  ,    'togglecontrol 8', 0, 0
  339.      buildmenuitem menuname, 4, 415, SCROLL_BARS_MENU__MSG,    'setscrolls',  0, 0
  340. ;;   buildmenuitem menuname, 4, 416, 'Partial te~xt',          'togglecontrol 15', 0, 0
  341. compile endif
  342.      buildmenuitem menuname, 4, 418, SAVE_OPTS_MENU__MSG,      'saveoptions'SAVE_OPTS_MENUP__MSG, 0, mpfrom2short(HP_OPTIONS_SAVE, 0)
  343. compile if EPATH = 'LAMPATH'
  344.      buildmenuitem menuname, 4, 419, \0,                       '',           4, 0
  345.      buildmenuitem menuname, 4, 420, TO_DESKTOP_MENU__MSG,     'popbook'TO_DESKTOP_MENUP__MSG, 0, 0
  346. compile elseif SUPPORT_BOOK_ICON
  347.      buildmenuitem menuname, 4, 419, \0,                       '',           4, 0
  348.      buildmenuitem menuname, 4, 420, TO_BOOK_MENU__MSG,        'popbook'TO_BOOK_MENUP__MSG, 0, mpfrom2short(HP_OPTIONS_BOOK, 0)
  349. compile endif
  350.    return
  351.  
  352. compile if MENU_LIMIT
  353. defproc add_ring_menu(menuname)
  354.    buildsubmenu menuname, 5, RING_BAR__MSG, LIST_FILES_MENUP__MSG, 0 , 0
  355.      if .titletext=='' then
  356.         buildmenuitem menuname, 5, 500, .filename, '',0,0
  357.      else
  358.         buildmenuitem menuname, 5, 500, .titletext, '',0,0
  359.      endif
  360.    return
  361. compile endif
  362.  
  363. defproc add_command_menu(menuname)
  364.    buildsubmenu menuname, 1, COMMAND_BAR__MSG, COMMAND_BARP__MSG, 0 , mpfrom2short(HP_COMMAND, 0)
  365.      buildmenuitem menuname, 1, 100, COMMANDLINE_MENU__MSG\9'Ctrl+I', 'commandline'COMMANDLINE_MENUP__MSG,   0, mpfrom2short(HP_COMMAND_CMD, 0)
  366. compile if EVERSION >= 5.50
  367.      buildmenuitem menuname, 1, 65535, HALT_COMMAND_MENU__MSG, '', 0, mpfrom2short(HP_COMMAND_HALT, 0)
  368. compile else
  369.      buildmenuitem menuname, 1, 0, HALT_COMMAND_MENU__MSG, '', 0, mpfrom2short(HP_COMMAND_HALT, 0)
  370. compile endif
  371. compile if WANT_EPM_SHELL = 1
  372.      buildmenuitem menuname, 1, 101, \0,                      '',            4, 0
  373.      buildmenuitem menuname, 1, 102, CREATE_SHELL_MENU__MSG,       'shell'CREATE_SHELL_MENUP__MSG,       0, mpfrom2short(HP_COMMAND_SHELL, 0)
  374.      buildmenuitem menuname, 1, 103, WRITE_SHELL_MENU__MSG,        'shell_write'WRITE_SHELL_MENUP__MSG, 0, mpfrom2short(HP_COMMAND_SHELL, 16384)
  375. ;    buildmenuitem menuname, 1, 104, KILL_SHELL_MENU__MSG,         'shell_kill'KILL_SHELL_MENUP__MSG,  0, mpfrom2short(HP_COMMAND_SHELL, 16384)
  376. compile endif
  377.    return
  378.  
  379. compile if EVERSION < 5.20
  380. defproc add_help_menu(menuname, one_two)
  381.    attrib = 16384 * (not one_two)   -- If OS/2 1.2 then 0; else 16384 (greyed out)
  382. compile else
  383. defproc add_help_menu(menuname)
  384.    attrib = 0
  385. compile endif
  386.    buildsubmenu menuname, 6, HELP_BAR__MSG, 'help'HELP_BARP__MSG, /* 512 */  0, mpfrom2short(HP_HELP, 0)
  387.      buildmenuitem menuname, 6, 603, HELP_INDEX_MENU__MSG,   'helpmenu 10'/*64044*/HELP_INDEX_MENUP__MSG,   0, mpfrom2short(HP_HELP_INDEX, attrib)
  388.      buildmenuitem menuname, 6, 601, EXT_HELP_MENU__MSG,     'helpmenu 4000'EXT_HELP_MENUP__MSG, 0, mpfrom2short(HP_HELP_EXTENDED, attrib)
  389.      buildmenuitem menuname, 6, 600, HELP_HELP_MENU__MSG,    'helpmenu 64027'HELP_HELP_MENUP__MSG,    0, mpfrom2short(HP_HELP_HELP, attrib)
  390.      buildmenuitem menuname, 6, 602, KEYS_HELP_MENU__MSG,    'helpmenu 1000'KEYS_HELP_MENUP__MSG, 0, mpfrom2short(HP_HELP_KEYS, attrib)
  391. compile if IBM_IUO
  392.      buildmenuitem menuname, 6, 604, \0,           '',                        4, 0
  393.      buildmenuitem menuname, 6, 605, HELP_BROWSER_MENU__MSG, 'help'HELP_BROWSER_MENUP__MSG,    0, mpfrom2short(HP_HELP_BROWSE, 0)
  394. compile endif
  395.      buildmenuitem menuname, 6, 606, \0,           '',                        4, 0
  396. compile if 0
  397.      buildmenuitem menuname, 6, 607, '#211'||(3-(screenxysize('X')>1000)), 'IBMmsg'HELP_PROD_MENUP__MSG, 2, mpfrom2short(HP_HELP_IBM, 0)
  398.                          -- Resource # 2112 or 2113 in ERES.DLL
  399. compile else
  400.      buildmenuitem menuname, 6, 607, HELP_PROD_MENU__MSG, 'IBMmsg'HELP_PROD_MENUP__MSG, 0, mpfrom2short(HP_HELP_PROD, 0)
  401. compile endif
  402.  
  403.