From ebc08715e3c1f5724183b471a09d3b3b81b37277 Mon Sep 17 00:00:00 2001 From: ovidiu Date: Thu, 16 Oct 1997 00:12:18 +0000 Subject: [PATCH] Update the documentation. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2509 72102866-910b-0410-8b05-ffd578937521 --- ANNOUNCE | 59 +++++++++++++++----------- ChangeLog | 3 ++ Documentation/Makefile | 5 --- Documentation/news.tmpl.texi | 56 +++++++++++++++++++++++-- Documentation/status.tmpl.texi | 37 ++++++++-------- FAQ | 2 +- INSTALL | 2 +- NEWS | 43 ++++++++++++++++++- README | 2 +- STATUS | 77 +++++++++++++++++++--------------- Source/.cvsignore | 2 +- Source/NSMatrix.m | 5 +-- Version | 2 +- 13 files changed, 199 insertions(+), 96 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index 79eb405e6..a1a3e8c0d 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,7 +1,7 @@ ANNOUNCE ******** -This is version 0.3.0 of the GNUstep GUI library (`gnustep-gui'). +This is version 0.4.0 of the GNUstep GUI library (`gnustep-gui'). What is the GNUstep GUI Library? ================================ @@ -31,38 +31,47 @@ component like the GNUstep X/DPS GUI Backend. What's new in this release? =========================== - The currently released version of the library is `0.3.0'. + The currently released version of the library is `0.4.0'. -Noteworthy changes in version `0.3.0' +Noteworthy changes in version `0.4.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!). + * 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. - * 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. + * Rotation and scalation of view have been finally implemented. The + code requires backend support for changing the state of the + graphics context accordingly. - * 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. + * 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 such facilities by the end of the year. - * The initial implementation of NSForm has been made although it has - not been tested yet. + * NSScroller has been completely reworked to gain speed by using + timer events. - * NSPrinter has been implemented though it was not throughly tested; - thanks to Simon Frankau. + * NSSlider has been implemented. Thanks to Frank Knobloch for + supporting this and the NSScrollView implementation. - * Configure script has been changed to detect the underlaying - Foundation library. The currently supported libraries are - gnustep-base and libFoundation. + * The library has been ported to work under Solaris with the native + DPS with the NeXT's Portable Distributed Objects (PDO) environment. - * 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. + * NSCell is able to continuosly send the action to the target while + the user is tracking the mouse. + + * 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. + + * Several cleanups and as usual, many bug fixes. How can I get support for this software? ======================================== @@ -79,7 +88,7 @@ GNUstep GUI Library, see the file `SUPPORT' for more information. Where can you get it? How can you compile it? ============================================== - The gstep-gui-0.3.0.tar.gz distribution file has been placed on + The gstep-gui-0.4.0.tar.gz distribution file has been placed on `ftp.gnustep.org' in `pub/gnustep'. The program requires gcc 2.7.0 or higher. diff --git a/ChangeLog b/ChangeLog index 5c714bdfc..674244f1b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,9 @@ Mon Oct 13 16:17:45 1997 Ovidiu Predescu * Source/NSMatrix.m: Removed commented out portions of code. * Headers/gnustep/gui/NSApplication.h: Added a definition for initialize_gnustep_backend. + * Documentation/Makefile: Remove dependency on Makefile.in. + * Documentation/news.tmpl.texi: Updated. + * Documentation/status.tmpl.texi: Updated. Mon Oct 13 12:08:51 1997 Ovidiu Predescu diff --git a/Documentation/Makefile b/Documentation/Makefile index 687fa1a33..035fdcde5 100644 --- a/Documentation/Makefile +++ b/Documentation/Makefile @@ -1,5 +1,3 @@ -# Generated automatically from Makefile.in by configure. -# # Documentation makefile for GNUstep GUI Library # Copyright (C) 1996 Free Software Foundation, Inc. # @@ -257,6 +255,3 @@ distclean: clean rm -f Makefile maintainer-clean: distclean - -Makefile: Makefile.in - cd ..; $(SHELL) config.status diff --git a/Documentation/news.tmpl.texi b/Documentation/news.tmpl.texi index 9b93e88a6..a9d35424f 100644 --- a/Documentation/news.tmpl.texi +++ b/Documentation/news.tmpl.texi @@ -9,6 +9,58 @@ The currently released version of the library is @samp{@value{GNUSTEP-GUI-VERSION}}. +@section Noteworthy changes in version @samp{0.4.0} + +@itemize @bullet + +@item +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. + +@item +Rotation and scalation of view have been finally implemented. The code requires +backend support for changing the state of the graphics context accordingly. + +@item +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. + +@item +NSScroller has been completely reworked to gain speed by using timer events. + +@item +NSSlider has been implemented. Thanks to Frank Knobloch for supporting this +and the NSScrollView implementation. + +@item +The library has been ported to work under Solaris with the native DPS and the +NeXT/Apple's Portable Distributed Objects (PDO) environment. + +@item +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. + +@item +NSCell is able to continuosly send the action to the target while the user is +tracking the mouse. + +@item +Several cleanups and as usual, many bug fixes. + +@end itemize + +@c ==================================================================== +@c Keep the next line just below the list of changes in most recent version. +@ifclear ANNOUNCE-ONLY + @section Noteworthy changes in version @samp{0.3.0} @itemize @bullet @@ -47,10 +99,6 @@ and many others. @end itemize -@c ==================================================================== -@c Keep the next line just below the list of changes in most recent version. -@ifclear ANNOUNCE-ONLY - @section Noteworthy changes in version @samp{0.2.0} @itemize @bullet diff --git a/Documentation/status.tmpl.texi b/Documentation/status.tmpl.texi index 10dfeaf7d..28b9602ad 100644 --- a/Documentation/status.tmpl.texi +++ b/Documentation/status.tmpl.texi @@ -39,10 +39,9 @@ Currently none of the classes raise exceptions. @table @strong -@item NSActionCell:: [9] +@item NSActionCell:: [10] Should not require any implementation in the -backend as it is an abstract class which only defines behaviour. All -methods are implemented; the only thing lacking is a test, if needed. +backend as it is an abstract class which only defines behaviour. @item NSApplication:: [6] The event handling has been integrated with the NSRunLoop class. @@ -67,13 +66,13 @@ backend. @item NSBrowserCell:: [2] @item NSButton:: [9] -Repeat intervals and key equivalents not -implemented. There should be little need for backend implementation +Repeat intervals have been implemented. +Key equivalents still need to be implemented. +There should be little need for backend implementation as NSButton is mainly behavior; its cell class does all drawing. -@item NSButtonCell:: [9] -This class is basically complete; repeat intervals and key equivalents need -to be implemented to finalize the class. +@item NSButtonCell:: [10] +This class is fully implemented. @item NSCachedImageRep:: [4] All methods are implemented but its unknown if the class works. @@ -141,10 +140,10 @@ May be usable with backend implementation. @item NSForm:: [8] The code has been written, it greatly depends on NSMatrix, but no tests have -been made. +been done. @item NSFormCell:: [8] -The code has been written but no tests have been made. +The code has been written but no tests have been done. @item NSHelpPanel:: [2] @@ -171,7 +170,7 @@ an example of how this is achieved take a look to the XDPS backend. The logic is here, but needs support for drawing the cell in the backend. Also take a look to the XDPS backend to see how this works. -@item NSOpenPanel:: [6] +@item NSOpenPanel:: [3] Usability greatly depends upon backend implementation. @item NSPageLayout:: [2] @@ -186,9 +185,11 @@ Usability greatly depends upon backend implementation. @item NSPrinter:: [9] The code was written but not tested very much. We also need to add printer description files to the PrinterTypes directory inside the gnustep instalation -directory. +directory. Thanks to Simon Frankau for the implementation. -@item NSPrintinfo:: [2] +@item NSPrintinfo:: [9] +The code has been implemented but not tested. Thanks to Simon Frankau for the +implementation. @item NSPrintOperation:: [2] @@ -197,15 +198,14 @@ directory. @item NSResponder:: [9] Shouldn't require any backend implementation; all methods are implemented. -@item NSSavePanel:: [6] +@item NSSavePanel:: [3] Usability greatly depends upon backend implementation. @item NSScreen:: [6] Knows nothing about window depth, greatly depends upon backend implementation. -@item NSScroller:: [9] -Filled out implementation so that it should be almost complete; requires -backend implementation of a few methods. +@item NSScroller:: [10] +Completely implemented. @item NSScrollView:: [8] The code has been implemented though it does not deal yet with copy on scroll. @@ -225,7 +225,6 @@ Implemented. Requires only a method to be implemented in the backend. @item NSSplitView:: [2] @item NSText:: [2] -Usability greatly depends upon backend implementation. @item NSTextField:: [8] Does not properly send text delegate messages. Does not handle selection yet @@ -239,7 +238,7 @@ Maintains subview lists, notification of new window, send resizing messages to subviews. Rotation, scaling and translation of user coordinate space have been implemented. Event handling and tracking rectangles implemented. Cursor management implemented. No -autoscrolling capability. No printing, paging, or postscript. +autoscrolling capability. No printing or paging. @item NSWindow:: [4] Most methods not implemented, but maybe usable with backend implementation. diff --git a/FAQ b/FAQ index 24d204bcb..3e1a32787 100644 --- a/FAQ +++ b/FAQ @@ -76,7 +76,7 @@ is available at: 5. Where can I get a copy? - The gstep-gui-0.3.0.tar.gz distribution file has been placed on + The gstep-gui-0.4.0.tar.gz distribution file has been placed on `ftp.gnustep.org' in `pub/gnustep'. The program requires gcc 2.7.0 or higher. diff --git a/INSTALL b/INSTALL index cc951d4ff..7288d498b 100644 --- a/INSTALL +++ b/INSTALL @@ -6,7 +6,7 @@ This file documents the installation of the GNUstep GUI Library, may copy, distribute, and modify it freely as long as you preserve this copyright notice and permission notice. - This is version 0.3.0 of the GNUstep GUI library. + This is version 0.4.0 of the GNUstep GUI library. Installing `gnustep-gui' ======================== diff --git a/NEWS b/NEWS index cba27bf09..cec292c6c 100644 --- a/NEWS +++ b/NEWS @@ -1,7 +1,48 @@ NEWS **** -The currently released version of the library is `0.3.0'. +The currently released version of the library is `0.4.0'. + +Noteworthy changes in version `0.4.0' +===================================== + + * 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 scalation of view 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. + + * 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' ===================================== diff --git a/README b/README index ff35766bf..20a2f6f85 100644 --- a/README +++ b/README @@ -1,7 +1,7 @@ README ****** -This is version 0.3.0 of the GNUstep GUI library (`gnustep-gui'). +This is version 0.4.0 of the GNUstep GUI library (`gnustep-gui'). Here is some introductory info to get you started: diff --git a/STATUS b/STATUS index b7b10276e..bd9b12b9c 100644 --- a/STATUS +++ b/STATUS @@ -36,10 +36,9 @@ Classes Currently none of the classes raise exceptions. -*NSActionCell:: [9]* +*NSActionCell:: [10]* Should not require any implementation in the backend as it is an - abstract class which only defines behaviour. All methods are - implemented; the only thing lacking is a test, if needed. + abstract class which only defines behaviour. *NSApplication:: [6]* The event handling has been integrated with the NSRunLoop class. @@ -60,13 +59,13 @@ Classes *NSBrowser:: [2]* *NSBrowserCell:: [2]* *NSButton:: [9]* - Repeat intervals and key equivalents not implemented. There - should be little need for backend implementation as NSButton is - mainly behavior; its cell class does all drawing. + Repeat intervals have been implemented. Key equivalents still + need to be implemented. There should be little need for backend + implementation as NSButton is mainly behavior; its cell class does + all drawing. -*NSButtonCell:: [9]* - This class is basically complete; repeat intervals and key - equivalents need to be implemented to finalize the class. +*NSButtonCell:: [10]* + This class is fully implemented. *NSCachedImageRep:: [4]* All methods are implemented but its unknown if the class works. @@ -76,7 +75,10 @@ Classes input, represented object, and some other odd and end methods not implemented. -*NSClipView:: [2]* +*NSClipView:: [9]* + The class has been implemented but does not work yet with copy on + scroll. + *NSColor:: [8]* Now implements all colorspaces; however, does not know the difference between calibrated and device. @@ -110,7 +112,7 @@ Classes *NSEPSImageRep:: [2]* *NSEvent:: [9]* - All methods implemented except periodic events. + All methods implemented including periodic events. *NSFont:: [9]* Now maintains AFM and glyph information but requires the backend @@ -123,11 +125,13 @@ Classes *NSFontPanel:: [2]* May be usable with backend implementation. -*NSForm:: [9]* +*NSForm:: [8]* The code has been written, it greatly depends on NSMatrix, but no - tests have been made. + tests have been done. + +*NSFormCell:: [8]* + The code has been written but no tests have been done. -*NSFormCell:: [2]* *NSHelpPanel:: [2]* *NSImage:: [8]* Additional implementation to the point where TIFF images can be @@ -154,7 +158,7 @@ Classes backend. Also take a look to the XDPS backend to see how this works. -*NSOpenPanel:: [6]* +*NSOpenPanel:: [3]* Usability greatly depends upon backend implementation. *NSPageLayout:: [2]* @@ -166,54 +170,59 @@ Classes *NSPrinter:: [9]* The code was written but not tested very much. We also need to add printer description files to the PrinterTypes directory inside the - gnustep instalation directory. + gnustep instalation directory. Thanks to Simon Frankau for the + implementation. + +*NSPrintinfo:: [9]* + The code has been implemented but not tested. Thanks to Simon + Frankau for the implementation. -*NSPrintinfo:: [2]* *NSPrintOperation:: [2]* *NSPrintPanel:: [2]* *NSResponder:: [9]* Shouldn't require any backend implementation; all methods are implemented. -*NSSavePanel:: [6]* +*NSSavePanel:: [3]* Usability greatly depends upon backend implementation. *NSScreen:: [6]* Knows nothing about window depth, greatly depends upon backend implementation. -*NSScroller:: [9]* - Filled out implementation so that it should be almost complete; - requires backend implementation of a few methods. +*NSScroller:: [10]* + Completely implemented. + +*NSScrollView:: [8]* + The code has been implemented though it does not deal yet with + copy on scroll. -*NSScrollView:: [2]* *NSSelection:: [2]* -*NSSlider:: [4]* - Usability greatly depends upon backend implementation. +*NSSlider:: [10]* + Implemented. Does not require backend support. -*NSSliderCell:: [6]* - No title or image capability implemented, greatly depends upon +*NSSliderCell:: [10]* + Implemented. Requires only a method to be implemented in the backend. *NSSpellChecker:: [2]* *NSSpellServer:: [2]* *NSSplitView:: [2]* *NSText:: [2]* - Usability greatly depends upon backend implementation. - *NSTextField:: [8]* - Does not properly send text delegate messages. + Does not properly send text delegate messages. Does not handle + selection yet and does not hide the cursor when it resigns as the + first responder. *NSTextFieldCell:: [4]* Usability greatly depends upon backend implementation. *NSView:: [6]* Maintains subview lists, notification of new window, send resizing - messages to subviews. Rotation, scaling, or translation of user - coordinate space depends upon backend implementation. Event - handling and tracking rectangles implemented. Cursor management - implemented. No scrolling capability. No printing, paging, or - postscript. + messages to subviews. Rotation, scaling and translation of user + coordinate space have been implemented. Event handling and + tracking rectangles implemented. Cursor management implemented. + No autoscrolling capability. No printing or paging. *NSWindow:: [4]* Most methods not implemented, but maybe usable with backend diff --git a/Source/.cvsignore b/Source/.cvsignore index f3c7a7c5d..5a30ff0db 100644 --- a/Source/.cvsignore +++ b/Source/.cvsignore @@ -1 +1 @@ -Makefile +*obj diff --git a/Source/NSMatrix.m b/Source/NSMatrix.m index 6606e0a90..f2511d970 100644 --- a/Source/NSMatrix.m +++ b/Source/NSMatrix.m @@ -1018,11 +1018,11 @@ static int mouseDownFlags = 0; /* Draw the cells within the drawing rectangle. */ intRect = upperLeftRect = [self cellFrameAtRow:row1 column:col1]; - for (i = row1; i <= row2; i++) { + for (i = row1; i <= row2 && i < numRows; i++) { row = [cells objectAtIndex:i]; intRect.origin.x = upperLeftRect.origin.x; - for (j = col1; j <= col2; j++) { + for (j = col1; j <= col2 && j < numCols; j++) { NSCell *aCell = [row objectAtIndex:j]; [aCell drawWithFrame:intRect inView:self]; intRect.origin.x += cellSize.width + intercell.width; @@ -1198,7 +1198,6 @@ static int mouseDownFlags = 0; /* At the first click, deselect the selected cell */ if (!previousCell) { NSRect f = [self cellFrameAtRow:selectedRow column:selectedColumn]; - id aCell = selectedCell; [self deselectSelectedCell]; [self setNeedsDisplayInRect:f]; diff --git a/Version b/Version index bdd24549d..2a4a02f65 100644 --- a/Version +++ b/Version @@ -12,7 +12,7 @@ GNUSTEP_GUI_DPSCLIENT = 6.1 # The version number of this release. GNUSTEP_GUI_MAJOR_VERSION = 0 -GNUSTEP_GUI_MINOR_VERSION = 3 +GNUSTEP_GUI_MINOR_VERSION = 4 GNUSTEP_GUI_SUBMINOR_VERSION = 0 GNUSTEP_GUI_VERSION = \ $(GNUSTEP_GUI_MAJOR_VERSION).$(GNUSTEP_GUI_MINOR_VERSION).$(GNUSTEP_GUI_SUBMINOR_VERSION)