home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d5xx / d575 / reqtools.lha / ReqTools / README < prev    next >
Text File  |  1991-12-22  |  10KB  |  252 lines

  1.  
  2.                       **********************************
  3.  
  4.                             reqtools.library
  5.  
  6.                             The requester toolkit.
  7.  
  8.                             Release 1.0b
  9.  
  10.                             (c) 1991 Nico François
  11.  
  12.                       **********************************
  13.  
  14.  
  15.    First of all read the DISTRIBUTION file for information on... er well...
  16. distribution :-)
  17.  
  18.    If you have suggestions or remarks about ReqTools, or if you find any
  19. bugs, please let me know.
  20.  
  21.    Write to the following address:
  22.  
  23.                                 Nico François
  24.                                 Corbielaan 13
  25.                                 B-3060 Bertem
  26.                                 BELGIUM
  27.  
  28.  
  29. Contents
  30. ========
  31.  
  32. 1. An introduction
  33.  
  34. 2. Features
  35.  
  36. 3. Installation
  37.  
  38. 4. Using reqtools.library
  39.  
  40.  
  41. 1. An introduction
  42. ==================
  43.  
  44.     reqtools.library is a standard Amiga shared, runtime library.  The purpose
  45. of ReqTools is to make it a lot quicker and easier to build standard requesters
  46. into your programs.  ReqTools is designed with Commodore's style guidelines in
  47. mind, all requesters have the look-and-feel of AmigaDOS Release 2.
  48.  
  49.     If you use ReqTools in your programs you do not have to worry about
  50. requesters too much.  You'll have a lot more time to concentrate on the
  51. really important stuff your program does.
  52.  
  53.     The library has been inspired by req.library (by Colin Fox & Bruce Dawson)
  54. and Commodore's own asl.library.  You will find it shares a lot of the
  55. features with these two libraries, while it has some additional ones as well.
  56. While asl.library was great in look-and-feel I felt it lacked quite a bit in
  57. the power department.  This power _is_ mostly available in req.library, but
  58. this doesn't fit in too well with AmigaDOS Release 2.  So the idea for a new
  59. requester library was born.
  60.  
  61.     I tried to make all requesters in ReqTools very powerful, easy to use and 
  62. with a very nice new-look 3D interface.  Efficiency was also considered very
  63. important.  The 2.0 version of the library is about 20K large.  I'm sure you
  64. will agree this is not too much considering what ReqTools offers.
  65.  
  66.     ReqTools features the following requesters:  a query requester, a string
  67. requester, a number requester, a file requester, a font requester and a
  68. palette requester.
  69.  
  70.  
  71. 2. Features
  72. ===========
  73.  
  74.    The requesters have following features:
  75.  
  76.    All requesters:
  77.  
  78.     o have a pixel-perfect Workbench 2.0 3D look, also on Kickstart 1.3.
  79.     o adjust to interlaced screens and to the screen's font (rtEZRequest,
  80.       rtGetLong, rtGetString) or to any fixed-width font if the screen's font
  81.       is proportional (rtPaletteRequest, rtFileRequest or rtFontRequest).
  82.     o can appear under the mouse pointer, centered on the
  83.       screen/in a window or at the top left of the screen/a window.
  84.     o can be used asynchronously.
  85.     o check pr_WindowPtr of your process is to find the screen they should
  86.       appear on (can be overridden).
  87.     o use tags for maximum future extendibility.  All standard 2.0 tags are
  88.       supported (like TAG_SKIP, TAG_MORE, etc.).
  89.     o bring the screen they appear on is to the front.  The screen that was
  90.       in front previously will be put in front again when the requester
  91.       finishes (if it is still open).
  92.     o will always appear in the visible portion of the screen (support of
  93.       virtual screens).
  94.     o are extensively tested using enforcer and mungwall debugging tools.
  95.  
  96.    rtEZRequest, the query requester:
  97.  
  98.     o easy keyboard shortcuts:
  99.       - Amiga V and Amiga B (like the standard requesters).
  100.       - Y for positive response.
  101.       - N, R, Esc for negative response.
  102.       - Return can also be used as a shortcut and can be
  103.         associated with any response.  The gadget in question
  104.         will have its text printed bold.
  105.         Default response for Return is the positive response.
  106.       - buttons give visual feedback when keyboard shortcuts
  107.         are used.
  108.     o number of responses only limited by screen width.
  109.     o allows for multiple lines of text.
  110.     o text can be centered in requester (great for about requesters).
  111.     o supports the use of 'printf' formatting codes in text
  112.       and in responses.
  113.     o can be terminated by IDCMP events.
  114.  
  115.    rtFileRequest, the file requester:
  116.  
  117.     o similar in use and look-and-feel as Asl file requester.
  118.     o buffers directories in memory.
  119.     o files and directories can be added or removed from the buffer
  120.       by the calling program.
  121.     o can be put in save mode, disabling double-clicks and asking you if
  122.       directories that can't be found (entered manually) should be created.
  123.     o optional callback hook for verification of files before they are
  124.       added to the buffer.
  125.     o supports multiple selection of files and optionally of directories.
  126.     o when multi-select is on All, Clear and Match.. buttons are available.
  127.       All selects, and Clear unselects all files.  Match.. brings up a
  128.       requester where the user can enter a pattern to select files.
  129.     o can be used as a directory requester (showing no files).
  130.     o optional pattern gadget to match files on.
  131.     o shows all devices (with volume names) and all assigns made.
  132.     o supports TABCYCLE under 2.0
  133.     o pattern matching supports _ALL_ AmigaDOS 2.0 patterns.
  134.  
  135.    rtFontRequest, the font requester:
  136.  
  137.     o buffers all fonts in memory.
  138.     o shows sample of font you click on.
  139.     o can be also be used to select the font's style.
  140.     o supports color fonts, can change the screen's palette.
  141.     o supports scaled fonts (AmigaOS Release 2 only).
  142.     o optional callback hook for verification of fonts before they are
  143.       added to the buffer.
  144.     o supports TABCYCLE under 2.0
  145.  
  146.    rtPaletteRequest, the palette requester:
  147.  
  148.     o features Copy, Swap and Spread functions.
  149.     o current values of red, green and blue are displayed.
  150.     o returns the selected color.
  151.  
  152.    rtGetLong, the long integer requester:
  153.  
  154.     o width of requester can be set by caller.
  155.     o a minimum and maximum can be supplied and will be displayed
  156.       in the requester.
  157.     o a value to show up when the requester appears can be supplied.
  158.  
  159.    rtGetString, the string requester:
  160.  
  161.     o width of requester can be set by caller.
  162.     o a string to show up when the requester appears can be supplied.
  163.  
  164.  
  165. 3. Installation
  166. ===============
  167.  
  168.    To install reqtools.library copy it to your Libs: directory by hand, or
  169. run the installation script 'Install' (by using 'Execute' from the Shell or
  170. by double-clicking its icon).
  171.  
  172.    reqtools.library is provided in two versions (that are 100% equivalent):
  173. one for Kickstart 1.2 (or higher) and one for Kickstart 2.0 and higher.
  174.  
  175.    The version for Kickstart 2.0 uses 2.0 ROM functions for stuff like
  176. pattern matching, parsing tags, the 3D look, while a lot in the Kickstart 1.3
  177. version is emulated.  It is therefore suggested you use the 2.0 version of
  178. the library if you have Kickstart 2.0 in ROM.
  179.  
  180.  
  181. 4. Using reqtools.library
  182. =========================
  183.  
  184.    If you are a C programmer all you need to do is include the correct
  185. headers and open reqtools.library. After that you can use the functions in
  186. the library as if they were C functions. If your program quits it must of
  187. course close the library again.  See 'demo.c' for an example.
  188.  
  189.    If you are using SAS/C 5.10a and you don't want to use pragmas, or if you
  190. are using version 4.0 or lower, you must link with LIB:reqtools.lib (small
  191. code) or LIB:reqtoolsnb.lib (large code).
  192.  
  193.    Programmers that use Manx C can use 'Bind' to generate the glue routines
  194. they need (or if they are using 5.0 they can of course use pragmas for in-line
  195. library calls).  If somebody out there writes glue routines for Manx they are
  196. welcome, I'll include them with the next distribution of ReqTools.
  197.  
  198.    Note that the functions allowing a variable number of arguments can't
  199. be called using pragmas.  So if you use these you must always link with
  200. LIB:reqtools.lib or LIB:reqtoolsnb.lib.
  201.  
  202.    Assembly programmers should also include the correct files and open
  203. reqtools.library.  To call a function they must load A6 with the library base,
  204. put the arguments in the appropriate registers and jump to the library vector
  205. offset of the function they want to call.
  206.  
  207.    All library functions are explained in the autodoc file 'reqtools.doc'.
  208.  
  209.                                                        Enjoy.
  210.  
  211.  
  212.                                LIBRARY HISTORY:
  213.  
  214. *****************************************************************************
  215. RELEASE 1.0 (Library version 37.556 [1.3] - 37.670 [2.0])
  216.  
  217.     First release.
  218.  
  219. *****************************************************************************
  220. RELEASE 1.0a (Library version 37.557 [1.3] - 37.673 [2.0])
  221.  
  222.     Fixed two minor bugs:
  223.       - if a directory could not be found and you re-invoked the file
  224.         requester it wouldn't check the directory again.
  225.       - devices like PRT:, CON:, etc. now no longer show up in the device
  226.         list of the 2.0 file requester.
  227.  
  228. *****************************************************************************
  229. RELEASE 1.0b (Library version 37.566 [1.3] - 37.678 [2.0])
  230.  
  231.     Fixed bug: entering a pattern when a file requester's directory was
  232.       invalid could cause a crash.
  233.     rtGetString() and rtGetLong() 2.0 requester windows no longer have close
  234.       gadgets.
  235.     Font requester entries are "release verify" instead of "immediate".
  236.     If no minimum or maximum is given for the GetLong requester it will not
  237.       be displayed (1.0 and 1.0a displayed MAXINT or MININT).
  238.     Minor cosmetic adjustments to file, font and palette requesters.
  239.     Oberon interface to the library included.
  240.  
  241. *****************************************************************************
  242.  
  243. reqtools.library written by Nico François (Yes, Nico is my first name :-)
  244.                  thanks to Kai Bolay for writing the Oberon interface.
  245.  
  246.  
  247. (c) 1991 Nico François
  248.  
  249.                                    //
  250.                        Thanks to \X/ Amiga for being the best computer ever !
  251.  
  252.