home *** CD-ROM | disk | FTP | other *** search
-
- **********************************
-
- reqtools.library
-
- The requester toolkit.
-
- Release 2.2b
-
- (c) 1991-1994 Nico François
-
- **********************************
-
- ---------------------------------------------------------------------
- NOTE: This is the user archive, there are no includes, autodocs, glue
- code, example files included.
- ---------------------------------------------------------------------
-
-
- First of all read the DISTRIBUTION file for information on... er well...
- distribution :-)
-
- If you have suggestions or remarks about ReqTools, or if you find any
- bugs, please let me know.
-
- Contacting the author:
-
- FidoNet: 2:292/603.10 (Nico Francois)
-
- Internet: nico@augfl.be
-
- Mail: Nico François
- Corbielaan 13
- B-3060 Bertem
- BELGIUM
-
- If you can please use e-mail. That way you'll stand a much better chance
- of getting a reply quickly.
-
-
- Contents
- ========
-
- 1. Introduction
-
- 2. Features
-
- 3. Installation
-
- 4. Using reqtools.library
-
-
- 1. Introduction
- ===============
-
- reqtools.library is a standard Amiga shared, runtime library. The purpose
- of ReqTools is to make it a lot quicker and easier to build standard requesters
- into your programs. ReqTools is designed with Commodore's style guidelines in
- mind, all requesters have the look-and-feel of AmigaDOS Release 2.
-
- If you use ReqTools in your programs you do not have to worry about
- requesters too much. You'll have a lot more time to concentrate on the
- really important stuff your program does.
-
- The library has been inspired by req.library (by Colin Fox & Bruce Dawson)
- and Commodore's own asl.library. You will find it shares a lot of the
- features with these two libraries, while it has some additional ones as well.
- While asl.library was great in look-and-feel I felt it lacked quite a bit in
- the power department. This power _is_ mostly available in req.library, but
- this doesn't fit in too well with AmigaDOS Release 2. So the idea for a new
- requester library was born.
-
- I tried to make all requesters in ReqTools very powerful, easy to use and
- with a very nice new-look 3D interface. Efficiency was also considered very
- important. The 2.0 version of the library is about 38K large. I'm sure you
- will agree this is not too much considering what ReqTools offers.
-
- ReqTools features the following requesters: a query requester, a string
- requester, a number requester, a file requester, a font requester, a palette
- requester and new in release 2.0 of ReqTools a volume requester and a screen
- mode requester.
-
-
- 2. Features
- ===========
-
- The requesters have following features:
-
- All requesters:
-
- o have a pixel-perfect Workbench 2.0 3D look, also on Kickstart 1.3.
- o Completely localized! If you are using Workbench 2.1 or higher the
- text in ReqTools requesters will appear in the language of your
- Workbench (if the catalog for this language is available).
- o adjust to interlaced screens and to the screen's font (rtEZRequest,
- rtGetLong, rtGetString) or to any fixed-width font if the screen's
- font is proportional (rtPaletteRequest/rtFileRequest/rtFontRequest).
- Requesters can also use any suitable font you specify.
- o can appear under the mouse pointer, centered on the
- screen/in a window or at the top left of the screen/a window.
- o can be used asynchronously.
- o check pr_WindowPtr of your process is to find the screen they should
- appear on (can be overridden).
- o use tags for maximum future extendibility. All standard 2.0 tags are
- supported (like TAG_SKIP, TAG_MORE, etc.).
- o bring the screen they appear on to the front. The screen that was
- in front previously will be put in front again when the requester
- finishes (if it is still open).
- This behaviour can be switched off.
- o will always appear in the visible portion of the screen (support of
- virtual screens).
- o are extensively tested using enforcer and mungwall debugging tools.
- o have the ability to lock the parent window from all user input and
- give it a standard wait pointer automatically.
- o can share the IDCMP port of the parent window.
- o supports a callback hook for handling IDCMP messages from a shared
- IDCMP port.
- o have keyboard shortcuts for gadgets (key underlined in gadget label).
- Use Right Amiga key with shortcut if a string gadget is active.
-
- rtEZRequest, the query requester:
-
- o easy keyboard shortcuts:
- - Left Amiga V and Left Amiga B (like the standard requesters).
- - Y for positive response.
- - N, R, Esc for negative response.
- - Return can also be used as a shortcut and can be
- associated with any response. The gadget in question
- will have its text printed bold.
- Default response for Return is the positive response.
- - buttons give visual feedback when keyboard shortcuts
- are used.
- - keyboard shortcuts can be canceled by pressing Shift
- before releasing the key.
- - keyboard shortcuts can be defined to be any character in the
- button's label. The character in question will be underlined.
- o number of responses only limited by screen width.
- o allows for multiple lines of text.
- o text can be centered in requester (great for about requesters).
- o supports the use of 'printf' formatting codes in text
- and in responses.
- o can be terminated by IDCMP events.
-
- rtFileRequest, the file requester:
-
- o similar in use and look-and-feel as Asl file requester.
- o buffers directories in memory.
- o files and directories can be added or removed from the buffer
- by the calling program.
- o can be put in save mode, disabling double-clicks and asking you if
- directories that can't be found (entered manually) should be created.
- o optional callback hook for verification of files before they are
- added to the buffer.
- o supports multiple selection of files and optionally of directories.
- o when multi-select is on All, Clear and Match.. buttons are available.
- All selects, and Clear unselects all files. Match.. brings up a
- requester where the user can enter a pattern to select files.
- o can be used as a directory requester (showing no files).
- o optional pattern gadget to match files on.
- o shows all devices (with volume names) and all assigns made.
- o supports TABCYCLE under 2.0
- o pattern matching supports _ALL_ AmigaDOS 2.0 patterns.
- o can be used as a volume requester to get a device or an assign
- from the user.
- o can be resized in height to show more files.
- o Shows disk percentage used next to volume names.
- o Allows you to enter paths in the filename string gadget. If the
- requester finds a path in the filename it will change the directory
- to that path. So if you e.g. enter 'Devs:mountlist' in the filename
- gadget the requester will read the 'Devs:' directory and set the
- filename gadget to 'mountlist'. If you enter 'printers/' it will go
- into the printers directory. Enter '/' to go to the parent directory.
- o Completely keyboard controlable: use up and down cursor keys to
- select files or directories. Use Shift-Up and Shift-Down to jump
- by one window-full. Use Ctrl-Up and Ctrl-Down to jump to the start
- or end of the directory.
-
- rtFontRequest, the font requester:
-
- o buffers all fonts in memory.
- o shows sample of font you click on.
- o can be also be used to select the font's style.
- o supports color fonts, can change the screen's palette.
- o supports scaled fonts (AmigaOS Release 2 only).
- o optional callback hook for verification of fonts before they are
- added to the buffer.
- o supports TABCYCLE under 2.0
- o can be resized in height to show more fonts.
- o makes sure selected font is visible in listview when it comes up.
-
- rtScreenModeRequest, the display mode requester (Kickstart 2.0+ only!):
-
- o all modes in the DisplayInfo database can be displayed.
- o allows you to pick a standard overscan setting.
- o user may enter prefered size or choose to get the defaults.
- o number of colors selectable.
- o can be put up with the attributes from a given screen.
- o optional callback hook for examining a display mode before it is
- added to the requester.
- o can be resized in height to show more modes.
- o makes sure selected mode is visible in listview when it comes up.
-
- rtPaletteRequest, the palette requester:
-
- o features Copy, Swap and Spread functions.
- o current values of red, green and blue are displayed.
- o returns the selected color.
-
- rtGetLong, the long integer requester:
-
- o width of requester can be set by caller.
- o a minimum and maximum can be supplied and will be displayed
- in the requester.
- o a value to show up when the requester appears can be supplied.
- o can display buttons with several possible responses.
- o invisible entry is possible (useful for getting a code number).
- o patterned backfill of requester can be switched on or off.
- o some line(s) of (centered) text may be displayed above the entry
- gadget to give the user some extra information.
-
- rtGetString, the string requester:
-
- o width of requester can be set by caller.
- o a string to show up when the requester appears can be supplied.
- o can display buttons with several possible responses.
- o invisible entry is possible (useful for getting a password).
- o patterned backfill of requester can be switched on or off.
- o some line(s) of (centered) text may be displayed above the entry
- gadget to give the user some extra information.
-
-
- 3. Installation
- ===============
-
- To install reqtools.library copy it to your Libs: directory by hand, or
- run the installation script 'Install' (by using 'Execute' from the Shell or
- by double-clicking its icon).
-
- reqtools.library is provided in two versions (that are 100% equivalent,
- meaning you don't have to care which version the user installed): one for
- Kickstart 1.2 (or higher) and one for Kickstart 2.0 and higher.
-
- The version for Kickstart 2.0 uses 2.0 ROM functions for stuff like
- pattern matching, parsing tags, the 3D look, while a lot in the Kickstart 1.3
- version is emulated. It issuggested you use the 2.0 version of the library if
- you have Kickstart 2.0 in ROM.
-
- If you are running Workbench 2.1 or higher you will have the possiblity to
- use ReqTools in different languages. Just use the appropriate install script
- in the Install/Workbench_2.1+ directory.
-
-
- 4. Using reqtools.library
- =========================
-
- If you are a C programmer all you need to do is include the correct
- header ('libraries/reqtool.h') and open reqtools.library. After that you can
- use the functions in the library as if they were C functions. If your program
- quits it must of course close the library again. See 'demo.c' for an example.
-
- Glue code for several compilers/languages is included with ReqTools 2.2b.
- Look in the Glue directory of the ReqTools distribution to see if glue code
- exists for your compiler and/or programming language. If it doesn't and you
- write your own please send it to me and I'll include it in the next release
- of ReqTools.
- Note that the source for the Manx C libraries is the same as for the SAS/C
- libraries. See the README.Manx file in the archive
- 'Glue/Sas-C/LibSource.lha'.
- Manx C users may have to edit 'libraries/reqtools.h' and change the library
- (GfxBase, IntuitionBase, etc.) fields to rt_GfxBase, rt_IntuitionBase etc.
- Seems there is a bug in some versions of the Manx C compiler that has problems
- otherwise. Let's hope this gets fixed soon :-)
-
- Functions allowing a variable number of arguments can't be called using
- pragmas (in-line library calls, no glue code required). So if you use these
- you must always link with LIB:reqtools.lib or LIB:reqtoolsnb.lib (for SAS-C,
- or with the specific libraries for your compiler/language).
-
- Assembly programmers should also include the correct files and open
- reqtools.library. To call a function they must load A6 with the library base,
- put the arguments in the appropriate registers and jump to the library vector
- offset of the function they want to call.
-
- Remember to open the library with a specific version number if you wish to
- use features only found in that version (for example: screen mode requester).
-
- All library functions are explained in the autodoc file 'reqtools.doc'.
-
- Enjoy.
-
-
- LIBRARY HISTORY:
-
- *****************************************************************************
- RELEASE 1.0 (Library version 37.556 [1.3] - 37.670 [2.0])
-
- First release.
-
- *****************************************************************************
- RELEASE 1.0a (Library version 37.557 [1.3] - 37.673 [2.0])
-
- Fixed two minor bugs:
- - if a directory could not be found and you re-invoked the file
- requester it wouldn't check the directory again.
- - devices like PRT:, CON:, etc. now no longer show up in the device
- list of the 2.0 file requester.
-
- *****************************************************************************
- RELEASE 1.0b (Library version 37.566 [1.3] - 37.678 [2.0])
-
- Fixed bug: entering a pattern when a file requester's directory was
- invalid could cause a crash.
- rtGetString() and rtGetLong() 2.0 requester windows no longer have close
- gadgets.
- Font requester entries are "release verify" instead of "immediate".
- If no minimum or maximum is given for the GetLong requester it will not
- be displayed (1.0 and 1.0a displayed MAXINT or MININT).
- Minor cosmetic adjustments to file, font and palette requesters.
- Oberon interface to the library included.
-
- *****************************************************************************
- RELEASE 1.0c (Library version 37.592 [1.3] - 37.718 [2.0])
-
- Boopsi dispatch function for rtEZRequestA() buttons optimized (ReqTools
- for Kickstart 2.0). Occasional flicker just about eliminated.
- Enlarged buttons a bit in rtGetLongA(), rtGetStringA() and the file, font
- and palette requesters.
- Width of scroller gadget in file requester window increased.
- File string gadget is cleared when 'All' or 'Match..' is used. This
- wasn't done before and could result in unexpected multi-select results.
- Visual feedback for keyboard shortcuts improved (rtEZRequestA()). Button
- stays depressed as long as the key in question is held down, but still
- for a minumum of 1/10 sec. New feature: shortcuts can be canceled by
- pressing Shift before releasing the key.
- Minor bug fix: keyboard shortcuts V and B now really only work together
- with the Left Amiga key. Used to work without the qualifier.
- rtEZRequestA(), rtGetLongA() and rtGetStringA() will no longer call the
- DOS function Delay(), so they may from now on be called by tasks.
- Every ReqTools requester, except the file and font requesters (they use
- DOS for obvious reasons), can be called from a task.
- EZRequest with only one button now responds to the Return key, whether
- EZREQF_NORETURNKEY is set or not.
- Fixed small bug in libraries/reqtools.i include file. rtfi_Hook and
- rtfo_Hook were followed by a ; and this could lead to problems.
- Libraries (reqtoolss.lib and reqtoolssr.lib) for Dice C included.
- Pre-release (0.91ß) of RTPatch patcher program included.
-
- *****************************************************************************
- RELEASE 1.0d (Library version 37.600 [1.3] - 37.726 [2.0])
-
- rtEZRequestA(), rtGetStringA() and rtGetLongA() now switch the processor
- stack to ensure sufficient stack space for the function to succeed.
- Fixed bug in rtGetLong() requester in 2.0 version of ReqTools. Used to
- return TRUE and a random value if the user pressed Ok when the integer
- gadget was empty.
- File requester is somewhat larger by default.
- Improved automatic requester resizing (if requester would become too big
- for the screen).
- File requester (in save mode) no longer asks "Create drawer?" when you
- entered a drawer string containing a non-existing volume (e.g. 'FOO:').
- Entries in file requester are now sorted immediately when you select the
- slider gadget and not when you release it (1.3 version of ReqTools).
- Latest revision of Oberon interface included.
- Modula-2 interface to the library included.
- Manx C interface to the library included.
-
- *****************************************************************************
- RELEASE 1.0e (Library version 37.600 [1.3] - 37.726 [2.0])
-
- Rearranged directories a bit. All glue code now in one directory.
- Installation script now uses Commodore's Installer utility.
- Two Modula-2 interfaces to the library are now included, one for M2Sprint
- and one for M2Amiga.
- Some bugs in the Dice C libs have been fixed (thanks to Magnus Holmgren).
- Interface for HiSoft's HighSpeed Pascal included.
-
- *****************************************************************************
- RELEASE 2.0 (Library version 38.347 [1.3] - 38.693 [2.0])
-
- All requesters now have keyboard shortcuts.
- Kickstart 2.0 version of ReqTools has been localized. As long as the
- appropriate catalog file exists ReqTools will appear in the user's
- selected langauge.
- New requester: rtScreenModeRequestA(). A screen mode requester. Can be
- used to get a screen mode, size, depth and overscan type from the user.
- This requester is only available on Kickstart 2.0 or higher, but also
- present in the Kickstart 1.3 version of ReqTools.
- File, font and screenmode requesters are now resizable (in height).
- Font, volume and screen mode requesters will now make sure the current
- entry is visible in the listview when the requester first comes up.
- Improved DOWILDFUNC hook interface. New tag: RTxx_FilterFunc. Old hook
- interface (using req->Hook and FREQF_DOWILDFUNC flag) is still
- supported, but declared obsolete. Don't use in new code.
- Several new tags:
- o RT_Locale: specify a locale to be used instead of the default one.
- Ignored if locale.library isn't present in the system or you are
- using the Kickstart 1.3 version of ReqTools.
- o RT_ShareIDCMP and RT_IntuiMsgFunc: All requesters can now share
- their IDCMP port with the parent window. A callback hook for
- intuition messages received not concerning the requester can also be
- set using the RT_IntuiMsgFunc tag.
- o RT_LockWindow: Enables you to make ReqTools lock the parent window
- from all user input and give the window a standard wait pointer.
- After the requester returns the window will be unlocked and will get
- its original pointer back.
- o RT_Underscore: With this tag it is possible to define keyboard
- shortcuts for buttons. You can ask ReqTools to underline a character
- in the button's label and use this as a shortcut.
- o for rtGetString() and rtGetLong(): RTGS_GadFmt, RTGS_GadFmtArgs,
- RTGL_GadFmt and RTGL_GadFmtArgs. With these tags you may give the
- user several ways out of the string/long requester.
- o for rtGetString() and rtGetLong(): RTGS_Invisible and RTGL_Invisible.
- Can be used to switch on invisible typing to get a password or a code
- number from the user.
- o RTGS_TextFmt, RTGL_TextFmt, RTGS_TextFmtArgs and RTGL_TextFmtArgs:
- These tags allow you to supply some line(s) of text that should be
- printed above the string/integer gadget in the rtGetString() or
- rtGetLong() requesters.
- o RTGS_Flags and RTGL_Flags: Set certain flags for rtGetString() and
- rtGetLong() requesters. Used to set the GSREQF_CENTERTEXT or
- GLREQF_CENTERTEXT flags.
- o RTGS_BackFill and RTGL_BackFill: Switch the patterned backfill in
- the rtGetString() and rtGetLong() requesters on or off.
- o RT_ScreenToFront: Allows you to switch of the default behaviour of
- popping the screen the requester appears on to the front.
- o RT_TextAttr: Allows you to specify a font a requester should use
- instead of the screen or default font.
- o RTFI_VolumeRequest: New flavor of file requester: volume requester.
- Allows you to easily get a device/assign from the user.
- o RTFI_AllowEmpty: Enables you to allow the file requester to accept
- an empty filename. Normally cancels the requester if no filename
- was entered.
- Changes to file requester:
- o Shows disk percentage used next to volume names.
- o 'Hide .info' cycle gadget gadget in file requester replaced by
- '.info' toggle gadget next to filename string gadget.
- o Will no longer automatically change directories to their full
- pathname. Will only do so when needed (e.g. parent of an assign).
- o Allows you to enter paths in the filename string gadget. If the
- requester finds a path in the filename it will change the directory
- to that path.
- o Completely keyboard controlable: use up and down cursor keys to
- select files or directories. Use Shift-Up and Shift-Down to jump
- by one window-full.
- o 1.3 version has a 2.0-look sizing gadget and bottom border.
- o Changed 'Disks' to 'Volumes'.
- o Changed '(dir)' to 'Drawer' (right justified).
- o Assigns now displayed differently (with 'Assign' right justified).
- o Added an indicator for number of selected files (if multiselect on).
- o No longer shows 'Add', 'Match..' and 'Clear' gadgets if no multi-
- select is possible.
- New library functions:
- o rtLockWindow() and rtUnlockWindow(): easily lock a window from user
- input and give it a standard wait pointer.
- o rtCloseWindowSafely(): close a window with a shared IDCMP port.
- Updated glue code:
- o Oberon interface updated for ReqTools V38.
- o SAS/C, Manx C and Dice glue code updated for ReqTools V38.
- o New HighSpeed Pascal (for ReqTools V38) interface written by
- Gunter Indenhoek included.
- Demo updated to demonstrate new features of ReqTools 2.0.
- Version 1.0 of RTPatch patcher program included. Patches req.library,
- arp.library and asl.library to use ReqTools requesters instead.
-
- *****************************************************************************
- RELEASE 2.0a (Library version 38.350 [1.3] - 38.693 [2.0])
-
- Aaaargh! Just one day after releasing ReqTools 2.0 a MAJOR bug turned
- up in the Kickstart 1.3 version: rtLockWindow() was broken!! Only
- turned up when running on 1.3, since on 1.3 there seems to be no return
- value from intuition.library/Request() (So C=, your autodocs have a bug
- in them as well :-). Bug fixed.
- Fixed broken install script for Workbench 1.3.
-
- *****************************************************************************
- RELEASE 2.0b (Library version 38.358 [1.3] - 38.803 [2.0])
-
- Installer is no longer distributed with ReqTools. It is copyrighted by
- Commodore and can only be distributed under license. If you have
- Installer (preferably version 2.12 or higher) make sure it is in your
- command path so the install scripts will work. If you don't have
- Installer you'll have to install ReqTools manually, sorry.
- When you use the up/down arrows in the file requester and no file is
- highlighted yet, ReqTools will now highlight the file at the top of
- the visible area (instead of the first file in the list).
- Some small changes in demo, now demonstrates min/max with rtGetLong(),
- return value when RTGS_GadFmt is used and multi-selection in the file
- requester.
- Changed RTGL_BackFill and RTGS_BackFill tags to use the same spelling as
- WA_BackFill in intuition.h (with a capital F). Be sure to install the
- new include files.
- Install scripts for Workbench 2.0 or higher now also try to update
- RTPatch (if the the file is found in C: or SYS:WbStartup).
- Added icons for install scripts for all 10 languages. Install strings
- are all more or less translated. Catalog translation files of all
- languages not supported yet are now also included, making it easier to
- translate ReqTools.
- From this release on ReqTools will make sure the Dir field of the file
- requester structure is pointing to the current directory while in the
- file filter callback hook (RTFI_FilterFunc).
- Changes in the Kickstart 2.0 version of ReqTools:
- o All requesters use simple refresh windows. Window refreshing is a
- bit slower, but a lot of chip memory is saved. Very important when
- you use the requesters on screens with a lot of colors/bitplanes.
- o All requesters have a backfill hook installed that will fill the
- background of the window with the DrawInfo pen BACKGROUNDPEN. The
- DetailPen and BlockPen of the requesters will now also be set to
- DrawInfo pens (BACKGROUNDPEN and SHADOWPEN).
- Bug fixes:
- o When the RTGL_GadFmt or RTGS_GadFmt tag was used the requester did
- not return the correct value.
- o Small problem with requester resizing on virtual screens. Maximum
- number of entries was restricted to fit the visual area. The maximum
- height of the requester's window is now also set correctly.
- o Empty (current) directory no longer cancels the directory requester.
- o Font requester in Kickstart 1.3 version of the library didn't
- show a font if the font was previously opened in another height.
- o Field rt_Flags in 'libraries/reqtools.[hi]' changed to rt_RTFlags
- since it conflicted with the rt_Flags field in 'rexx/storage.[hi]'.
- Shouldn't cause any problems since the field was private anyway.
- o Entering a something like 'MAIL:/' to go to the parent directory
- of MAIL: now works.
- Some small errors and omissions fixed in the autodoc.
- French catalog revised by David Lebel. Thank you David for correcting
- my lousy french :-)
- Italian and Swedish catalog files included (thanks Michele and Patrik).
- Updated/bug-fixed Oberon interface included.
- Version 1.0a of RTPatch included.
-
- *****************************************************************************
- RELEASE 2.0c (Library version 38.362 [1.3] - 38.810 [2.0])
-
- Fixed Enforcer hit in file, font and screenmode requesters of the
- Kickstart 2.0 version of the library.
- Fixed bug: when the pr_WindowPtr of the calling process was -1 and you
- used a tag that needed a parent window (like RT_LockWindow or RT_ReqPos
- with REQPOS_CENTERWIN) ReqTools could crash.
- Pattern and drawer string gadgets no longer refresh the directory in the
- requester if they aren't changed. Especially useful if you cycle
- through the string gadgets with TAB (Kickstart 2.0 version).
- Included a README file explaining ReqTools' installation scripts need
- Commodore's Installer utility.
- Include file 'libraries/reqtools.h' fixed. This used a BPTR without
- including 'libraries/dos.h'. Thanks to Olaf Barthel for reporting this.
- Danish catalog file included (thanks Per).
- Version 1.0b of RTPatch included.
-
- *****************************************************************************
- RELEASE 2.1 (Library version 38.382 [1.3] - 38.961 [2.0])
-
- New major feature: ReqTools preference editor (Kickstart 2.0+ only)!
- o Switch screen to front popping on/off.
- o Display drawers before files in file requester.
- o Mix drawers and files in file requester.
- o Sort entries in file requester immediately.
- o Set default position of all requesters.
- o Set default size of file, font, screenmode and volume requesters.
- o Set minumum and maximum number of entries visible in file, font,
- screenmode and volume requesters.
- Kickstart 2.0 (or higher) version of ReqTools only:
- o The file requester will keep its top entry up to date with what is
- typed in the filename string gadget. Pressing the up or down arrow
- will select the file that most closely matches the contents of the
- filename string gadget.
- o Entering of pathnames in the filename string gadget has been
- improved. The file requester will now check if what you enter is a
- directory. This allows you to enter directories without a trailing
- '/' (for example 'SYS:c').
- o rtSetWaitPointer() and rtLockWindow() will set the standard Intuition
- wait pointer on Kickstart 3.0 machines. Note that rtUnlockWindow()
- will _not_ restore the original pointer if it was a new pointerclass
- pointer (Kickstart 3.0)!
- o File requester is an AppWindow now. This means you can drop disk,
- drawer or file icons on the requester's window to go to a directory
- or select a file.
- o All requesters now set an appropriate bitplane write mask in the
- rastport of their windows. This makes them render and scroll much
- faster on a screen with lots of bitplanes/colors.
- Available system fonts will now be buffered for _all_ font requesters.
- This speeds up font requesters enormously, a font scan is generally
- needed only once now. The version of ReqTools for Kickstart 2.0 (or
- higher) has been made intelligent enough to see if the assign has been
- changed between two requests. ReqTools will free the buffer when
- memory gets low. Note that to accomplish this ReqTools keeps its
- library open count 0. A real open count is kept internally.
- File requester will no longer show deferred (late) assigns.
- Several bug fixes:
- o Small bug: was no longer possible to exit volume/assign list by
- pressing Return in the drawer gadget without changing the directory.
- o Fixed weird bug with the selection of listview entries. If you
- selected a non-existing item and dragged the mouse up, an item above
- all others would be complemented. Thanks to Mathias Korsbäck for
- reporting this.
- o No longer goes into an endless loop when LOCALE: could not be found
- when a catalog had to be loaded. Thanks to Holger Kruse for
- reporting this.
- o Resizing a file requester with an inexisting directory and with the
- volume list displayed resulted in a crash.
- o Some other miscellaneous bugfixes.
- Norwegian catalog file included (thanks Mario).
- Improved and bug fixed Dice C libraries included (by Magnus Holmgren).
- Includes libs for small code model, large code model and both of these
- with the arguments passed in registers.
- M2Amiga interface updated for ReqTools V38 by Frank Lömker.
- PCQ Pascal interface to the library included, written by Chris Pressey.
- Version 1.1 of RTPatch included.
-
- *****************************************************************************
- RELEASE 2.1a (Library version 38.385 [1.3] - 38.1002 [2.0])
-
- Serious bug fixed: file requester would crash if you tried to type a
- filename in a requester with a shared IDCMP port.
- Some other small bug fixes.
- rtGetString() and rtGetLong() will activate the string/integer gadget
- when the requester window becomes active. This should make life easier
- for people using AutoPoint or other sunmouse-like utilities.
- New keyboard shortcuts for file requester: pressing Control-Up/Down will
- bring you to the start/end of the directory list.
- Kickstart 2.0 (or higher) version of ReqTools only: Faster directory
- reading from a fast hard disk or ram disk. The file requester now
- tries to read as many files as possible in .5 seconds. If this time-out
- expires, or all files have been read, the display is updated for the
- first time. After this initial time-out period the display will be
- updated every .2 seconds. This reduces the amount of rendering calls
- substantially and therefore results in faster directory loading.
- German catalog for preference editor included. German strings in install
- script have also been updated (by Steffen Salzmann, thanks Steffen).
- Danish catalog for preference editor included (thanks Per).
-
- *****************************************************************************
- RELEASE 2.1b (Library version 38.388 [1.3] - 38.1017 [2.0])
-
- Recompiled with SAS/C 6.1: fixes bug of the filerequester not returning
- CALL_HANDLER when the RT_ReqHandler tag was used. Seems SAS/C 6.0
- converted (APTR)0x80000000 to 0. Don't you just love compiler bugs :-)
- File requester will clear the current selection when the filename string
- gadget is changed. This allows you to use the filename completion
- multiple times in a row. Also, using Amiga-X in the string gadget will
- no longer bring you to the start of the directory.
- RTSC_ModeFromScreen will now correctly set the autoscroll setting. The
- default autoscroll setting is now also correctly read from the screen
- the requester will appear on. Changed reqtools.doc to reflect this
- change.
- Volume and directory requesters will no longer exit when Shift Return is
- pressed (special request by per Jacobsen :-).
- Kickstart 2.0 version of ReqTools only: Requesters with an inactive
- parent window (using the RT_Window tag) will also open in inactive
- state. Suggested by Jorrit Tyberghein.
- Now respects EZREQF_NORETURNKEY flag also for single button EZRequesters,
- so the Return shortcut is disabled. Thanks to Bert Wynants for
- pointing this out. As a result of this most single-button requesters
- will have their buttontext printed in bold, showing you can use the
- return key.
- String gadget edit hook changed to be more according to the rules (using
- sgwork->EditOp instead of checking for Amiga-X and Amiga-Q by itself).
- Some small bugs in include files fixed. Thanks to Magnus Holmgren and
- Per Jacobsen for reporting these.
- Italian catalog for preference editor included (thanks Michele).
- Spanish catalogs for library and preference editor included. Translated
- by Juan Carlos Sanchez Garcia. I had to edit the catalog for the
- preference editor so the prefs window would fit on a 640x200 screen.
- My apologies to spanish ReqTools users if I made mistakes in doing so.
- German catalog file for preference editor fixed.
- Version 1.1a of RTPatch included.
-
- *****************************************************************************
- RELEASE 2.1c (Library version 38.388 [1.3] - 38.1020 [2.0])
-
- Requesters with an inactive parent window will no longer open inactive.
- This new feature of ReqTools 2.1b was removed since it was more
- annoying than helpful. Jorrit will be shot at dawn... ;-)
- Palette color spread function was broken in Kickstart 2.0 version of the
- library. Fixed. Thanks to Jesper Juul for reporting this bug.
- New danish catalogs and danish install text included (thanks Jesper).
- German catalog for library fixed, some keyboard shortcut keys were used
- twice.
- French catalog for preference editor included (thanks Benoit).
-
- *****************************************************************************
- RELEASE 2.1d (Library version 38.388 [1.3] - 38.1022 [2.0])
-
- Major new feature: rexx interface to the library. RexxReqTools is a
- small library that offers lots of rexx commands to use just about all
- ReqTools requesters. Many thanks to Rafael D'Halleweyn for writing
- this library and giving me permission to include it with ReqTools.
- Finally fixed the refresh bug in the Kickstart 2.0 version of ReqTools.
- Seems it was a bug in the 3.00 ROM. ReqTools now uses the 'bug-less'
- ScrollWindowRaster() for its window scrolling on 3.0. Thank you
- Peter Cherna! :-)
- A small bug popped up in the rewriting of the string gadget edit hook
- (Kickstart 2.0 version of ReqTools): keyboard shortcuts were no
- longer possible from integer gadgets. Fixed.
- Added extra message to install script. Must still be translated for all
- languages except english and dutch.
- Fixed bug in 'reqtools.i'. Missing rtfi_IntuiMsgFunc, rtfo_IntuiMsgFunc
- and rtsc_IntuiMsgFunc caused several offsets to be wrong. Thanks to
- Dirk Vangestel for reporting this.
- Fixed bug in SAS/C and Manx C glue code. Stubs for rtReqHandler() and
- rtReqHandlerA() didn't save the A6 register.
- Included assembly version of demo source (converted by Dirk Vangestel).
- Most glue code has been archived with LhA (not everyone needs all the
- glue code, just de-archive what you need).
- Fixed enforcer hit in ReqTools preference editor, version 2.1a included.
- Version 1.1b of RTPatch included.
-
- *****************************************************************************
- RELEASE 2.1e (Library version 38.388 [1.3] - 38.1042 [2.0])
-
- Fixed bug in 'clib/reqtools_protos.h' include file: rtFontRequest() and
- rtScreenModeRequest() had wrong prototypes causing the ReqHandler
- feature to fail to work (without casting). Thanks to Ebbe Holleris
- Petersen for reporting this problem.
- Fixed small problem in rtEZRequest() requester: if body text was too
- large to fit on the screen and was clipped you could not click on the
- requester's buttons.
- Fixed problem with leading '/' in paths entered in file string gadget.
- Fixed enforcer hits when typing in font requester size gadget.
- Fixed problem with first Shift Down in a file requester with less
- entries than are possibly visible selecting a non-existant entry.
- Fixed problem with typing a single '/' in the path gadget. This caused
- the file requester to jump to the parent, but the path gadget was
- incorrectly cleared.
- Bug fix: palette requester didn't correctly restore the correct colors
- when it was canceled on an AGA machine with colors from a 24 bit
- palette. Thanks to Felix Braun for reporting this. Full AGA support
- will be something for the next release.
- Fixed bug in backfill code. Didn't always clear window background
- properly on screens with more than 2 bitplanes. Thanks to David Nouls
- for reporting this.
- Stack checking code in Kickstart 2.0 version of the library completely
- rewritten. Now uses exec.library StackSwap() to swap the stack.
- Glue code for SAS/C enhanced. Code hunks are now named 'text' instead
- of 'code', allowing real small code linking. Glue code now supports
- the autoinitialization and autotermination feature of SAS/C 6.0. If
- you define ReqToolsBase as external and link with reqtools.lib or
- reqtoolsnb.lib, reqtools.library will be automatically opened.
- Thanks to Brian Ipsen for the suggestion.
- Fixed small bug with rtSetWaitPointer() in HighSpeed Pascal interface.
- Portugese catalogs and install text for library and preference editor
- included. Translated by Pedro Aguiar.
- Added 'Español' and 'Português' check boxes to languages in install
- script.
- German strings in install script updated by Steffen Salzmann.
- Swedish catalog for library adjusted a bit.
- GCC interface to the library included. Written by Marc Duponcheel.
- Release 1.2b of RexxReqTools included.
-
- *****************************************************************************
- RELEASE 2.1f (Library version 38.390 [1.3] - 38.1095 [2.0])
-
- Screenmode requester now knows about EURO72, EURO36, SUPER72, DBLNTSC
- and DBLPAL monitors.
- rtGetVScreenSize() now uses VideoControl() if possible to get the
- visible screen size.
- File requester, font requester and screenmode requester now ignore
- all key presses before the requester is completely set up. This
- should just about eliminate the problem of a gadget getting pressed
- because the user typed too quickly.
- File requester will use the device name of a volume if it's name is
- not unique (multiple floppies called 'Empty' for example).
- On Kickstart 3.0 or higher the file, font and screenmode requesters will
- use memory pools.
- Palette requester is now fully AGA compatible. It uses the DisplayInfo
- database to find out the palette range of the screen it is opened on.
- It supports 256 colors out of a pallete of 16,8 million and should
- support even beyond that (not tested since there currently is nothing
- that goes beyond that :-).
- Bug fix: using the close gadget of the palette requester returned 0
- instead of -1 for cancel.
- Bug fix: rtGetLong() requester completely misplaced the min/max display
- when RTGL_TextFmt was used.
- Bug fix: fixed enforcer hits in file requester when FREQF_SELECTDIRS
- was used and a directory was double-clicked.
- Bug fix: font style handling of rtFontRequest() was almost completely
- broken. Should work ok now.
- Bug fix: min/max display in rtGetLong() requester would become garbled
- during window-refreshing when the RT_ReqHandler feature was used.
- Bug fix: clearing the font name gadget in the rtFontRequest() requester
- and pressing Return caused the requester to return TRUE although
- the 'Cancel' gadget was visibly selected. The requester now properly
- returns FALSE.
- Fixed some minor errors in include files and autodoc.
- Some updated catalogs included.
- French install text included, translated by Benoit Mortier.
- Release 1.2c of RexxReqTools included.
- Version 1.2 of RTPatch included.
-
- *****************************************************************************
- RELEASE 2.2 (Library version 38.390 [1.3] - 38.1194 [2.0])
-
- -----------------------------------------------------------------------
- NOTE: All changes listed below are for the Kickstart 2.0 and higher
- version of the library (unless stated otherwise). Development of
- the 1.3 compatible version of ReqTools has more or less stopped.
- -----------------------------------------------------------------------
- File, font and screenmode are now able to use proportional fonts, making
- them truly font-sensitive. Palette requester will accept and use a
- proportional font on Kickstart 3.0 or higher only. Note: this
- required a small catalog change, so be sure to update your catalogs.
- Added cool LED indicator left of the drawer gadget in the file requester.
- People who dislike this can turn this feature off in the ReqTools 2.2
- preference editor.
- File requester will now make sure 'freq->Dir' and 'filename' are
- up-to-date when a callback hook is called (RTFI_FilterFunc and
- RT_IntuiMsgFunc). If you want to rely on this please check for
- this _exact_ release of ReqTools (or higher of course).
- File requester will show file sizes in localized form now.
- Screenmode requester now handles color depths greater than 8192 colors
- correctly (will use 16K, 32K, 16M,... for high color values).
- Previously the window borders could get overwritten, oops :-)
- Removed hardcoded monitor names from screenmode requester code and made
- screenmode requester construct the name for an unnamed mode from the
- monitor name and dimensions.
- Bug fix: when the SCREQF_GUIMODES flag is used the screenmode requester
- will no longer show modes that haven't got the DIPF_IS_WB flag set.
- This fixes the problem of truecolor Picasso II modes showing up.
- Added a temporary workaround for a SAS/C bug (6.50 and earlier) creating
- incorrect code for taglist switches. Programs with a missing TAG_END
- in one of their taglists will no longer crash (but are still buggy ;-)
- Changed rtLockWindow() and rtUnlockWindow() nesting code. Should work
- much better now and allow for infinite nesting.
- Improved calculation of spacing value in rtGetVScreenSize(), will now
- properly return a spacing of 4 for A2024 monitor for example.
- Release 1.2e of RexxReqTools included.
- Version 2.2 of ReqTools preference editor included.
- Version 1.3 of RTPatch included.
-
- *****************************************************************************
- RELEASE 2.2a (Library version 38.390 [1.3] - 38.1210 [2.0])
-
- Bug fix: on Kickstart 3.0 (V39) the palette requester's slider values
- were sometimes incorrectly displayed (palette requester will now only
- use GTJ_RIGHT on V40 or higher).
- Bug fix: if no locale.library was found (Workbench 2.04) the file and
- font requesters would display a 'D' instead of the file/font size.
- Bug fix: rtSpread() now handles the case where the total size of all
- objects is larger than the total available size correctly (objects will
- overlap in this case of course).
- Quirk fix: file requester will no longer overlap the button gadgets when
- they get too wide for the screen (german locale and lores screen for
- example). It will scale the buttons in size to make them fit.
- Screenmode requester will no longer fail silently if the current mode
- is invalid. It now simply picks the first mode id from the current
- list of modes.
- Changed display mode filtering code slightly to fix the problem with
- Picasso II monitor 2.14 (or higher) modes not showing up in the
- screenmode requester.
-
- *****************************************************************************
- RELEASE 2.2b (Library version 38.390 [1.3] - 38.1248 [2.0])
-
- Bug fix: screenmode requester had some selection problems on certain
- graphic cards (Spectrum, Merlin,...). Should be fixed now.
- Directory requester will no longer hide the files in directories, but
- will show them ghosted now. Note that directories will always be
- shown first in the directory requester, regardless of the ReqTools
- prefs setting.
- File requester now has directory completion as well as filename
- completion. Pressing Alt up/down arrow will select the directory
- that most closely matches the contents of the filename string gadget.
- The file requester now also has volume and assign completion. Using
- up/down arrow will select the closest matching volume. Use the Alt
- qualifier to select the closest matching assign.
- The volume list will now first show the volume name, followed by the
- device name.
- New switch in the ReqTools preference editor to force the use of the
- system default font instead of the screen font in the file, volume,
- font, screenmode and palette requesters.
- Fixed enforcer hits in font and screenmode requesters when an intuition
- callback function (RT_IntuiMsgFunc tag) was used.
- Improved method of filtering DOS devices that are shown in the file and
- volume requesters.
- Palette requester: pressing either Alt key with the keyboard shortcut
- for red, green or blue will adjust the color value in steps of 8.
- Fixed SAS/C glue code to be compatible again with the autoinitialization
- and autotermination feature of SAS/C 6.50 and higher.
- Added SAS/C 6.x 'tagcall' pragmas to 'include/pragmas/reqtools.h'.
- Included new glue code for GCC. Written by Gunther Nikl.
- Version 2.2b of ReqTools preference editor included.
-
- *****************************************************************************
-
- reqtools.library written by Nico François
-
- Thanks to o Kai Bolay for writing the Oberon interface,
- o Frank Lömker and Michael Griebling for writing the Modula-2
- interfaces,
- o Jan van den Baard and Magnus Holmgren for writing the Dice C
- libraries,
- o Martin Steppler for writing the Manx C libraries,
- o Richard Waspe and Gunter Indenhoek for writing the HighSpeed
- Pascal interfaces,
- o Chris Pressey for writing the PCQ Pascal interface,
- o Federico Giannici for the useful suggestions,
- o Peter Stuer, Gunter Indenhoek, Jorrit Tyberghein, Ives Aerts,
- Bert Wynants, Mathias Korsbäck, Christoffer Zettermark and
- Roger Nordin for beta-testing,
- o Michele Giorato for the Italian catalog translations,
- o Patrik Nordvall for the Swedish catalog translation,
- o Per Jacobsen/Jesper Juul for the Danish catalog translations,
- o Mario Gonzalez for the Norwegian catalog translations,
- o Juan Carlos Sanchez Garcia for the Spanish translations,
- o Pedro Aguiar for the Portugese translations,
- o Benoit Mortier for the French catalog translation,
- o Dirk Vangestel for the assembly demo source,
- o Marc Duponcheel and Gunther Nikl for the GCC glue code,
- o Rafael D'Halleweyn for writing RexxReqTools,
- o Herman Stevens for being my Fido boss node and having such a
- great Amiga BBS,
- o All registered ReqTools users/developers.
-
-
- "Cry, if you want to cry
- If it helps you see
- If it clears your eyes" - Soundgarden
-
-
- (C) 1991-1994 Nico François
-