
 *****           **     **                *    *
 **  **          **     **                **  **
 **  **        ****** ******              ******
 *****  **  **   **     **   ****  *****  ******  ****  *****  **  **
 **  ** **  **   **     **  **  ** **  ** **  ** ****** **  ** **  **
 **  ** **  **   **     **  **  ** **  ** **  ** **     **  ** **  ** V1.00
 *****   *****    **     **  ****  **  ** **  **  ****  **  **  *****



CONTENTS
========
   = Introduction
   = Disclaimer
   = Copyright
   = Distribution
   = Acknowledgements
   = Compatibility
   = Requirements
   = Getting Started
     - From Workbench
     - From Shell
   = Reference
     - How To Create a Button Menu
     - How To Use a Button Menu
     - Height Confusion
     - What to do if the items won't fit
     - Limitations
     - Descriptions of each Gadget
   = Contacting the author
   = History


INTRODUCTION
============
   ButtonMenu allows Kickstart 2.0 (and above) owners to create menus in
   the form of a window full of GadTools buttons.  Two programs are
   provided: one to allow you to create the menu and one which runs the
   menu.  It is then possible to run your menu from a startup-sequence,
   for example.  The GUI for the creator was designed to use Topaz 8,
   but it will adapt to the current screen font if it is not too big.


DISCLAIMER
==========
   I cannot be held liable if this program causes you to lose valuable
   data, nor can I be blamed if this program causes any other problems
   with your system.  Any problems are entirely the user's responsibility.


COPYRIGHT
=========
   ButtonMenu V1.00 - written with DICE C (2.07.56R) on an A600 with no HD
   (c) Oliver Roberts, 1994

   ButtonMenu is public domain and the copyright remains with the author.


DISTRIBUTION
============
   ButtonMenu is freely distributable providing none of the distributed
   files are changed in any way,  ButtonMenu is not sold for profit and
   it is not included on any disks that are sold solely for profit.  If
   ButtonMenu is to be sold for profit, permission must be obtained from
   me, the author (Oliver Roberts).  Included in the above are magazine
   coverdisks - let me know if you wish to use ButtonMenu menus on the
   disk(s).

   For following files MUST be distributed together if the Creator is to
   be included:

   ButtonMenu          (ButtonMenu Creator)
   ButtonMenu.info
   ButtonMenu.doc      (Document)
   ButtonMenu.doc.info
   BMX                 (ButtonMenu Executor)
   reqtools.library    (KS2.0 V38 - Needed for Creator only)

   If you just want to distribute your created menu then you can
   distribute this file without the files above:

   BMX                 (ButtonMenu Executor)


ACKNOWLEDGEMENTS
================
   Reqtools.library      (c) 1991-1994 Nico Francois

   The GUI for the Creator was created with:
   GadToolsBox V2.0b     (c) 1991-1993 Jaba Development


COMPATIBILITY
=============
   ButtonMenu has been tested on an A600 with KS2.05 and KS3.0 using
   NTSC/PAL, chip/fake fast, chip configurations.

   ButtonMenu is fully OS-Legal, it should work on ANY Amiga with
   Kickstart 2.0 or higher!
   (if not - contact me!)


REQUIREMENTS
============
   Any Amiga with Kickstart 2.0 (V36) or higher.  NTSC / PAL

   To run the Creator you will need these disk based libraries in the
   LIBS: drawer on you boot disk or HD.

      diskfont.library (V36 or higher)
      reqtools.library (V38 or higher)

   To run the Executor you do NOT need "reqtools.library" in the LIBS:
   drawer, but if you are not using a ROM font (ie Topaz 8 or Topaz 9)
   for the menu you will need "diskfont.library" if the font has not
   already been loaded into RAM by another program.


GETTING STARTED
===============
   First make sure you have the libraries mentioned in the REQUIREMENTS
   section installed in your LIBS: drawer on you HD or boot disk.

From Workbench
--------------
   Double-click on the ButtonMenu icon.

From the Shell
--------------
   Type `ButtonMenu' at the prompt.  There are no command line options
   at present.


REFERENCE
=========
How to Create a Button Menu
---------------------------
   Making a menu is simple with ButtonMenu.  Just enter the items you wish
   to be displayed to the user and the AmigaDOS command lines.

   Entering the commands is made simplier by providing a file requester:
   just click on the gadget next to the command text gadget and select the
   file you want to be run when the user clicks on the button.

   You can also ask for the command to be run in the background (uses the
   AmigaDOS `run' command).

   Then select the font you wish to use for the buttons, the size of the
   window and the title for the window.  Then select 'Save' from the menu.

How to Use a Button Menu
------------------------
   Type `BMX <filename>' at a DOS prompt and the menu will appear.  Where
   <filename> is the name of a ButtonMenu datafile which you have
   previously saved (defaults to `BM.dat').  The menu should now appear.

   Now just click on the button to run the corresponding commands, and
   click the close gadget when you have finished.

Height Confusion
----------------
   Some people may find the way the Height of the menu window is calculated
   confusing - or uninteresting!  So for users who want to know why the
   height is what it is, here is a little (well... long) explanation:

  "The Amiga OS will always use the screen's default font (set in Workbench
   preferences) for the text in the title bars for each window opened.

   This means that the size of the title bar is variable when running the
   menu with `BMX' and it is inconvenient to keep the height of the window
   constant - the calculations in the ButtonMenu Creator would also have
   to be used in the `BMX' program which would make the program nearly as
   large as the creator, and would create incompatibilities with different
   systems. I wanted the menu to be displayed as quickly as possible with
   the smallest possible program.

   So, you are asked to enter the maximum inner height for the window,
   which is the height of window excluding the title bar and bottom border.
   The `Calculated Total Height' gadget will display an estimate for the
   total height of the window, using the current screen font.

   Included is a `Height Adjust' feature.  This will alter the height
   further, by removing any blank lines that will not be used giving a
   slightly tidier menu.  To do this though, the `Calculated Total Height'
   is calculated as before, but with the smallest possible height.     "

What to do if the items won't fit
---------------------------------
   If you have the Adjust Height feature enabled, or are trying to save
   your menu, and get any error message saying that the item(s) won't
   fit in the window, then here are the possible causes/solutions:

   Causes
   ------
      * The text length of one of the items is too long
        (and/or longer than the width of the window)
      * The font is too large
      * The window is too small
      * Too many items

   Solutions (a bit obvious!)
   ---------
      * Shorten the length of the item texts
      * Select a smaller font
      * Enlarge the window
      * Delete some of the longer items

Limitations
-----------
   The only limitation to the menus you create is that there must be at
   least 1 item and no more than 100 items.  If you need more items -
   let me know.

Descriptions of each Gadget
---------------------------
   New Item   : Add a new item to the menu, after the currently selected
                one (or the start if there are no items).

   Delete Item: Erase the currently selected menu item.

   Up         : Move the currently selected item up the list.

   Down       : Move the currently selected item down the list.

   Item Text  : The text to be displayed on one of the menu buttons.

   DOS        : The command to be executed when the corresponding menu
    Command     button is clicked.  This is to be in the same format as
                you would run it from the CLI manually.  You can also
                select commands via a file requester, so you don't need
                to remember the exact filenames.

   Run command: Tells the Amiga to run that command as a background task.
    in          This does the same thing as `run >NIL: <command>' would
    background  do, where <command> is the contents of the DOS Command
                gadget.

    Font Used : The font to be used for the item text on the menu buttons.
    For Items   Click the Choose Font button to change the font.

    Title     : Text to be displayed in the title bar of your menu - uses
                a separate font.

    Width     : Width of the menu window (in pixels).

    Inner     : The height of your window excluding the title bar and
    Height      bottom border.

    Adjust    : With this feature turned on, any blank lines at the bottom
    Height      of your menu window will be removed by decreasing the
                height.  Checks will also be made to see if your items
                will actually fit in the menu window with the dimension
                you have specified whenever you alter these, the font or
                the Item Text.  With the feature off, these checks are
                only made when saving.

    Calculated: This is the estimated total height of your window including
    Total       the borders.  Assumes the screen font you will use for the
    Height      menu will be the same as the current one - that is why it
                is an estimate.


CONTACTING THE AUTHOR
=====================
   You can contact me via e-mail at this address:

      robeoy@essex.ac.uk

   Or via snail-mail, my permanent home address is:

      30 Tillett Road
      Norwich
      Norfolk
      NR3 4BJ
      ENGLAND


HISTORY
=======

V1.00 - July 28 1994

First release.
