0.42.22
-------
24.02.2000  - fixed `build' script
            - found the reason for the segmentation fault: a missing `return'
              in `GDataStorage::Allocate' which only had an effect with
              optimization turned on
              [reported by Alain Roug]
23.02.2000  - [found & suggested by Alain Roug]:
              - window.cc: fixed bug when cursor was defined before a call 
                           to Create()
              - changed a color in the html reference
            - new version of `stupid'

0.42.21
-------
22.02.2000  - [found & suggested by Alain Roug]:
              - removed bugs in `examples/directx'
              - calling `./bin2c' instead of `bin2c' in all Makefiles
            - fixed: dialogeditor caused a segfault when the app was closed 
              after the scrollbars appeared during editing
            - removed minor compiler warnings
            - added `taborder' attribute in TWindow, but code in
              TFocusManager to handle it is currently missing
            - added `bDoubleBuffer' attribute in TWindow and it's handling
              in TPen; currently doesn't work with background bitmaps
17.02.2000  - using `inet_aton(...)' in `io/urlstream.cc'
25.10.1999  - fixed `TPen.DrawBezier*'
16.09.1999  - changed license from GNU Library GPL to GNU Lesser GPL
05.08.1999  - overrode builtin new, new[], delete and delete[] (which are
              attributed in the C++ lib as `weak' to do so) and copied some
              malloc code from the C lib, as a result `mtrace' will now
              report the address of the new/delete command
04.08.1999  - dropped the ancient `new' memory checker... uh, can't believe
              I wrote that. Wrote a new one.

0.42.20
-------
03.08.1999  - the solution to my problem is named `typeof'... :)
            - updated the OpenGL window code in example/opengl/
            - functions with 2 parameters in TSignal
            - rewrote the CONNECT calls in example/
02.08.1999  - discussed the stuff with Martin, seems there is some sense
              in this limitation from a certain point of view
01.08.1999  - this `taking the address of a bound/non-static member
              function' is really interesting; seems gcc-2.95 is now able
              to handle it even for virtual methods... but only with
              `-fpermissive'
30.07.1999  - gcc-2.95 is out
29.07.1999  - switched to egcs-19990718 and the new behaviour for `&' on
              member functions is horrible
            - another redefinition of CONNECT: just renaming the old beast
              to OLD_CONNECT so most conversations can be done with `xchg.pl'
            - vmas macro modifications for new egcs
25.07.1999  - oh, stupid me, forgot to set TOADBase::x11depth...
24.07.1999  - using default visual & default colormap
21.07.1999  - Peter Steinbrecher found a bug with the truecolor mode under 
              AIX, I fixed some colormap & visual bugs but there's still a 
              lot of work to do
19.07.1999  - there was a `sigActivate' in TRadioButtonBase which was hiding
              the one in TButtonBase
10.07.1999  - disabled the new CONNECT macro due to a bug in egcs
07.07.1999  - more text for the exception in bitmap.cc
            - Peter Steinbrecher verified that TOAD still compiles under AIX
              with egcs 1.1.2
            - redefined the CONNECT macro; to keep the old behaviour you
              have to add `-DTOAD_OLD_CONNECT' to your makefiles

0.42.19
-------
01.07.1999  - minor bug fixes in TGadgetEditor
30.06.1999  - minor TSignal changes
            - minor GSmartPointer enhancement
24.06.1999  - fixed a DnD bug
            - gadget editor changes
23.06.1999  - TWindow::SetShape failed on TPOS_PREVIOUS and TSIZE_PREVIOUS
              after the changes in TRect
            - fixed the invisible caret bug in TListBox but i have to
              reintroduce the usage to ScrollWindow
20.06.1999  - finished TUndoableHandleMove
19.06.1999  - gadget editor changes
16.06.1999  - decided to keep the raster coordinates in TPen
            - new methods in TPen: DrawRectanglePC, DrawCirclePC, DrawArcPC,
              same for fill and some other stuff
15.06.1999  - changed TPoint from `short' coordinates to `int'
            - modified TGadet::getHandle
            - undo/redo for the gadgeteditor: move handle
              => quite a lot modifications to make in TGadget
14.06.1999  - undo/redo for the gadgeteditor: move
13.06.1999  - added TGLine
            - gadget editor changes
            - dialog editor updates
12.06.1999  - gadget editor changes
10.06.1999  - more DnD stuff, visual feedback
08.06.1999  - it's still the API, integrating DND into TPaint and NetEdit
              to get things straight
            - added GSignal3P
            - added smart pointers to the DND stuff to simplify a lot
            - simplified the usage of TDropSite
07.06.1999  - local drop
            - still unsure how to design the DND API
06.06.1999  - pretty cool, just found out the Xdnd implementations in
              Qt 1.44 and GTK+ 1.2.0 are incompatible, so I really start
              to love my horrible Xdnd code
            - TOAD gets `text/plain' and `image/bmp' from Qt
            - new drag'n drop API
05.06.1999  - more Xdnd coding; so far it's cooperating with Qt 1.44 but
              Gtk still rejects us as a source
04.06.1999  - more Xdnd coding
03.06.1999  - added code to catch exceptions and popup a message box in the 
              message loop
            - more Xdnd coding
02.06.1999  - installed KDE 1.1.1 but most of it doesn't use Xdnd, `kfm'
              still sticks to its other protocol
01.06.1999  - made the gadget storage in TGadgetWindow as list and
              TGadgetEditor a subclass of TGadgetWindow
            - fixed bugs in the Xdnd code
31.05.1999  - added `ios::seek_dir' parameter in TBinStream
30.05.1999  - fixed the `<PRE>' tag in THTMLView
28.05.1999  - TGadgetEditor changes
            - TPen wasn't able to draw bitmaps into bitmaps
27.05.1999  - big bug: `SetVisible' was defined in TWindow and TScrollbar
              so I've renamed `TWindow::SetVisible' `TWindow::SetMapped'
            - the mouse methods get mouse positions relative to the windows
              origin
            - added `TPen::operator|=(const TRect&)'
26.05.1999  - TGadgetEditor changes
25.05.1999  - TGadgetEditor changes
06.05.1999  - added a missing `Invalidate()' in `TComboBox::SetAdapter'
05.05.1999  - tried flushing the paint event queue 12 times per second but
              it wasn't worth the effort
04.05.1999  - found the reason for Michael Mllers window placement bug
30.04.1999  - changes in build, configure.in and library_locator.sh
29.04.1999  - small adjustments for AIX (you'll need the GNU development
              tools under AIX for TOAD)
27.04.1999  - storage of typenames and version number in TSerializeBase
            - removed the TDialog flicker bug
            - added a parent parameter to the gadget constructors
26.04.1999  - fixed the JPEG thing, it was a missing call to `istream::clear()'
              in `TBitmap::Load(...)' before trying another filter
            - added `TInObjectStream' and `TOutObjectStream'
            - renamed `io/binfile.??' into `io/binstream.??'
25.04.1999  - reading JPEG again, but it destroys the input stream when
              it fails
            - removed the `seekg(0)' and `seekp(0)' call in the constructors
              of `TInBinStream' & `TOutBinStream'
            - added `TBitmap::Load(istream&)' and `TBitmap::Save(ostream&)'
            - GIF fails...?
            - located the code which crashes gdb-4.17; happens when 
              `GSignal1P<T>::Add' is used; the problem seems to be gone with
              gdb-4.18
24.04.1999  - reading & writing PNG
            - removed writing of GIF files
            - removed a bug in `filter_bmp.cc' for bitmaps of depth 4
            - changed the dialog resource filename prefix from `dialog:' to
              `dialog#' to avoid problems with the `make' program
23.04.1999  - wrote `bin2c'
22.04.1999  - sending `CR LF' when sending the HTTP request
            - modified TBitmapFilter
20.04.1999  - removed `TFile'
16.04.1999  - some Xdnd v3 coding
15.04.1999  - fixed the problem of the missing keyboard events in the 
              dialog editor
            - added TGadget::removeable
            - added `GSignal1P' & `GSignal2P' and changed some of the 
              controllers
            - moved `sigValueChanged' into `GStrangeDataManipulator'
13.04.1999  - some changes in TGadgetEditor
            - some changes in the `build' script
              [suggested by Armin Faltl]
09.04.1999  - added TGFrame
            - added `urlstream' and removed `TResourceFile'
            - added `TOADBase::SetResourcePrefix'
            - removed some methods in TDialog I considered useless
            - added `TOADBase::SetColorLimit'
08.04.1999  - added a missing `SetBackColor(255,255,255)' in TPens' 
              constructor
              [thanx to Michael Mller for his screenshoots]
            - implemented urlstream
07.04.1999  - removed a bug `TTextArea': hadn't checked `blink.current'
              in `~TTextArea'
            - encountered a nasty bug in TFont, tried to track it down and
              discovered that I have to remove all fonts on my own before
              closing the X11 connection (I know, this looks like another
              serious bug somewhere; have to trace it down in Xlib when
              I have more time)
            - more dialog editor coding
06.04.1999  - added `TWindow::SetHasBackground(bool)'
            - more dialog editor coding
            - added exceptions in TInBinStream again
            - added names in the interface of TSerializeBase
            - keeping 3D shadow for disabled TCheckBox
              [suggested by Michael Mller]
05.04.1999  - removed a new bug in `focusmanger.cc'
            - added `TFatCheckButton'
            - merged the new gadget stuff into TOAD: it's running but
              the file format isn't compatible with the old one, the
              gadget editor isn't using the dialogs data, flicker, etc.
              but after all it looks much better than the first experimental
              implementation :)
04.04.1999  - more figure stuff
            - added `TPen::SetBitmap'
            - TFigure became too specialized: decided to wait until TOAD 1.1
03.04.1999  - removed a bug in `focusmanager.cc: SetPathTo(..)' and made some
              smaller updates in `TMDIShell'
02.04.1999  - improved cooperation with existing Xlib based programs
              [required by Armin Faltl]
              - prefixed the internal attributes `display', `screen', `window'
                and `colormap' with `x11'
              - made Colormap and XEvent available as `x11colormap' and
                `x11event'
              - added `void TWindow::handleX11Event()'
            - added TCursor Attribute to `GrabMouse' and `GrabPopup'
            - removed `TPen::DrawString16' since I'm going to use
              multibyte and wide characters in the future (allready true
              for input)
            - removed the clipping bug in TBitmap::DrawBitmap
            - removed the `Get' prefix from `GetScreenWidth()' and
              `GetScreenHeight()'
            - merged `GetMessage' and `DispatchMessage' into `HandleMessage'
01.04.1999  - declared the destructor of TSmartReference being virtual
            - still laughing on the `setjmp.h' thing I've found yesterday :)
31.03.1999  - got another bug report for `filter_png.cc' on RedHat 5.1;
              after a hard fight with RPM (there's no way to talk this tool
              into unpacking everything into /tmp), I've finally found the
              reason: don't include `setjmp.h'
              [thanx to Rob O'Connell and Chauvin Nicolas]
30.03.1999  - more gadget stuff:
              - bug fixes
              - renamed gadgets into figures
              - changed coordinates from `int' to `double'
            - began TPencil & TScreenPencil
            - added methods for signed values in `io/binfile.hh'

TOAD 0.42.18
------------
29.03.1999  - merged `Stupid' into the `toad/doc/' tree
            - removed `TWindow::getShape' and `TWindow::setShape'
            - more gadget stuff: Ungroup()
28.03.1999  - more gadget stuff: TGGroup
            - improved the up & down cursor movement in TTextArea
27.03.1999  - more gadget stuff
            - modified yesterdays' ScrollWindow fix
            - removed a bug in TTextArea::_xy2buffer
26.03.1999  - more gadget stuff
            - added a missing `_modified=false' in TTextArea
            - removed a bug in TWindow::ScrollWindow & TWindow::ScrollRectangle
24.03.1999  - minor TPen updates
            - more gadget stuff
23.03.1999  - fixed a bug in `TRect::Adjust()'
            - more gadget stuff
22.03.1999  - made TWindow a subclass of TSmartReference
            - started reimplementing TGadget & friends
21.03.1999  - addded a missing `const' in `GStrangeDataManipulator'
            - it took some hours to trace down a very strange segmentation
              fault, appearing at random places; in the end it turned out
              to be a missing XNClientWindow parameter to XCreateIC
20.03.1999  - added some stuff for internationalized text input, just
              enough to support the compose key
            - moved TTextArea into the main tree
19.03.1999  - more TTextArea stuff:
              - faster `go2bufferpos()'
              - erase text in selection
              - move text in selection to cursor
              - create selection with mouse (scrolling is missing, to much
                flicker)
              - mark whole line with double click
            - removed the modalstack class
	    - changed `TWindow::closeRequest's default behaviour to call
              `TOADBase::EndDialog(TWindow*)' and `EndDialog' not to
              delete non-dialog windows anymore
            - some changes in toadmain.cc
            - added the missing assimilation in the data manipulator
              class for the indirect mode
18.03.1999  - more TTextArea stuff:
              - improved screen update
              - blinking text cursor
              - go to specific line
              - scrolling in _return(), _delete_line()
            - minor TSimpleTimer::StartTimer update
17.03.1999  - more TTextArea stuff
            - minor TSignal updates
            - changed TBinaryFile to: TBinStreamBase, TOutBinStream,
              TInBinStream and TBinStream
            - rewrote modeless dialog list and made TDialog available for
              smart pointers
            - TTextField with 3D outfit
16.03.1999  - minor `conf/MakefilePrg' changes
              [suggested by Michael Mller]
            - added `autoident' mode in TTextArea and other stuff
            - removed filetype combobox from TFileDialog when there are no
              filetypes
            - focus traversal skip unrealized window
12.03.1999  - removed another missing `./' prefix in the build script 
              [found by Rob O'Connell]

TOAD 0.42.17
------------
04.03.1999  - removed bugs in the `build' script during installation
              - wasn't creating symbolic links in the lib/ directory
              - wasn't using a `toad/' subdirectory for the header files
05.03.1999  - removed the thread lock for the paint queue (wasn't used
              anyway and caused a deadlock in a program)
            - added code for drawing a deactivated TCheckBox

TOAD 0.42.16
------------
03.03.1999  - added `sigDoubleClick' in TListBox, but it's an ugly name!
            - removed a scrolling related bug in TListBox
04.03.1999  - Michael Mller solved the `src -> ../src/' symbolic link
              problem
            - added the placement stuff from TDialog in TMessageBox

TOAD 0.42.15
------------
01.02.1999  - removed a bug in TScrolledArea
            - major TTextArea changes
09.02.1999  - changed the syntax of Bell
11.02.1999  - experiments with threads, but this is something for TOAD 2.0;
              threads can use `TOADBase::SendMessage(TAction*)' to cooperate
              with TOAD and no thread safe Xlib is required
12.02.1999  - complete rewrite of TSignal and removed `TSignalBase'
              -> no need for `bool checkSignal(TSignal*)'
              -> no need for `TSignalBase'
              -> `bool Trigger(T*)' becomes `bool Trigger()'
            - complete rewrite of the local message queue
              -> new `TAction' class
              -> `SendMessage(TAction*)' is thread safe
              -> `TSignal::DelayedTrigger()' is thread safe
            - removed a bug in the smart pointer code
            - raising the box in TComboBox when calling `SetVisible(true)'
24.02.1999  - rewrote most of `focusmanager.cc'
            - some TTextArea changes
25.02.1999  - added `-D_REENTRANT' & `-D_THREAD_SAFE' to configure.in
26.02.1999  - more TTextArea
            - started to rewrite Drag'n Drop with TBinaryFile
27.02.1999  - using GTK+ 1.2.0 and Netscape 4.5 as a Motif DnD testsuite,
              more DnD changes; found a funny thing in GTK: the `config-gtk' 
              script, this is something I've intended to add in TOAD :)
01.03.1999  - more DnD hacking
02.03.1999  - added simple tooltips
            - added PLACE_PULLDOWN & PLACE_TOOLTIP in `PlaceWindow(...)'
            - changed the parameters of `keyDown' and `keyUp' from
                (TKey, char*, int)
              to
                (TKey, char*, unsigned)
              this will break most programs but it was necessary to make
              the methods to conform with the mouse* stuff
            - added double click (MK_DOUBLE modifier)


TOAD 0.0.42 - 0.42.x
--------------------
09.09.1998  - added TTextArea
10.09.1998  - removed a new bug in TScrollBar, introduced with 0.0.41
            - made TScrollBar compatible with GDataManipulator
11.09.1998  - now a data interface depends on 5 classes instead of 2;
              this was neccesary to implement `SetX' and `GetX' in
              `GDataInterface' which was neccessary to implement this:
            - GDataInterfaces behave like observers; `like' means they
              don't really observe but notify each other when a value
              has changed; this works even nice for built-in data types
	      like int, double, etc. and there's a chance to enhance this
              to a real observer pattern
            - removed a new bug in TVScrollBar that made it a THScrollBar
            - renamed the size attributes in TWindow
12.09.1998  - dialog editor didn't received mouse and keyboard
              events when a modal dialog was opened, did a first dirty hack 
              to fix it
13.09.1998  - TPaint compiles again since the old ressource file stuff has
              been removed
            - removed a new bug in TMDIShell
14.09.1998  - developed a new concept for TScrolledArea
15.09.1998  - modifications for egcs 1.1
            - renamed methods in TIOObserver to avoid conflicts with
              C function names:
                read -> canRead
                write -> canWrite
                exception -> gotException
16.09.1998  - began with another HTML window
19.09.1998  - HTML class looks nice
21.09.1998  - added TThread, TThreadMutex & TThreadLock classes but I'm
              still not sure how to integrate 'em into the toolkit
            - removed some bugs in TIOObserver:
              - added `Flush()' when file desciptors changed their status
                but no X11 event occured
              - added `O_NONBLOCK' for all `TIOObserver' file desciptors
	      - `_vmas_table' wasn't created because i wrote
                  if (_vmas_table) { ... }
                instead of
                  if (!_vmas_table[0]) { ... }
22.09.1998  - added `bTabKey' style flag in TWindow
            - added `TColor::EColor16'
            - added `void TWindow::SetBackground(const TColor &)'
            - renamed `TColor::Open' into `TOADBase::InitColor()'
            - removed some static attributes from TColor and made
              them static in `color.cc'
            - added support for true- and pseudocolor displays
            - moved most of the color stuff into a new file
              named `colormanager.cc'
            - removed `rect.hh' and made a new file `types.hh' with
              TRectagle, TPoint, byte and ulong
            - renamed `EPenColor' to `TColor::ESystemColor'
            - temporally removed the background and foreground color methods
              in TPen
            - moved the pixmap reference from TPen to TColor but i guess
              this wasn't a smart idea because this forces the use of
              reference counters
23.09.1998  - decided to keep the pixmap reference and pixel value in
              TColor and to implement the reference counter with smart
              pointers
            - added `pointer.hh', but i'm not going to force people to
              use smart pointers like it had to be done in Fresco
24.09.1998  - made `TColor::_GetPixel' static again to improve speed in
              `bitmap.cc' (but it's slow as before; the trouble is i'm still 
	      using XAllocColor in true color mode, which causes net traffic 
	      on every call)
            - TrueColor and DirectColor became really fast by calculating the
              pixel value with the mask information in the XVisualInfo
	    - focus traversal: the TAB key was disabled since i added bTabKey
            - including `toad/types.hh' from `io/binfile.hh' because of a
              missing `ulong' definition
29.09.1998  - startet to port my `THTMLView' from JAVA to TOAD
30.09.1998  - THTMLView renders tables
	    - added `New++' again to find a memory leak in THTMLView and
              decided to keep `New++' in the library
            - `TDropContext' wasn't removed in the `TWindow' destructor
            - added the `-Wno-pmf-conversions' compiler option in
	      `MakefileLib.in' to avoid warnings for the `virtual method
	      auto selection' (VMAS) code in `window.cc' and `ioobserver.cc'
            - introduced `TDialogEditor::SetWindow(TWindow*)'
01.10.1998  - removed a memory leak in `filter_gif.cc'
            - `void TWindow::pDispatchPaintEvent()'
	      added a missing `SetOrigin(0,0)' before clearing the background
            - THTMLView:
              - HTML 2.0 character entity references
              - small parser modifications
              - anchors inside tables
              - images
03.10.1998  - rounded color values to 0,64,128,192 and 255
            - THTMLView:
              - removed a bug in HR
              - added BGCOLOR option for BODY, TD and TH
              - added WIDTH option with absolute values in TABLE
            - added a missing `index=0' in `filter_gif.cc'
            - removed a bug that made it impossible to save GIF files
            - removed a memory leak in `filedialog.cc' but there's another
              one (when changing the file type in tpaint)
            - small changes in the `doc' directory
04.10.1998  - added `TPen::FillString'
            - the `NEW++' code consumes to much time, because the storage
              is done with a list
            - added parallel make on Linux SMP systems
05.10.1998  - added `TColor::EColor16 COLOR16_MAX' (suggested by MM)
            - removed a bug in `pushbutton.cc' which made it impossible
              to control them with the keyboad (found by MM)
            - TForm rearranging when resizing children (found by MM)
              (and got a problem with recursion again)
22.10.1998  - removed a bug in `dither27_8x8'
28.10.1998  - removed a bug in `TOADBase::Select' which disabled the
              `TWindow::idle' method
            - removed `TWindow::keyUp bug'
30.10.1998  - added `TPen::DrawBitmap(x,y,TBitmap, ax,ay,aw,ah)'
            - added `TBitmapMask' (experimental)
02.11.1998  - removed 2 bugs in TGLWindow
03.11.1998  - added `float' & `double' types in `TBinaryFile'
05.11.1998  - had a look at CONNECT again and did a new series of
              experiments
06.11.1998  - removed the RTTI code from CONNECT and let the compiler find
              the errors instead (i wonder why i hadn't it done earlier, the
              trick was quite simple)
07.11.1998  - moved part of the signal code into `connect.cc' and reduced
              the code in `connect.hh'
08.11.1998  - i should do more research on MVC, MVP, TOAD data interfaces
              and data manipulators, the command concept i have in mind and
              other stuff before modifying the radiobuttons, listbox, etc. 
09.11.1998  - improved calculation of the column width in `THTMLView'
            - added `TMenuItem::OnActivate(...)' and currently it looks like
              a good idea
            - found a big bug in TFocusManager while trying to write an
              interface for LyX 0.12.0
10.11.1998  - wrote a simple Linux 2.1.x CD Player
11.11.1998  - centering bitmaps in TButtonBase
            - removed the bug in TFocusManager
              (occured when there was more then one shell window & one shell
              window was the child of another & no other child of the parent
              window wanted key events & the mouse pointer entered them 
              both when they were mapped)
13.11.1998  - added `TPen::DrawBezier'
14.11.1998  - started to add detection of graphic libraries during
              `configure' since the PNG import filter was ready for months
            - added `TPen::DrawPolyBezier' and `TPen::FillPolyBezier'
            - added `TWindow::OriginX()' and `TWindow::OriginY()'
15.11.1998  - added `TDPoint', `TPolygon' and `TDPolygon' in `types.hh'
            - removed `TPenBase' but planed to declare most methods in there
              virtual when continuing with `TGhostPen'
16.11.1998  - added `Poly2Bezier' (needed this feature in a program)
            - added member template constructor in `TListBox'
            - minor TFileDialog updates
17.11.1998  - added `static TDataManipulator::Assimilate(void*)' but it's
              not perfect yet
27.11.1998  - removed the 27 color mode, there's no need to use it with the
              smarter color allocation now
28.11.1998  - added pnglib, giflib and pthread detection in configure
30.11.1998  - added shared object name in MakefileLib to avoid the chaos
              with different TOAD versions
09.11.1998  - added a jpeg import filter because Melanie send me an eMail 
              with lots of JPEG images
10.11.1998  - removed a bug in focusmanager (reported by MM)
            - added `enabled()' method in TControl
            - reduced flicker in disabled TTextField when changing the
              label
            - removed `_bFocus' in TWindow
            - skipping disabled controls during tab traversal
            - removed the `TCOLOR_*' and `TPEN_*' definitions
            - removed a bug in the configuration dialog of TFilterGIF
05.01.1999  - removed a bug introduced by renaming TCOLOR_DITHER to
              TColor::DITHER in `colormanager.cc' (reported by Ziggy Uszkurat)
14.01.1999  - removed the static attributes from TSerializable and created
              a TSerializeBase class to generalize its usage
            - added version numbers in TSerializable
15.01.1999  - methods could be called with a bad 1st argument by TSignal when 
              the argument pointed to a class with multiple inheritance
            - foundation for multiple listeners in TSignal
            - removed `empty filter' bug in TFileDialog
16.01.1999  - removed `TPen::bColorModeChanged'
            - reimplemented TPens two color mode
            - finished the `TRadioState' class
            - first code for `TSimpleTimer' to get rid of `TWindow::idle()'
17.01.1999  - finished `TSimpleTimer' and removed `TWindow::idle()'
            - TBitmap::Load throws exceptions instead of opening message
              boxes; this is much better but the TBitmap::Save is still crap
19.01.1999  - removed flicker in TScrollBar
            - added `TWindow::PaintNow()'
            - added the gray scale mode for jpeg import
            - renamed `ioobserver.cc' into `select.cc'
            - removed CPP definitions for TMessageBox and added constants
              in TMessageBox
            - moved the TMMM constant for TWindow inside the class
28.01.1999  - skiped the namespace idea 'cause most functions in TOADBase
              need private access to the base classes
            - removed the old `TextWidth' definitions from `pen.hh'
            - moved the window placement stuff from TDialog to TOADBase
29.01.1999  - major TListBox modifications
            - added real keyboard control in TListBox and TComboBox
            - added `bool TWindow::Visible()'
            - removed `void TWindow::paintBackground()'
            - added `void TWindow::SetBitmap(TBitmap*)'
            - changed the ClearArea simulation in 
              `TWindow::_DispatchPaintEvent'
            - removed an old bug in TMDIWindow and added
              `TOADBase::LockPaintQueue()' and `TOADBase::UnlockPaintQueue()
            - added `TCursor'
            - added a `bDoubleClick' flag in TWindow but currently it's not 
              used
            - added the frequency to the Bell method but I have to reset this
              value in the future
31.01.1999  - minor dialog box change
            - renamed `TWindow::focus(bool)' to `TWindow::focus()' because
              most implementations didn't use the parameter and there's a
              IsFocus() method in TWindow.
            - TFileDialog changes


TOAD 0.0.37-0.0.41
------------------
02.08.1998  - design of data manipulator interface
03.08.1998  - added missing `const' to most TPen methods
            - added data manipulator
            - began using member templates, so you'll need g++ 2.8.1 or
              it's brother egcs 1.0.x; when you have trouble with this
              try to comment out `#define __TOAD_MEMBER_TEMPLATES' in
              `toadbase.hh' and pray
            - added `#include <assert.h>' in pen.cc 
                (thanx to Michael Mller <mueller@SECTOR.DE>)
03.09.1998  - added TOADBase::PeekMessage() (suggested by MM)
            - added TOADBase::Bell() (suggested by MM)
            - removed a `SetSize' bug (found by MM)
            - added TOADBase::SetDefaultFont() again
              (disappeared during the Windows NT disaster)
            - workaround for 2 tiny bugs in egcs 1.0.3a
04.09.1998  - finished the first example of the dialog editor and
              started to merge it into the source
06.09.1998  - moved the TRectGadget stuff from TGadget
            - added the `doc/manual/' directory
07.09.1998  - using of Title() to identify the controls, removed the ID 
              from TControl and therefore introduced `TLabelOwner'
            - renamed `TToggleButton' to `TFatRadioButton'
            - introduced `TRadioButtonBase' and made it a base class of
              `TRadioButton' and `TFatRadioButton'
            - making `TTextArea' a `TStringManipulator' becomes a little
              bit tricky because it wasn't using C or C++ strings so its
	      still in construction/
            - lots of small modifications
08.09.1998  - had the idea to make `TWindow' a virtual base class of
              `TLabelOwner' but this caused other restrictions and
              disabled RTTI for some classes. As a result `TLabelOwner'
              became an ancestor of `TControl' (oh, an' i guess i should
              find a better name for what is left of `TControl' ;) )
            - splitted `GDataManipulator' into two classes, the new one
              is `GStrangeDataManipulator', and invented the putData,
	      getData and ValueChanged methods

TOAD 0.0.35
-----------
18.07.1998   got the idea to introduce image file classes instead of
             image filters
22.07.1998   - removed 'short' type for RGB values
	     - removed BYTE and COLORREF types from `toadbase.hh'
	     - introduced TIOObserver again


TOAD Alpha 0.0.34
-----------------
08.04.1998   my harddisk was cleared by Microsoft Windows NT 4.0
20.04.1998   moved again to egcs 1.0.2 (or g++ 2.8.1)
11.05.1998   uh uh, theres no button information in mouseMove :(
             facinating how stupid i am...
05.06.1998   more work on TTable: row headers, different background color
             for even and odd lines, changed interface for table definition
10.06.1998   now TWindow.SetTitle calls Invalidate()
11.06.1998   added the Distance feature in TForm, needs more testing
12.06.1998   two modifications on TTextArea, guess i should move the
             version number to 0.1
12.07.1998   big & litte endian support in TFile
14.07.1998   - introduced TDataModifier
             - each data modifier, e.g. TTextField must handle data
               modifications with an extra object, then we can change
               the data type at runtime

TOAD Alpha 0.0.33
-----------------
19.02.1998 - removed 'main(..)' from the library into 'toadmain.o', this
             is to use TOAD in programs like 'xdm' where main() is already
             defined; some modifications in TDialog and TControl for the
             new dialog model; added some stuff for using TPen with TBitmap
             make some kind of double buffering but it seem that i have
             to reread the whole color, pen and bitmap code. it's so
             terrible

TOAD Alpha 0.0.32
-----------------
20.01.1998 - began TTextArea
21.01.1998 - transformed CPP definition in TPen and TForm into C++ constants
24.01.1998 - rewritting the keyboard focus model and removing TFocusManager
             from the TWindow class hierachy
25.01.1998 - invented TCHILD_BEFORE_ADD and TCHILD_BEFORE_CREATE and modified 
             the way windows are added in TMDIWindow, the way we do it now
             is more straightforward; made TCHILD_FOCUS working
29.01.1998 - the new keyboard focus management doesn't crash the test
             applications anymore, but two known bugs do still remain;
             made "dragndrop.cc" compileable on CPUs with restricted
             memory access to word or dword boundarys e.g. SPARC or
             M68000.
30.01.1998 - removed the two bugs and found some more when compiling the
             NetViewEditor program
31.01.1998 - added missing "break"s in TScrollBars keyDown switch
01.02.1998 - removed other bugs in the new focus management and found some
             more
03.02.1998 - renamed the CONSTRUCTOR macros parameters in 'macros.hh' to
             avoid conflicts


TOAD Alpha 0.0.31
-----------------
10.12.1997 - TFocusManager calls 'childNotify(wnd,TCHILD_FOCUS)' now
           - began a new TDialog with a built-in dialog editor and a new
             ressource file format (first version is running! well, when
             all the world says 'JAVA is cool' this is even MORE cool! :) )
14.12.1997 - began new color allocation for 8bit visuals
17.12.1997 - integrated new color allocation into TOAD but it's still not
             perfect
05.01.1998 - TRectangle.AddRect and TWindow.SetSize check for negative size
06.01.1998 - more comments, added 2D translation in TPen and TWindow but
             didn't ran a test (still unsure if was a good idea)

TOAD Alpha 0.0.27-0.0.30
------------------------
26.06.1997 worked on THyperView
07.07.1997 - fixed 'TBitmapFilter::Save'
           - TFont is a useful class now
           - removed 'void TWindow::create()' and 'void TWindow::destroy()'
             in TPaint
14.08.1997 - added selection to TTextField
23.08.1997 - added 'utility.hh'
           - simplified 'TForm::Attach' with two new methods:
             void Attach(TWindow *wnd,unsigned where);
             void Attach(TWindow *wnd,unsigned where, TWindow *w);
           - Added 'bool TSignal::IsConnected()'
           - TMenuBars TSimpleButton is now a descendant of TControl
           - TPulldownButton turns grey when not connected or without childs
25.08.1997 - added 'TWindow::SetVisible(bool)'
           - TComboBox opened ListBox at SetAdapter because was a call to
28.08.1997 - added "TListBox::SetAutoDelete(bool)"
14.09.1997 - started to remove the slider window in TScrollBar
20.09.1997 - added `SetValue' & `GetValue' to TRadioButton
21.09.1997 - added a 4th parameter to TButtonBase.DrawText to force a
             `disabled' output
           - TPushButton is drawn `disabled' when not connected
           - TPen.SetDashed doesn't create an X error anymore, when line
             width is zero
           - There were bugs in the TTextField selection
28.09.1997 - finished new TScrollBar class and moved it into the main
             source; and i guess i should invent a `TMMM_LAST' mode for
             `mouseMove'
           - renamed `TWindow::InvalidateRect' into
             `Invalidate(int,int,int,int)' and added 3 other variants of
             `Invalidate', one should use this instead of `UpdateWindow'
           - 'TWindow::~TWindow' sets pointer in its TPaintRegion to NULL
             (prevents a segmentation fault later)
           - 'TFileDialog' adds ".." when a directory contains no other
             directories (dirty hack to prevent being trapped in directories
             without read access)
05.11.1997 - TColor::GetPixelAt fails for 28 color mode
??.11.1997 - TColor::GetPixelAt doesn't fail in 28 color mode anymore...
             but in 16 color mode but it's okay by now
29.11.1997 - Added 'TWindow::ScrollRectangle'
           - continued with TTable and added real vertical scrolling
30.11.1997 - it seems there's a little bug hidding in TTable..
02.12.1997 - ..but it was in 'TWindow::ScrollRectangle' :)
07.12.1997 - changed 'TWindow::paint(TPen&)' into 'TWindow::paint()' because
             the pre-created pen wasn't used every time (TTranslationPen,
             TGLWindow::glPaint,...)


TOAD Alpha 0.0.19-0.0.26
------------------------
04.05.1997 TScrolledArea seems to work
06.05.1997 - Removed a bug in TBitmap: Pixmap wasn't resized after 2nd Load
           - TBitmap::Save & TBitmap::Load now use string& for filename
           - TRegion enhancement for clipping (ups! i've had the same idea as
             Borland =:) )
           - TScrolledArea handles clipping
           - renamed: TGRAPHIC_* -> TPEN_*, EGraphic* -> EPen*
           - added Floyd-Steinberg for TBITMAP_SHOW again
           - began indexed mode for TBitmap
07.05.1997 TBitmap index mode, lots of other changes
10.05.1997 Master Makefiles
14.05.1997 Hmm, should call XSync after every paint event because the paint
           event buffer doesn't seem to work when running TOAD over a 38400Bps
           line
19.05.1997 Now i'm calling XSync before every paint event and it's doing fine
28.05.1997 moved CONNECT from TWindow to TOADBase
31.05.1997 added 'void TWindow::drop(TDropContext*)' for a simple Drag'n Drop
           in TPaint
01.06.1997 TFilterPNG::Load
02.06.1997 401kB Sourcecode; started Motif compatible DnD
03.06.1997 No documentation for XmDRAG_PREREGISTER available, all Motif
           apps do crash while dragging with this mode
04.06.1997 before calling TWindow::RegisterDrag it must be known which windows
           ARE X11 toplevel windows (check TDialogs in TMDIWindow!!!)
08.06.1997 accepts XA_STRINGs from Motif but Motif does not remove the source
           when moving and gives a "selection lost" warning
19.06.1997 began HTML reference manual
20.06.1997 DnD: childNotify must notify ALL parents
23.06.1997 added TDropColor & TDragColor and discovered, that a zoomed bitmap
           can increase memory reserved by the X server up to 48MB (and more);
           there must be a bug... a-ha! bBackingStore is implemented now!
           So i removed 'bBackingStore = true' in TBitmapEditor and the program
           speeds up again! (no swapping on my 16MB machine)

TOAD Alpha 0.0.18
------------------
06.02.1997 Renamed some files:	
             osbase.* to toadbase.*
             graphic.* to pen.*
           And the class TGraphic has been renamed to TPen as it was before.
01.03.1997 Installed a new CPU cooler, the project continues...
05.03.1997 Experimenting with TScrolledArea
08.03.1997 Got new ideas for TDialog while writing a small tool for Postgres95
10.03.1997 TWindow.ScrollWindow now calls 'paint' but the asynchronus
           delivery of paint events causes trouble, ScrollWindow should
           call it directly
11.03.1997 understood the ScrollWindow bug
12.03.1997 removed the bug; changed 'int ToadMain(int,char**,char**)' into
           'int ToadMain()'; found new bug when TBitmap is in edit mode
           (well it's kind of a 'feature' i've forgotten: position must
           always be 0,0)
05.04.1997 removed a small bug in TScrollBar (division by zero) the
	   'SetStyle', 'ClearStyle' and 'IsStyle' methods in TWindow:
	   instead of
	   SetStyle(TS_POPUP | TS_SAVEUNDER);
	   you now have to write
	   bPopup = bSaveUnder = true;
	   (should've done that right from the start), renamed	TGRAPHIC_* to 
	   TPEN_* and lost the files for THyperView and TScrolledArea
25.04.1997	Motif Window Manager Hints for Dialogs
27.04.1997	THyperView handles tables
				

TOAD Alpha 0.0.17
------------------
24.01.1997	experimental ghostscript output
25.01.1997	a more stable CONNECT technique: CONNECT now performs type checking
		at run time


TOAD Alpha 0.0.0 - 0.0.16 (the first year)
-------------------------------------------
19.11.1995	first piece of code
24.11.1995	30kB source; foundation, TPushButton, TDialogShell and a focus
		that can be moved with the tab key
04.12.1995	transparent reservation of X events by testing if a virtual
		method is still part of the base class (works only with the
		GNU C++ compiler)
10.12.1995	TPushButton now knows four states; implemented the 'modal window
		stack'
15.12.1995	51kB source; began with TLabel, TRowColumn and TMainWindow for
		the later TMenuBar; TDialogShell now moves the focus backward
		and forward; TPushButton wents up when mouse pointer leaves 
		window while buttons is down; serveral other things
20.12.1995	Popup windows now act the way they do in Motif or Windows when
		being closed (mostly)
10.01.1996	Popup windows can be filled with TMenuButtons
11.01.1996 	66kB source; got new idea for the window management (dropped it)
17.01.1996	MenuButton inverts when selected
30.01.1996  began with TForm
02.02.1996  80kB source; TForm is ready to use
03.02.1996  84kB source; introduces RTTI and improved TMenuBar 
06.02.1996	that stupid TMenuBar, started again from the scratch
07.02.1996  100kB source; this seems to be the right way with TMenuBar
12.02.1996	improved TWindow Create & Destroy mechanism
13.02.1996	found and removed bugs in TForm.arrange, TWindow.Remove and
		TWindow.destroy; finished TForm
15.02.1996	began with TVScrollBar
17.02.1996	120kB source; implemented WS_SAVEUNDER and CMODE_DITHER16
18.02.1996  implemented ToadSetIdleWindow and wmIdle for the scrollbars and
		made TArrow the base class of the arrow buttons
27.03.1996	moved the code from the Win32 version back to the UNIX source;
		few problems with the display output; have to straighten up the
		code
22.04.1996	improved TPen for Win32 but didn't test it
30.05.1996	TVScrollBar completed but some small problem still remain, oh,
		and the keyboard handling is still missing; stopped the Win32
		version of TOAD, will complete it after the UNIX version
31.05.1996	164kB source; TTextField, TRadioButton, TCheckBox
01.06.1996	the 1st dither bug was a missing 'break'
02.06.1996	the 2nd dither bug was a 'x>>2' instead of 'x>>1'; TForm tried
		to arrange its dialog children an failed obviously, it now
		ignores windows with the TS_SHELL style; GraphicExpose events
		go to wmPaint
05.06.1996	removed bug in TWindow: before XDestroyWindow in _destroy
		nClassContext wasn't set to NULL, which was followed by a
		SegFault von X11R5/SunOS when closing dialogs
06.06.1996	first listbox alike class
14.06.1996	a more common version of 'command' by using RTTI
27.06.1996	'SendMessage' and modeless dialogs
28.06.1996	TMDIWindow; began resource files for dialogs
02.07.1996	declare all reaction methods as private (stupid idea!)
03.07.1996	invented 'TPopup' for 'TMenuBar' and 'TComboBox'
12.07.1996	renamed 'TDialogShell' into 'TDialog'; invented 'TFocusManager' 
		for 'TDialog' and 'TMDIArea'
13.07.1996	renamed TS_TABSTOP into TS_FOCUS; only windows with TS_FOCUS set
		will get the focus
14.07.1996	193kB source;	moving of TMDIWindow is now done by moving a
		rectangle first
15.07.1996	renamed 'TMDIWindow' into 'TMDIShell', 'TMDIArea' into 'TMDIWindow';
		implemented 'TWindow.SetShape', 'TWindow.GetShape' and scrollbar
		for 'TMDIWindow'.
17.07.1996 212kB source; implemented 'MessageBox'; DrawString coordinates
           are the upper left corner
20.08.1996 removed a bug in 'TFocusManager::walk'
21.08.1996 'TFileList' does a segfault
29.08.1996 moved popup handling from TWindow into TOSBase;	ButtonPress
           events aren't handled correct while grabbing is active
01.09.1996 started TComboBox
02.09.1996 removed bug in TWindow: constructor didn't set 'parent' to 
           NULL (discoverd while using TOAD as a shared library)
11.09.1996 244kB source; began a better implementation of 'paint'; trouble
           when resizing TPaint: TOAD misses to paint some of the menu
           buttons
14.09.1996 implemented "Signal Response Tables", have to modify the rest
           of the library now
22.09.1996 started to tidy up; found & removed a bug in TForm; began
           TFileDialog and saw some new bugs
23.09.1996 i really have to implement smart pointers
24.09.1996 - 255kB source
           - added SECURE_NEW to find memory leaks
           - had to allocate one more char for the filename in TFileDialog
           - segfault in TComboBox because of invalid pointer
27.09.1996 - changed design of TRadioButton & TCheckBox 
28.09.1996 - 261kB source
           - another segfault and it's an invalid pointer again:
	     `TOADBase::wndTopPopup' wasn't checked and cleared during
	     `TWindow::~TWindow'
           - `TWindow::~TWindow' called `destroy()' instead of `Destroy()'
           - `TGraphic' fills correct
           - drawing focus for TPushButton, TCheckBox, TRadioButton and 
             TScrollBar
           - TScrollBar handles keyboard events
           - TPushButton can be deactivated
01.10.1996 looking for a better idea than `Signal Response Table's
04.10.1996 had an idea but it wasn't better
05.10.1996 - renamed `TTextEdit' into `TTextField' and changed the internal
             storage from `char*' to `string'
           - `CONNECT' is running but in case of errors gcc 2.7.2 generates 
             confusing error messages
06.10.1996 - 279kB source
           - more changes to `TListBox' and `TFileDialog'
07.10.1996 - 286kB source
           - TPaint is able to load its pictures
           - found new bugs :)
14.11.1996 - added POSIX Threads in TPaint and modified TOAD
17.11.1996 threads are doing fine, despite the segfaults; TPaint becomes
           usable and i'm not using `XInitThreads' because there are so many
           X11 installations around being unaware of threads
19.11.1996 runs with threads on Solaris
21.11.1996 used a MT safe version of Xlib and most bugs disappeared only
           shortage is it became very slow
25.11.1996 - fixed perforamce problem: removed XSynchronize ;)
           - accessing internal structures of Region from TRegion to get
             a list of all rectangles in Region
03.12.1996 - some coding in TPaint, found a dead lock in
             `TBitmap::DrawBitmap'
08.12.1996 - changed the storage of the window title in TWindow from `char*'
             to `string'
           - loading GIFs
09.12.1996 - memory leak when saving GIFs
11.12.1996 - found an removed the GIF saving bug
12.12.1996 - 363kB source
           - merged 6 methods in TWindow into `childNotify' to reduce
             TWindows vtable
           - wildcards in TFileDialog
           - TPaint: TBitmapEditor uses filename as window title
13.12.1996 - improved CONNECT
           - fixed a bug in my wildcard algorithm
09.01.1997 - TOAD became a library
           - minor changes
14.01.1997 - OpenGL support
18.01.1997 - removed a bug in TForm: was using SetSize instead of SetShape
