NEWS **** The currently released version of the library is `0.7.0'. Noteworthy changes in version `0.7.0' ===================================== * Much improvement in NSBrowser, NSMatrix, NSPopUpButton, combo boxes. * NSTextAttachement implemented, many other text improvements. * Fonts cached in the frontend. * Changes so that backend can be loaded as a bundle at runtime. * simpler, faster compilation and installation. * NSColorWell works. Noteworthy changes in version `0.6.7' ===================================== * App Icons can support documents dropped using DnD. * Added color conversions, working color picker and panel. * Almost complete rewrite of NSBezierPath * Loads of improvements to Text classes. * NSImage, NSButton, NSCell, etc, implemented many missing methods. * ...and even more changes to the Text classes. * Starting implementation of printing. * Scrollview fixes. * Implemented deferred windows. * NSTableView implemented. * Implemented object value and formatter support in NSCell * Support middle mouse button. Noteworthy changes in version `0.6.6' ===================================== * Window hints for motif and generic window managers. * Major improvements to the text handling classes (NSText, NSTextView, etc) * Pasting of fonts and rulers. * Much better RTF handling * DnD for NSColorWell * Much improved NSSplitView * New classes - NSColorPanel, NSTableView * NSScreen rewritten with full support for all methods and functions. * Can use image reading routines from WindowMaker if available to read a variety of image formats besides TIFF. * Many fixes to get the AppKit to work better with WindowMaker. * Much better gmodel support (particularly with nibs translated from NeXT or OPENSTEP 4.2). * Muh improved font classes and font support. In addition both the xgps and xdps backends have seen some large efficiency improvements. Much better font support. The xdps backend itself has seen speed improvements by at least a factor of 4. Note however, that the xdps backend is still considered experimental and you may have to deal with many problems in order to get it working. We recommend sticking with the xgps backend (the default) for now. Noteworthy changes in version `0.6.5' ===================================== Many of the basic GUI classes have been vastly improved or rewritten, thanks to Nicola Pero and many others. * New Info Panel support * New NSBezierPath * Rewrite of several classes including Cell and Button classes. * Rewrite of NSBrowser, NSSavePanel, menus, text classes, NSTableHeader. * RTF Parser * Implemented image caching. * Implemented editing in Forms, Matricies. * New autolayout classes GSHBox, GSTable, and GSVBox. * Almost all back-end classes have been removed and code incorporated in a DPS-like graphics context structure. * Better keyboard handling. * NSHelpManager, NSComboBox, ProgressIndicator written. In addition a preliminary version of an Interface Builder (Gorm) has been written, thanks to Richard Frith-Macdonald Noteworthy changes in version `0.6.0' ===================================== A Huge amount of progress, although a lot still needs to be done. It's usable for a large base of moderately simple apps. Several NeXT/OpenStep apps and libraries have been ported with little changes. * Drag and Drop support fleshed out but not completed. * NSText and related classes rewritten. Basic functionality but much needs to be done to finish them off. * nib2gmodel app works with MacOS-X * Work done in minimizing the backend which allowed a lot of functionality to move to the GNU library. * Menu code rewritten. * PopupButtons now work. * Many new images * Basic functionality for NSTabView * Much better lockFocus support in NSView. Flipped views handled. * Rewrite of NSSavePanel and NSOpenPanel * Several fixes that at least double the speed of the gui. Noteworthy changes in version `0.5.5' ===================================== Too extensive to list. * A lot of rewritting has been done to the classes, with general cleanup of coordinate conversion code, etc. Noteworthy changes in version `0.5.0' ===================================== * NSBrowser and NSBrowserCell have been implemented. There is one odd display artifact; lists which are smaller than the browser column area have the list justified to the bottom of the column versus the top of the column. This is actually an issue with NSMatrix and will be remedied when flip views are implemented. * Two important optimizations that speed up the displaying of views and flushing of windows have been implemented. Only the views that need display and those that produce visible effects on the screen receive the -drawRect: message. Flushing of windows occurs only in rectangles that get displayed not in the whole window. * Rotation and scaling of views have been finally implemented. The code requires backend support for changing the state of the graphics context accordingly. * NSScrollView and NSClipView have been implemented. The current implemented behavior is to call the document view to display the exposed region. Copying on scroll will be supported soon, at least on Solaris DPS, where it seems the Postscript language has provisions for copying drawn regions of screen. Hopefully DGS will also have this facility by the end of the year. * NSScroller has been completely reworked to gain speed by using timer events. * NSSlider has been implemented. Thanks to Frank Knobloch for supporting this and the NSScrollView implementation. * NSBox has been implemented. * The library has been ported to work under Solaris with the native DPS and the NeXT/Apple's Portable Distributed Objects (PDO) environment. * The library has been integrated with the makefile package so we now benefit from all of the features the makefile package gives us, especially the possibility to build shared libraries on various systems and having different types (debug and profile) of the library compiled at the same time. * NSCell is able to continuosly send the action to the target while the user is tracking the mouse. * Several cleanups and as usual, many bug fixes. Noteworthy changes in version `0.3.0' ===================================== * Completely reworked the menu class. The NSMenu class is now inherited from NSObject and using the new implementation menus have been implemented for the XDPS backend (they have the look and feel of the NeXTStep menus!). * NSRunLoop has been integrated with NSApplication. Using this capability time events have been implemented to NSEvent class. These events allow several improvements in the interaction between user and the graphic interface. * NSMatrix has been reworked, it is now conforming to the OpenStep specification and it knows all the selection modes. It uses time events to enhance the drawing speed during mouse drags. * The initial implementation of NSForm has been made although it has not been tested yet. * NSPrinter has been implemented though it was not throughly tested; thanks to Simon Frankau. * Configure script has been changed to detect the underlaying Foundation library. The currently supported libraries are gnustep-base and libFoundation. * Several cleanups have been made in a lot of classes: the retain/release policy has been fixed, the cell classes correctly implement the NSCopying protocol and many others. Noteworthy changes in version `0.2.0' ===================================== * Additional NSImage and NSImageRep class work. Incorporated common images for use with controls that were designed by Andrew Lindesay. * Fill out implementation of NSColorWell class. * Fill out implementation of NSColorList class. * Cleaned up the header files and added missing headers, methods, categories, and protocols; thanks to Simon Frankau for much of this work. Major reorganization of header files. Types and constants were moved in the files they belong. Each header file includes only the headers it really needs. Use `@class' to forward class definitions instead of including the corresponding class file. * Completely reworked the NSFont and NSFontManager classes so that NSUserDefaults is used for getting defaults and list of known fonts are maintained. * Initial implementation of NSCursor class. * Almost complete implementation of NSButton and NSButtonCell class. Buttons can now display images and/or text, handles all of the OpenStep button types and styles. * Fill out implementation of NSScroller class. * Put in underlying support for optimizing drawing; flushing of windows, backing store, and only display when needed. * Many bug fixes and minor enhancements. Noteworthy changes in version `0.1.1' ===================================== * Almost complete implementation of the PXKMenu and PXKMenuCell classes. * Fill out implementation of NSFont and NSFontManager. * Fill out implementation of NSColor including color spaces other than RGB. Now maintains the common colors as global variables. * Integration with the Display Ghostscript System. This is mainly related to using the header files in the DPSclient library for defining the PostScript operator functions. * Initial documentation set. * Initial implementation of NSImage, NSImageRep, and NSImageRep subclass classes based upon work by Adam Fedor. * Now requires the TIFF library for reading, writing, and manipulating tiff files and images. Noteworthy changes in version `0.1.0' ===================================== * Integration of the GNUstep X/DPS GUI Backend. This has finally produced a set of core code with can display on X/Windows. Much of the X/Windows code has been written by Pascal Forget and integration efforts have been lead by Scott Christley . * Some major directory reorganization for the new naming guidelines. Headers previously in AppKit and DPSClient directories have been moved to gnustep/gui and gnustep/dps directores and symbol links are created for the AppKit and DPSClient directories. This should allow both GNUstep and other OpenStep implementations to reside on the same machine without conflicts. Also see the `ChangeLog' file for more detail.