home *** CD-ROM | disk | FTP | other *** search
-
-
-
- MenuC
- The Menu Compiler
- Written by Bruce Mackey
- (c) 1990
- All Rights Reserved
-
- Version 0.7
-
- DISCLAMER
- Anyone my FREELY distribute this progam and program
- documentation, providing that the program, documention, and LZH
- file remain in there original state. You as the user or distributor
- may not charge any money apart from postage or material (eg. Disks).
- If you want to bundle this program (oh sure) with some work of
- your own you MUST get permission from the author in writing (of course
- if it is for a commercial product the author would like some green
- backs...er CASH!).
-
-
- OVERVIEW
- MenuC was created because I am sick and tied of keying in
- all the information needed to create just one menu, let alone
- FIVE! MenuC will take a VERY SIMPLE ascii file and create those
- VERY finger intensive MENU, MENUITEM (SUBITEM), and IntuiText
- structures needed for a complete menu.
-
- NOTE: MenuC deals ONLY with TEXT menus, no graphics.
-
-
- SPECIFICS
- MenuC is called from the command line with the following
- format:
-
- MenuC infile outfile [LASM|ASM] [TEST]
-
- infile and outfile are self explanitory.
-
- LASM - causes the program to produce an assembler output file
- compatible with Lattice's `asm'.
-
- ASM - causes the program to produce an assembler output file
- compatible with MetaComCo's `assem'.
-
- TEST - will cause the program to add a 'C' main() at the end
- of the output file OR an assembler startup routine at
- the start of the output file. The resulting outfile can
- be compiled/assembled as a standalone program in order
- to view your menus. Which is handy if you are developing
- a large program.
-
- NOTE: Output produced by LASM and ASM flags will work with A68k.
-
- MenuC is in an early stage of development. Currently it
- recognizes five (5) keywords which are as follows:
-
- WIDTH - right now it is used only for the main() routine
- created with the TEST flag from the CLI. Future
- versions will have error checking for screen
- width
-
- MENU - defines the actual menu
-
- ITEM - defines the menu's item
-
- SUBITEM - defines an item's subitem
-
- SHORTCUT - defines a keyboard shortcut for an item or
- subitem
-
- Keywords can be either upper or lower case and can have white
- space in front of them (for the structured look).
-
-
- KEYWORD SYNTAX
-
- WIDTH size
- WIDTH MUST be on the first line of the file and
- can have a value of 320 or 640(default). This
- will of course change when WB2.0 is available.
-
- MENU menu# NAME
- menu# has a range of 1 - n.
- NAME can be a quoted string (see DRAWBACKS below).
-
- ITEM menu# item# NAME [SHORTCUT c]
- menu# and item# have a range of 1 - n.
- menu# MUST be a valid menu number since ITEM will be
- bound to the MENU that owns menu#.
- NAME can be a quoted string (see DRAWBACKS below).
- The 'c' in [SHORTCUT c] can be any printable character
- either upper or lower case.
-
- SUBITEM menu# item# subitem# NAME [SHORTCUT c]
- same discription as ITEM with this exception:
- if you have a definition like this:
-
- ITEM 1 1 OPEN SHORTCUT O
- SUBITEM 1 1 1 Documents SHORTCUT D
-
- The ITEM's SHORTCUT will be ignored.
-
- DRAWBACKS
-
- 1. In version 0.7 text length is not adjusted to the longest
- length of an ITEM or SUBITEM to get around this you will
- have to quote NAMEs to the largest length.
-
- eg. ITEM 1 1 "TEST "
- ITEM 1 2 Documents
-
- 2. When NAMEs are quoted in version 0.7 the program (when
- creating the actual structures) will insert an underscore
- into all white spaces.
- So if you have an ITEM's NAME define as FILE the
- program will create structs like FILE_menu. If on the
- other hand the ITEM's NAME is defined as "FILE " then
- the structs will be created as FILE____menu, note four
- underscores, one for each white space and one for _menu.
-
- 3. As of this writing I don't really consider this
- description as a DRAWBACK but...
- The program ALWAYS adds space to the right side of an
- ITEM/SUBITEM for Intuition's Command key sequence,
- Right AMIGA-A commandkey.
-
- 4. In version 0.7 menus created are for HIRES screens (640-200).
- The WIDTH keyword does not affect the screen width (as of yet).
-
-
- EXAMPLES
-
- ------------CUT----------------
-
- MENU 1 Project
- ITEM 1 1 OPEN
- SUBITEM 1 1 1 Documents SHORTCUT D
- SUBITEM 1 1 2 General SHORTCUT G
- MENU 2 Misc
- ITEM 2 1 Cut SHORTCUT C
- ITEM 2 2 Paste SHORTCUT P
-
- ------------CUT----------------
-
- MENU 1 Project
- MENU 2 Misc
- ITEM 1 1 OPEN
- ITEM 2 1 Cut SHORTCUT C
- ITEM 2 2 Paste SHORTCUT P
- SUBITEM 1 1 1 Documents SHORTCUT D
- SUBITEM 1 1 2 General SHORTCUT G
-
- ------------CUT----------------
-
- Want to be a BETA tester, abuse my program and be the first on
- your block with the latest version ?
- Would you like to have something added ?
- Do you have a bug report (please let me known if one is found) ?
-
- Please, Contact me.
-
- CIS: 72567,2601
- BIX: bmackey
-
- or at BBS's that I frequent:
-
- Lion's Den: 516-399-1928
- AmiAdvocat: 615-776-5438
- CA-AUG: 216-642-3344
- Deep Thought: 919-460-7430
- Lattice's BBS: 708-916-1200
-
- It would probably be faster if you used my mailing address:
-
- Bruce Mackey
- 4040 Avoca Ave
- Bethpage NY 11714
- 516-935-2075 or
- 516-935-5292
-
-
- REVISON HISTORY
-
- Version Revision
- ------- --------
-
- 0.5 initial release (6-14-90)
-
- 0.6 internal added assembler support
- added `ASM' and `LASM' command line switches
-
- 0.7 fixed bug with improper WIDTH size
- fixed bug with erroneous SHORTCUT commands
-
-
- END REVISON HISTORY
-
-
- Lattice is a tradmark of Lattice Incorporated.
- MetaComCo is a trademark of MetaComco plc.
- A68k (c) Brian R. Anderson, AmigaDOS version by Charlie Gibbs.
-