Update the documentation.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2509 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
ovidiu 1997-10-16 00:12:18 +00:00
parent 3d00ac5471
commit ebc08715e3
13 changed files with 199 additions and 96 deletions

View file

@ -1,7 +1,7 @@
ANNOUNCE 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? What is the GNUstep GUI Library?
================================ ================================
@ -31,38 +31,47 @@ component like the GNUstep X/DPS GUI Backend.
What's new in this release? 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 * Two important optimizations that speed up the displaying of views
inherited from NSObject and using the new implementation menus and flushing of windows have been implemented. Only the views that
have been implemented for the XDPS backend (they have the look and need display and those that produce visible effects on the screen
feel of the NeXTStep menus!). 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 * Rotation and scalation of view have been finally implemented. The
capability time events have been implemented to NSEvent class. code requires backend support for changing the state of the
These events allow several improvements in the interaction between graphics context accordingly.
user and the graphic interface.
* NSMatrix has been reworked, it is now conforming to the OpenStep * NSScrollView and NSClipView have been implemented. The current
specification and it knows all the selection modes. It uses time implemented behavior is to call the document view to display the
events to enhance the drawing speed during mouse drags. 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 * NSScroller has been completely reworked to gain speed by using
not been tested yet. timer events.
* NSPrinter has been implemented though it was not throughly tested; * NSSlider has been implemented. Thanks to Frank Knobloch for
thanks to Simon Frankau. supporting this and the NSScrollView implementation.
* Configure script has been changed to detect the underlaying * The library has been ported to work under Solaris with the native
Foundation library. The currently supported libraries are DPS with the NeXT's Portable Distributed Objects (PDO) environment.
gnustep-base and libFoundation.
* Several cleanups have been made in a lot of classes: the * NSCell is able to continuosly send the action to the target while
retain/release policy has been fixed, the cell classes correctly the user is tracking the mouse.
implement the NSCopying protocol and many others.
* 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? 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? 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'. `ftp.gnustep.org' in `pub/gnustep'.
The program requires gcc 2.7.0 or higher. The program requires gcc 2.7.0 or higher.

View file

@ -3,6 +3,9 @@ Mon Oct 13 16:17:45 1997 Ovidiu Predescu <ovidiu@net-community.com>
* Source/NSMatrix.m: Removed commented out portions of code. * Source/NSMatrix.m: Removed commented out portions of code.
* Headers/gnustep/gui/NSApplication.h: Added a definition for * Headers/gnustep/gui/NSApplication.h: Added a definition for
initialize_gnustep_backend. 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 <ovidiu@net-community.com> Mon Oct 13 12:08:51 1997 Ovidiu Predescu <ovidiu@net-community.com>

View file

@ -1,5 +1,3 @@
# Generated automatically from Makefile.in by configure.
#
# Documentation makefile for GNUstep GUI Library # Documentation makefile for GNUstep GUI Library
# Copyright (C) 1996 Free Software Foundation, Inc. # Copyright (C) 1996 Free Software Foundation, Inc.
# #
@ -257,6 +255,3 @@ distclean: clean
rm -f Makefile rm -f Makefile
maintainer-clean: distclean maintainer-clean: distclean
Makefile: Makefile.in
cd ..; $(SHELL) config.status

View file

@ -9,6 +9,58 @@
The currently released version of the library is @samp{@value{GNUSTEP-GUI-VERSION}}. 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} @section Noteworthy changes in version @samp{0.3.0}
@itemize @bullet @itemize @bullet
@ -47,10 +99,6 @@ and many others.
@end itemize @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} @section Noteworthy changes in version @samp{0.2.0}
@itemize @bullet @itemize @bullet

View file

@ -39,10 +39,9 @@ Currently none of the classes raise exceptions.
@table @strong @table @strong
@item NSActionCell:: [9] @item NSActionCell:: [10]
Should not require any implementation in the Should not require any implementation in the
backend as it is an abstract class which only defines behaviour. All backend as it is an abstract class which only defines behaviour.
methods are implemented; the only thing lacking is a test, if needed.
@item NSApplication:: [6] @item NSApplication:: [6]
The event handling has been integrated with the NSRunLoop class. The event handling has been integrated with the NSRunLoop class.
@ -67,13 +66,13 @@ backend.
@item NSBrowserCell:: [2] @item NSBrowserCell:: [2]
@item NSButton:: [9] @item NSButton:: [9]
Repeat intervals and key equivalents not Repeat intervals have been implemented.
implemented. There should be little need for backend implementation 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. as NSButton is mainly behavior; its cell class does all drawing.
@item NSButtonCell:: [9] @item NSButtonCell:: [10]
This class is basically complete; repeat intervals and key equivalents need This class is fully implemented.
to be implemented to finalize the class.
@item NSCachedImageRep:: [4] @item NSCachedImageRep:: [4]
All methods are implemented but its unknown if the class works. All methods are implemented but its unknown if the class works.
@ -141,10 +140,10 @@ May be usable with backend implementation.
@item NSForm:: [8] @item NSForm:: [8]
The code has been written, it greatly depends on NSMatrix, but no tests have The code has been written, it greatly depends on NSMatrix, but no tests have
been made. been done.
@item NSFormCell:: [8] @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] @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 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. take a look to the XDPS backend to see how this works.
@item NSOpenPanel:: [6] @item NSOpenPanel:: [3]
Usability greatly depends upon backend implementation. Usability greatly depends upon backend implementation.
@item NSPageLayout:: [2] @item NSPageLayout:: [2]
@ -186,9 +185,11 @@ Usability greatly depends upon backend implementation.
@item NSPrinter:: [9] @item NSPrinter:: [9]
The code was written but not tested very much. We also need to add printer 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 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] @item NSPrintOperation:: [2]
@ -197,15 +198,14 @@ directory.
@item NSResponder:: [9] @item NSResponder:: [9]
Shouldn't require any backend implementation; all methods are implemented. Shouldn't require any backend implementation; all methods are implemented.
@item NSSavePanel:: [6] @item NSSavePanel:: [3]
Usability greatly depends upon backend implementation. Usability greatly depends upon backend implementation.
@item NSScreen:: [6] @item NSScreen:: [6]
Knows nothing about window depth, greatly depends upon backend implementation. Knows nothing about window depth, greatly depends upon backend implementation.
@item NSScroller:: [9] @item NSScroller:: [10]
Filled out implementation so that it should be almost complete; requires Completely implemented.
backend implementation of a few methods.
@item NSScrollView:: [8] @item NSScrollView:: [8]
The code has been implemented though it does not deal yet with copy on scroll. 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 NSSplitView:: [2]
@item NSText:: [2] @item NSText:: [2]
Usability greatly depends upon backend implementation.
@item NSTextField:: [8] @item NSTextField:: [8]
Does not properly send text delegate messages. Does not handle selection yet 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 messages to subviews. Rotation, scaling and translation of user
coordinate space have been implemented. Event handling coordinate space have been implemented. Event handling
and tracking rectangles implemented. Cursor management implemented. No and tracking rectangles implemented. Cursor management implemented. No
autoscrolling capability. No printing, paging, or postscript. autoscrolling capability. No printing or paging.
@item NSWindow:: [4] @item NSWindow:: [4]
Most methods not implemented, but maybe usable with backend implementation. Most methods not implemented, but maybe usable with backend implementation.

2
FAQ
View file

@ -76,7 +76,7 @@ is available at:
5. Where can I get a copy? 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'. `ftp.gnustep.org' in `pub/gnustep'.
The program requires gcc 2.7.0 or higher. The program requires gcc 2.7.0 or higher.

View file

@ -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 may copy, distribute, and modify it freely as long as you preserve this
copyright notice and permission notice. 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' Installing `gnustep-gui'
======================== ========================

43
NEWS
View file

@ -1,7 +1,48 @@
NEWS 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' Noteworthy changes in version `0.3.0'
===================================== =====================================

2
README
View file

@ -1,7 +1,7 @@
README 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: Here is some introductory info to get you started:

77
STATUS
View file

@ -36,10 +36,9 @@ Classes
Currently none of the classes raise exceptions. Currently none of the classes raise exceptions.
*NSActionCell:: [9]* *NSActionCell:: [10]*
Should not require any implementation in the backend as it is an Should not require any implementation in the backend as it is an
abstract class which only defines behaviour. All methods are abstract class which only defines behaviour.
implemented; the only thing lacking is a test, if needed.
*NSApplication:: [6]* *NSApplication:: [6]*
The event handling has been integrated with the NSRunLoop class. The event handling has been integrated with the NSRunLoop class.
@ -60,13 +59,13 @@ Classes
*NSBrowser:: [2]* *NSBrowser:: [2]*
*NSBrowserCell:: [2]* *NSBrowserCell:: [2]*
*NSButton:: [9]* *NSButton:: [9]*
Repeat intervals and key equivalents not implemented. There Repeat intervals have been implemented. Key equivalents still
should be little need for backend implementation as NSButton is need to be implemented. There should be little need for backend
mainly behavior; its cell class does all drawing. implementation as NSButton is mainly behavior; its cell class does
all drawing.
*NSButtonCell:: [9]* *NSButtonCell:: [10]*
This class is basically complete; repeat intervals and key This class is fully implemented.
equivalents need to be implemented to finalize the class.
*NSCachedImageRep:: [4]* *NSCachedImageRep:: [4]*
All methods are implemented but its unknown if the class works. 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 input, represented object, and some other odd and end methods not
implemented. implemented.
*NSClipView:: [2]* *NSClipView:: [9]*
The class has been implemented but does not work yet with copy on
scroll.
*NSColor:: [8]* *NSColor:: [8]*
Now implements all colorspaces; however, does not know the Now implements all colorspaces; however, does not know the
difference between calibrated and device. difference between calibrated and device.
@ -110,7 +112,7 @@ Classes
*NSEPSImageRep:: [2]* *NSEPSImageRep:: [2]*
*NSEvent:: [9]* *NSEvent:: [9]*
All methods implemented except periodic events. All methods implemented including periodic events.
*NSFont:: [9]* *NSFont:: [9]*
Now maintains AFM and glyph information but requires the backend Now maintains AFM and glyph information but requires the backend
@ -123,11 +125,13 @@ Classes
*NSFontPanel:: [2]* *NSFontPanel:: [2]*
May be usable with backend implementation. May be usable with backend implementation.
*NSForm:: [9]* *NSForm:: [8]*
The code has been written, it greatly depends on NSMatrix, but no 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]* *NSHelpPanel:: [2]*
*NSImage:: [8]* *NSImage:: [8]*
Additional implementation to the point where TIFF images can be 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 backend. Also take a look to the XDPS backend to see how this
works. works.
*NSOpenPanel:: [6]* *NSOpenPanel:: [3]*
Usability greatly depends upon backend implementation. Usability greatly depends upon backend implementation.
*NSPageLayout:: [2]* *NSPageLayout:: [2]*
@ -166,54 +170,59 @@ Classes
*NSPrinter:: [9]* *NSPrinter:: [9]*
The code was written but not tested very much. We also need to add The code was written but not tested very much. We also need to add
printer description files to the PrinterTypes directory inside the 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]* *NSPrintOperation:: [2]*
*NSPrintPanel:: [2]* *NSPrintPanel:: [2]*
*NSResponder:: [9]* *NSResponder:: [9]*
Shouldn't require any backend implementation; all methods are Shouldn't require any backend implementation; all methods are
implemented. implemented.
*NSSavePanel:: [6]* *NSSavePanel:: [3]*
Usability greatly depends upon backend implementation. Usability greatly depends upon backend implementation.
*NSScreen:: [6]* *NSScreen:: [6]*
Knows nothing about window depth, greatly depends upon backend Knows nothing about window depth, greatly depends upon backend
implementation. implementation.
*NSScroller:: [9]* *NSScroller:: [10]*
Filled out implementation so that it should be almost complete; Completely implemented.
requires backend implementation of a few methods.
*NSScrollView:: [8]*
The code has been implemented though it does not deal yet with
copy on scroll.
*NSScrollView:: [2]*
*NSSelection:: [2]* *NSSelection:: [2]*
*NSSlider:: [4]* *NSSlider:: [10]*
Usability greatly depends upon backend implementation. Implemented. Does not require backend support.
*NSSliderCell:: [6]* *NSSliderCell:: [10]*
No title or image capability implemented, greatly depends upon Implemented. Requires only a method to be implemented in the
backend. backend.
*NSSpellChecker:: [2]* *NSSpellChecker:: [2]*
*NSSpellServer:: [2]* *NSSpellServer:: [2]*
*NSSplitView:: [2]* *NSSplitView:: [2]*
*NSText:: [2]* *NSText:: [2]*
Usability greatly depends upon backend implementation.
*NSTextField:: [8]* *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]* *NSTextFieldCell:: [4]*
Usability greatly depends upon backend implementation. Usability greatly depends upon backend implementation.
*NSView:: [6]* *NSView:: [6]*
Maintains subview lists, notification of new window, send resizing Maintains subview lists, notification of new window, send resizing
messages to subviews. Rotation, scaling, or translation of user messages to subviews. Rotation, scaling and translation of user
coordinate space depends upon backend implementation. Event coordinate space have been implemented. Event handling and
handling and tracking rectangles implemented. Cursor management tracking rectangles implemented. Cursor management implemented.
implemented. No scrolling capability. No printing, paging, or No autoscrolling capability. No printing or paging.
postscript.
*NSWindow:: [4]* *NSWindow:: [4]*
Most methods not implemented, but maybe usable with backend Most methods not implemented, but maybe usable with backend

View file

@ -1 +1 @@
Makefile *obj

View file

@ -1018,11 +1018,11 @@ static int mouseDownFlags = 0;
/* Draw the cells within the drawing rectangle. */ /* Draw the cells within the drawing rectangle. */
intRect = upperLeftRect = [self cellFrameAtRow:row1 column:col1]; 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]; row = [cells objectAtIndex:i];
intRect.origin.x = upperLeftRect.origin.x; 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]; NSCell *aCell = [row objectAtIndex:j];
[aCell drawWithFrame:intRect inView:self]; [aCell drawWithFrame:intRect inView:self];
intRect.origin.x += cellSize.width + intercell.width; intRect.origin.x += cellSize.width + intercell.width;
@ -1198,7 +1198,6 @@ static int mouseDownFlags = 0;
/* At the first click, deselect the selected cell */ /* At the first click, deselect the selected cell */
if (!previousCell) { if (!previousCell) {
NSRect f = [self cellFrameAtRow:selectedRow column:selectedColumn]; NSRect f = [self cellFrameAtRow:selectedRow column:selectedColumn];
id aCell = selectedCell;
[self deselectSelectedCell]; [self deselectSelectedCell];
[self setNeedsDisplayInRect:f]; [self setNeedsDisplayInRect:f];

View file

@ -12,7 +12,7 @@ GNUSTEP_GUI_DPSCLIENT = 6.1
# The version number of this release. # The version number of this release.
GNUSTEP_GUI_MAJOR_VERSION = 0 GNUSTEP_GUI_MAJOR_VERSION = 0
GNUSTEP_GUI_MINOR_VERSION = 3 GNUSTEP_GUI_MINOR_VERSION = 4
GNUSTEP_GUI_SUBMINOR_VERSION = 0 GNUSTEP_GUI_SUBMINOR_VERSION = 0
GNUSTEP_GUI_VERSION = \ GNUSTEP_GUI_VERSION = \
$(GNUSTEP_GUI_MAJOR_VERSION).$(GNUSTEP_GUI_MINOR_VERSION).$(GNUSTEP_GUI_SUBMINOR_VERSION) $(GNUSTEP_GUI_MAJOR_VERSION).$(GNUSTEP_GUI_MINOR_VERSION).$(GNUSTEP_GUI_SUBMINOR_VERSION)