home *** CD-ROM | disk | FTP | other *** search
/ Otherware / Otherware_1_SB_Development.iso / amiga / programm / libs / reqtools.rea < prev   
Text File  |  1992-11-11  |  10KB  |  205 lines

  1. SHORT: requesters - obligatory for programmers
  2.  
  3. This is obligatory stuff for programmers !!! Save yourself many hours using
  4. these POWERFUL and SYSTEM CONFORMANT requesters in your programs.
  5.  
  6. Users can replace req.library, arp.library and asl.library's requesters by
  7. these using an enclosed utility called RTPatch.
  8.  
  9. -Ives
  10.  
  11. Excerpt from the enclosed readme file:
  12.  
  13.  
  14.                       **********************************
  15.  
  16.                           reqtools.library
  17.  
  18.                           The requester toolkit.
  19.  
  20.                           Release 2.0
  21.  
  22.                           (c) 1991/1992 Nico Franτois
  23.  
  24.                       **********************************
  25.  
  26.  
  27. 1. Introduction
  28. ===============
  29.  
  30.     reqtools.library is a standard Amiga shared, runtime library.  The purpose
  31. of ReqTools is to make it a lot quicker and easier to build standard requesters
  32. into your programs.  ReqTools is designed with Commodore's style guidelines in
  33. mind, all requesters have the look-and-feel of AmigaDOS Release 2.
  34.  
  35.     If you use ReqTools in your programs you do not have to worry about
  36. requesters too much.  You'll have a lot more time to concentrate on the
  37. really important stuff your program does.
  38.  
  39.     The library has been inspired by req.library (by Colin Fox & Bruce Dawson)
  40. and Commodore's own asl.library.  You will find it shares a lot of the
  41. features with these two libraries, while it has some additional ones as well.
  42. While asl.library was great in look-and-feel I felt it lacked quite a bit in
  43. the power department.  This power _is_ mostly available in req.library, but
  44. this doesn't fit in too well with AmigaDOS Release 2.  So the idea for a new
  45. requester library was born.
  46.  
  47.     I tried to make all requesters in ReqTools very powerful, easy to use and 
  48. with a very nice new-look 3D interface.  Efficiency was also considered very
  49. important.  The 2.0 version of the library is about 34K large.  I'm sure you
  50. will agree this is not too much considering what ReqTools offers.
  51.  
  52.     ReqTools features the following requesters:  a query requester, a string
  53. requester, a number requester, a file requester, a font requester, a palette
  54. requester and new in release 2.0 of ReqTools a volume requester and a screen
  55. mode requester.
  56.  
  57.  
  58. 2. Features
  59. ===========
  60.  
  61.    The requesters have following features (features marked with *NEW* are new
  62. features for release 2.0, version 38 of ReqTools):
  63.  
  64.    All requesters:
  65.  
  66.       o have a pixel-perfect Workbench 2.0 3D look, also on Kickstart 1.3.
  67. *NEW* o Completely localized!  If you are using Workbench 2.1 or higher the
  68.         text in ReqTools requesters will appear in the language of your
  69.         Workbench (if the catalog for this language is available).
  70.       o adjust to interlaced screens and to the screen's font (rtEZRequest,
  71.         rtGetLong, rtGetString) or to any fixed-width font if the screen's
  72.         font is proportional (rtPaletteRequest/rtFileRequest/rtFontRequest).
  73. *NEW*   Requesters can also use any suitable font you specify.
  74.       o can appear under the mouse pointer, centered on the
  75.         screen/in a window or at the top left of the screen/a window.
  76.       o can be used asynchronously.
  77.       o check pr_WindowPtr of your process is to find the screen they should
  78.         appear on (can be overridden).
  79.       o use tags for maximum future extendibility.  All standard 2.0 tags are
  80.         supported (like TAG_SKIP, TAG_MORE, etc.).
  81.       o bring the screen they appear on to the front.  The screen that was
  82.         in front previously will be put in front again when the requester
  83.         finishes (if it is still open).
  84. *NEW*   This behaviour can be switched off.
  85.       o will always appear in the visible portion of the screen (support of
  86.         virtual screens).
  87.       o are extensively tested using enforcer and mungwall debugging tools.
  88. *NEW* o have the ability to lock the parent window from all user input and
  89.         give it a standard wait pointer automatically.
  90. *NEW* o can share the IDCMP port of the parent window.
  91. *NEW* o support a callback hook for handling IDCMP messages from a shared
  92.         IDCMP port.
  93. *NEW* o have keyboard shortcuts for gadgets (key underlined in gadget label).
  94.         Use Right Amiga key with shortcut if a string gadget is active.
  95.  
  96.    rtEZRequest, the query requester:
  97.  
  98.       o easy keyboard shortcuts:
  99.         - Left Amiga V and Left 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.         - keyboard shortcuts can be canceled by pressing Shift
  109.           before releasing the key.
  110. *NEW*   - keyboard shortcuts can be defined to be any character in the
  111.           button's label.  The character in question will be underlined.
  112.       o number of responses only limited by screen width.
  113.       o allows for multiple lines of text.
  114.       o text can be centered in requester (great for about requesters).
  115.       o supports the use of 'printf' formatting codes in text
  116.         and in responses.
  117.       o can be terminated by IDCMP events.
  118.  
  119.    rtFileRequest, the file requester:
  120.  
  121.       o similar in use and look-and-feel as Asl file requester.
  122.       o buffers directories in memory.
  123.       o files and directories can be added or removed from the buffer
  124.         by the calling program.
  125.       o can be put in save mode, disabling double-clicks and asking you if
  126.         directories that can't be found (entered manually) should be created.
  127.       o optional callback hook for verification of files before they are
  128.         added to the buffer.
  129.       o supports multiple selection of files and optionally of directories.
  130.       o when multi-select is on All, Clear and Match.. buttons are available.
  131.         All selects, and Clear unselects all files.  Match.. brings up a
  132.         requester where the user can enter a pattern to select files.
  133.       o can be used as a directory requester (showing no files).
  134.       o optional pattern gadget to match files on.
  135.       o shows all devices (with volume names) and all assigns made.
  136.       o supports TABCYCLE under 2.0
  137.       o pattern matching supports _ALL_ AmigaDOS 2.0 patterns.
  138. *NEW* o can be used as a volume requester to get a device or an assign
  139.         from the user.
  140. *NEW* o can be resized in height to show more files.
  141. *NEW* o Shows disk percentage used next to volume names.
  142. *NEW* o Allows you to enter paths in the filename string gadget.  If the
  143.         requester finds a path in the filename it will change the directory
  144.         to that path.  So if you e.g. enter 'Devs:mountlist' in the filename
  145.         gadget the requester will read the 'Devs:' directory and set the
  146.         filename gadget to 'mountlist'.  If you enter 'printers/' it will go
  147.         into the printers directory. Enter '/' to go to the parent directory.
  148. *NEW* o Completely keyboard controlable: use up and down cursor keys to
  149.         select files or directories.  Use Shift-Up and Shift-Down to jump
  150.         by one window-full.
  151.  
  152.    rtFontRequest, the font requester:
  153.  
  154.       o buffers all fonts in memory.
  155.       o shows sample of font you click on.
  156.       o can be also be used to select the font's style.
  157.       o supports color fonts, can change the screen's palette.
  158.       o supports scaled fonts (AmigaOS Release 2 only).
  159.       o optional callback hook for verification of fonts before they are
  160.         added to the buffer.
  161.       o supports TABCYCLE under 2.0
  162. *NEW* o can be resized in height to show more fonts.
  163. *NEW* o makes sure selected font is visible in listview when it comes up.
  164.  
  165. *NEW* rtScreenModeRequest, the display mode requester (Kickstart 2.0+ only!):
  166.  
  167. *NEW* o all modes in the DisplayInfo database can be displayed.
  168. *NEW* o displays visible and nominal size.
  169. *NEW* o user may enter prefered size or choose to get the defaults.
  170. *NEW* o number of colors selectable.
  171. *NEW* o can be put up with the attributes from a given screen.
  172. *NEW* o optional callback hook for examining a display mode before it is
  173.         added to the requester.
  174. *NEW* o can be resized in height to show more modes.
  175. *NEW* o makes sure selected mode is visible in listview when it comes up.
  176.  
  177.    rtPaletteRequest, the palette requester:
  178.  
  179.       o features Copy, Swap and Spread functions.
  180.       o current values of red, green and blue are displayed.
  181.       o returns the selected color.
  182.  
  183.    rtGetLong, the long integer requester:
  184.  
  185.       o width of requester can be set by caller.
  186.       o a minimum and maximum can be supplied and will be displayed
  187.         in the requester.
  188.       o a value to show up when the requester appears can be supplied.
  189. *NEW* o can display buttons with several possible responses.
  190. *NEW* o invisible entry is possible (useful for getting a code number).
  191. *NEW* o patterned backfill of requester can be switched on or off.
  192. *NEW* o some line(s) of (centered) text may be displayed above the entry
  193.         gadget to give the user some extra information.
  194.  
  195.    rtGetString, the string requester:
  196.  
  197.       o width of requester can be set by caller.
  198.       o a string to show up when the requester appears can be supplied.
  199. *NEW* o can display buttons with several possible responses.
  200. *NEW* o invisible entry is possible (useful for getting a password).
  201. *NEW* o patterned backfill of requester can be switched on or off.
  202. *NEW* o some line(s) of (centered) text may be displayed above the entry
  203.         gadget to give the user some extra information.
  204.  
  205.