home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 418.lha / MenuC_v0.7 / MenuC0.7.DOC < prev    next >
Text File  |  1990-08-03  |  6KB  |  204 lines

  1.  
  2.  
  3.  
  4.                   MenuC
  5.             The Menu Compiler
  6.              Written by Bruce Mackey
  7.                 (c) 1990
  8.                All Rights Reserved
  9.  
  10.                Version 0.7
  11.  
  12. DISCLAMER
  13.      Anyone  my  FREELY   distribute   this  progam  and  program
  14. documentation, providing that the  program, documention, and LZH
  15. file remain in there original state. You as the user or distributor
  16. may not charge any money apart from postage or material (eg. Disks).
  17. If you want to bundle this  program  (oh  sure) with some work of
  18. your own you MUST get permission from the author in writing (of course
  19. if it is for a commercial product the author would like some green
  20. backs...er CASH!).
  21.  
  22.  
  23. OVERVIEW
  24.      MenuC was created because I am  sick  and    tied of keying in
  25. all the information needed  to    create    just  one menu, let alone
  26. FIVE! MenuC will take a VERY  SIMPLE  ascii file and create those
  27. VERY finger intensive  MENU,  MENUITEM    (SUBITEM),  and IntuiText
  28. structures needed for a complete menu.
  29.  
  30. NOTE: MenuC deals ONLY with TEXT menus, no graphics.
  31.  
  32.  
  33. SPECIFICS
  34.      MenuC is called from the command line with the following
  35.      format:
  36.  
  37.       MenuC infile outfile [LASM|ASM] [TEST]
  38.  
  39.      infile and outfile are self explanitory.
  40.  
  41.      LASM - causes the program to produce an assembler output file
  42.         compatible with Lattice's `asm'.
  43.  
  44.       ASM - causes the program to produce an assembler output file
  45.         compatible with MetaComCo's `assem'.
  46.  
  47.      TEST - will cause the program to add a 'C' main() at the end
  48.         of the output file OR an assembler startup routine at
  49.         the start of the output file. The resulting outfile can
  50.         be compiled/assembled as a standalone program in order
  51.         to view your menus. Which is handy if you are developing
  52.         a large program.
  53.  
  54.      NOTE:  Output produced by LASM and ASM flags will work with A68k.
  55.  
  56.      MenuC is in an early stage of development. Currently it
  57.      recognizes five (5) keywords which are as follows:
  58.  
  59.      WIDTH    - right now it is used only for the main() routine
  60.         created with the TEST flag from the CLI. Future
  61.         versions will have error checking for screen
  62.         width
  63.  
  64.      MENU     - defines the actual menu
  65.  
  66.      ITEM     - defines the menu's item
  67.  
  68.      SUBITEM  - defines an item's subitem
  69.  
  70.      SHORTCUT - defines a keyboard shortcut for an item or
  71.         subitem
  72.  
  73.      Keywords can be either upper or lower case and can have white
  74.      space in front of them (for the structured look).
  75.  
  76.  
  77. KEYWORD SYNTAX
  78.  
  79.      WIDTH size
  80.       WIDTH MUST be on the first line of the file and
  81.       can have a value of 320 or 640(default). This
  82.       will of course change when WB2.0 is available.
  83.  
  84.      MENU menu# NAME
  85.       menu# has a range of 1 - n.
  86.       NAME can be a quoted string (see DRAWBACKS below).
  87.  
  88.      ITEM menu# item# NAME [SHORTCUT c]
  89.       menu# and item# have a range of 1 - n.
  90.       menu# MUST be a valid menu number since ITEM will be
  91.       bound to the MENU that owns menu#.
  92.       NAME can be a quoted string (see DRAWBACKS below).
  93.       The 'c' in [SHORTCUT c] can be any printable character
  94.       either upper or lower case.
  95.  
  96.      SUBITEM menu# item# subitem# NAME [SHORTCUT c]
  97.       same discription as ITEM with this exception:
  98.             if you have a definition like this:
  99.  
  100.                   ITEM 1 1 OPEN SHORTCUT O
  101.                   SUBITEM 1 1 1 Documents SHORTCUT D
  102.  
  103.             The ITEM's SHORTCUT will be ignored.
  104.  
  105. DRAWBACKS
  106.  
  107.      1. In version 0.7 text length is not adjusted to the longest
  108.     length of an ITEM or SUBITEM to get around this you will
  109.     have to quote NAMEs to the largest length.
  110.  
  111.     eg.   ITEM 1 1 "TEST     "
  112.           ITEM 1 2    Documents
  113.  
  114.      2. When NAMEs are quoted in version 0.7 the program (when
  115.     creating the actual structures) will insert an underscore
  116.     into all white spaces.
  117.     So if you have an ITEM's NAME define as FILE the
  118.     program will create structs like  FILE_menu. If on the
  119.     other hand the ITEM's NAME is defined as "FILE   " then
  120.     the structs will be created as FILE____menu, note four
  121.     underscores, one for each white space and one for _menu.
  122.  
  123.      3. As of this writing I don't really consider this
  124.     description as a DRAWBACK but...
  125.     The program ALWAYS adds space to the right side of an
  126.     ITEM/SUBITEM for Intuition's Command key sequence,
  127.     Right AMIGA-A commandkey.
  128.  
  129.      4. In version 0.7 menus created are for HIRES screens (640-200).
  130.     The WIDTH keyword does not affect the screen width (as of yet).
  131.  
  132.  
  133. EXAMPLES
  134.  
  135. ------------CUT----------------
  136.  
  137. MENU 1 Project
  138.      ITEM 1 1 OPEN
  139.      SUBITEM 1 1 1 Documents SHORTCUT D
  140.      SUBITEM 1 1 2 General SHORTCUT G
  141. MENU 2 Misc
  142.      ITEM 2 1 Cut SHORTCUT C
  143.      ITEM 2 2 Paste SHORTCUT P
  144.  
  145. ------------CUT----------------
  146.  
  147. MENU 1 Project
  148. MENU 2 Misc
  149. ITEM 1 1 OPEN
  150. ITEM 2 1 Cut SHORTCUT C
  151. ITEM 2 2 Paste SHORTCUT P
  152. SUBITEM 1 1 1 Documents SHORTCUT D
  153. SUBITEM 1 1 2 General SHORTCUT G
  154.  
  155. ------------CUT----------------
  156.  
  157. Want to be a BETA tester, abuse my program and be the first on
  158. your block with the latest version ?
  159. Would you like to have something added ?
  160. Do you have a bug report (please let me known if one is found) ?
  161.  
  162. Please, Contact me.
  163.  
  164. CIS:        72567,2601
  165. BIX:        bmackey
  166.  
  167. or at BBS's that I frequent:
  168.  
  169. Lion's Den:     516-399-1928
  170. AmiAdvocat:    615-776-5438
  171. CA-AUG:     216-642-3344
  172. Deep Thought:    919-460-7430
  173. Lattice's BBS:  708-916-1200
  174.  
  175. It would probably be faster if you used my mailing address:
  176.  
  177. Bruce Mackey
  178. 4040 Avoca Ave
  179. Bethpage NY 11714
  180. 516-935-2075 or
  181. 516-935-5292
  182.  
  183.  
  184. REVISON HISTORY
  185.  
  186.     Version         Revision
  187.     -------         --------
  188.  
  189.       0.5        initial release (6-14-90)
  190.  
  191.       0.6 internal    added assembler support
  192.             added `ASM' and `LASM' command line switches
  193.  
  194.       0.7        fixed bug with improper WIDTH size
  195.             fixed bug with erroneous SHORTCUT commands
  196.  
  197.  
  198. END REVISON HISTORY
  199.  
  200.  
  201. Lattice is a tradmark of Lattice Incorporated.
  202. MetaComCo is a trademark of MetaComco plc.
  203. A68k (c) Brian R. Anderson, AmigaDOS version by Charlie Gibbs.
  204.