
                       ###############################
                       #                             # 
                       #       ################      #
                       #       ##            ##      #
                       #       ## BMenu V2.2 ##      #
                       #       ##            ##      #
                       #       ################      #
                       #                             #
                       #                             #
                       #   Coded in Blitz Basic II   #
                       #                             #
                       #              By             #
                       #                             #
                       #                             #
                       #       ###############       #
                       #       #             #       #
                       #       # Roy Huntley #       #
                       #       #             #       #
                       #       ###############       #
                       #                             #
                       ###############################


                                   Contents
                                   ~~~~~~~~

BMenuV2.2      - The executable program 
BMenuV2.2.Doc  - Documentation File
ExampleMenu.10 - Example Menu
ExampleMenu.30 - Example Menu


                                 Introduction
                                 ~~~~~~~~~~~~
 
Its yet another menu system for the Amiga computers.  I know there is already
a plentiful supply of menu systems already available, and to be honest, this
one isnt much different, but it IS mine, and I love it to bits (oo-er!).


                                    Usage
                                    ~~~~~

BMenu V2.2 is not compatible with kickstart versions 1.2 or 1.3.  It requires
at least kickstart 2 to function correctly and is, of course, compatible with
the AGA machines.

BMenu V2.2 can be started from the cli as follows:


BMenuV2.2 <filename>

Where filename is the name of a valid menufile (see later).


Alternatively, BMenu V2.2 can be started from a workbench environment by
either: 


1> Entering BMenuV2.2 as the default tool in the icon of the menufile

2> Selecting the BMenu icon and double-clicking on the icon of the data file.


                                   Menufile
                                   ~~~~~~~~

BMenuV2.2 allows the user to specify a title for the menu, as well as between
1 and 30 gadgets.  This is done via a menufile.  This menufile must be in 
ASCII format and it must follow the following syntax exactly:

MenuTitle
TextGadgetLabel1
TextGadgetLabel2
TextGadgetLabel3
.
.
etc
.
.
-END-
CommandLine1
CommandLine2
CommandLine3
.
.
etc
.
.


where : MenuTitle is the title which appears at the top of the menu
        TextGadgetLabel is the text to appear in the gadget itself
        CommandLine is the text which will execute when a gadget is selected

Note that the end of the TextGadgetLabel information must be identified by 
the -END- string.  This is case sensitive and must be typed exactly as shown
in the example.

The  maximum  number of lines  in a  menufile  should be 62. (The menu title,
30 textgadgetlabels, -END- string, and 30 commandlines).  An error will occur
if any of the following conditions are met:

1> Too many entries (ie textfile too long/bad syntax)
2> Menufile does not exist/is not selected
3> Odd number of gadgets when over 15 gadgets are configured *

* This needs explaining.  Because of the way BMenuV2.2 displays the gadgets,
if more than 15 gadgets are desired, you MUST specify an even number of
gadgets, ie. 16, 18, 20, 22, 24, 26, 28 or 30.  If a file is selected with 25
gadgets, this error will occur.

Several example menufiles are included on the disk.


                                  Operation
                                  ~~~~~~~~~

Once loaded, the program will search for the filename specified by the user.
If it is found and no errors are present in the syntax of the data file, the
menu will display itself on the screen.  

BMenu has a menu bar from which the following can be selected:

Project/About   - Details about the author
Project/Iconify - Iconifies the program
Project/Quit    - Exits the program
Mode/Execute    - Executes the program selected and waits for it to finish
Mode/Launch     - Executes the program and BMenu closes down automatically
Mode/Run        - Executes the program and BMenu reappears on the screen

The screen consists of 3 display gadgets which show information concerning
the current system.

Below these are the text gadgets as configured in the data file.  The gadgets
will ALWAYS be centered in the screen, both horizontally and vertically,
whether there is just 1 gadget or 30.  This makes any size menu look quite
pleasing (Unlike Selector!).


                             Future Improvements
                             ~~~~~~~~~~~~~~~~~~~

Allow gadgets to be disabled

Creation of "fake gadgets" allowing odd number of gadgets to be configured

Direct linking to other menufiles from within the program

Addition of LOAD to project menu allowing new menufile to be selected

New version without ANY error checking for those people to whom disk space
is of vital importance !

If you have any ideas for improvements or if you encounter any bugs, please
contact me on the address below:


                                 Roy Huntley
                             173 St Agnells Lane
                                  Grovehill
                               Hemel Hempstead
                                Hertfordshire
                                   HP2 6LQ


                                   History
                                   ~~~~~~~

V0.1 - Development version, very sketchy and not much error checking.

V1.0 - First "real" version. Limited to 15 gadgets.

V2.0 - Release version.  Code optimised, now able to configure 1-30 gadgets.

V2.2 - Added the pretty (?) BMENU graphic at the top of the screen.  Makes
       the menu screen look just that little but more interesting.


                                    -END-

