


                    WHAT'S NEW IN THIS VERSION OF YACL?



What's new in version 1.6:

  *  New classes:
       - A RegExpr class representing regular expressions: see the file
         base/regexpr.h

       - A PathName class representing a path on the file system: see the
         file io/pathname.h
         
       - A Directory class representing a directory on the file system: see
         the file io/directry.h. This class is only supported on
         Posix-compatible compilers; in particular, Microsoft VC++ does not
         provide the necessary Posix calls.

       - A ShadowedTriangle class for drawing triangles with shadows

  *  New base demo programs:
       - a directory reader: look in the directory basedemo/directry

       - a regular expression tester: look in basedemo/regexpr
                
  *  New GUI demo programs:
       - a simple text editor: look in the directory uidemo/txteditr
       
       - a demo showing color setting for visual objects: look in the
         directory uidemo/visobjs

  *  (Very) partial support for building shared libraries/DLLs. See the file
     doc/quirks.txt for details.

  *  New contributions:

       - Several useful GUI classes by Jorg-Peter Reich (in the
         directory contrib/reich)


  *  Numerous bug fixes. The changes are documented in the file
     doc/changlog.txt.


     
     
List of incompatibilities with the previous version:

  -  UI_SimpleDialog no longer exists. Use UI_StandardDialog instead.

  -  The parent of a UI_VisualObject is not constrained to be  a
     UI_VObjCollection; it can be any UI_VisualObject. This was added to make
     it easier to build custom visual objects. But this also means that some
     previous code may break, and casting may be necessary.

  -  The Controller's GiveFocusTo method now takes a pointer as parameter,
     not a reference.
     
  -  In the class CL_Basics, the static _Null data member, and the
     static NullValueRef method, have been removed. This was done to ensure
     correct performance in multi-threaded applications. However, this may
     break some existing code that references these two members. Simply
     comment out these members in your code.



             
----------------------------------------------------------------------------

What's new in version 1.5:

    *  An interactive dialog editor written using the YACL classes,
       so as to be entirely portable

    *  A bitmap viewer, contributed by Tony T. Ton (t.t.ton@massey.ac.nz)

    *  A few contributions by other YACL users:

           - Classes for supporting accelerator keys, by Ludovic Brenta, in
             the directory contrib/accel.

           - Makefile changes for building YACL as shared libraries under
             Solaris with GNU C++, by  Jeff Long (long@tiny.mitre.org). These
             changes have been integrated into the YACL library makefiles;
             look in the file control/gnuc/solaris.cfg and in
             base/gnuc.mak, io/gnuc.mak and ui/gnuc.mak for details on
             how to do this.
             
             
    *  A few new classes:
    
           - A 3DLabel class, which is a Label that draws itself with a 3-d
             effect. This looks good for status bars and the like. See
             the demo programs uidemo/3dlabels and uidemo/scrolwin for
             illustrations of its use.

           - A ScrollableWindow class representing a window that has scroll
             bars attached at its right and bottom. See the deom
             program uidemo/scrolwin for an example.

           - The DwgSurfaceInMemory now is tested to work correctly on all
             platforms. The 3DLabel uses this class to speed up drawing.

           - MDI classes for supporting the Multiple Document Interface
             (under Windows, Win32 and OS/2 only).

             
    *  Support for more compilers:

           - GNU C++ 2.7.2 and EMX 0.9b (under OS/2) are now supported.

           - Native C++ compilers on SGI IRIX (Delta C++) Solaris 2.4
             (Centerline C++) are supported; makefiles are included in
             the distribution.

    *  Numerous bug fixes and enhancements to make YACL more
       stable. For example:

           - Support for checkable menu items
           - A static SetDefaultTextStyle method for UI_Label, to set
             the default style for all Labels
           - Support for default push buttons for dialogs
           - Cross-hair and up-arrow cursors under OS/2
           - Separate interface and implementation for CL_Basics, to
             make it easier to instantiate pointer-based containers


---------------------------------------------------------------------------
    
What's new in version 1.4:

    *  WIN32 support has been added so YACL can be used under Windows NT
       and Windows 95
       
    *  Microsoft Visual C++ 2.1 (under Windows NT/ Windows 95) and IBM
       Visual Age C++ (under OS/2)  are now supported

    *  Better support for bitmaps

    *  Support for bitmap buttons (both push buttons and toggle buttons)

    *  Several new GUI classes: NumberEditor, DateEditor, PasswordEditor,
       BitmapButton, ShadowRectangle, ShadowedLine

    *  New demo programs for bitmap buttons, editors, border displays

    *  Combo boxes supported under Motif (This uses the ComboBox widget
       written by Harald Albrecht, and its use is subject to the GNU GPL)
        
    *  Several bugs fixed under all platforms

