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 >
Wrap
Text File
|
1990-08-03
|
6KB
|
204 lines
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.