Frequently Asked Questions With Answers
***************************************

Maintained by Scott Christley <scottc@net-community.com>.

   Last updated March 28 1997.  The most up-to-date version of this FAQ
is available at:

     `ftp://www.gnustep.org/Documentation/gnustep-gui/gnustep-gui_toc.html'

   Please send corrections to <scottc@net-community.com>.

  1. What is the GNUstep GUI Library?

     The GNUstep GUI Library is a library of objects useful for writing
     graphical applications.  For example, it includes classes for
     drawing and manipulating graphics objects on the screen: windows,
     menus, buttons, sliders, text fields, and events.  There are also
     many peripheral classes that offer operating-system-independent
     interfaces to images, cursors, colors, fonts, pasteboards,
     printing.  There are also workspace support classes such as data
     links, open/save panels, context-dependent help, spell checking.

     It provides functionality that aims to implement the `AppKit'
     portion of the OpenStep standard.  However the implementation has
     been written to take advantage of GNUstep enhancements wherever
     possible.

  2. Explain the organization of the front and back-ends.

     The GNUstep GUI Library is divided into a front and back-end.  The
     front-end contains the majority of implementation, but leaves out
     the low-level drawing and event code.  A back-end can override
     whatever methods necessary in order to implement low-level drawing
     event receiving.  Different back-ends will make GNUstep available
     on various platforms.  The default GNU back-end will run on top of
     the X Window System and the Display Ghostscript Server.  Other
     back-ends could allow GNUstep to run on Mac, OS/2, and WIN32
     graphics/event platforms.  Much work will be saved by this clean
     separation between front and back-end, because it allows different
     platforms to share the large amount of front-end code.

     The front-end does not specify what mechanism to use in order to
     "plug in" the back-end; that is the back-end implementor's choice.
     At least two backends will use `+poseAs:' method, for example,
     running `[XDPSWindow poseAs: [NSWindow class]]'.  Using `+poseAs:'
     is more flexible than using Categories because it allows the the
     back-end implementor to choose what to override in the front-end,
     instead of having the interface between front and back-end fixed
     by the front-end.

  3. What is the current state of development of the front-end?

     A number of classes in the front-end are complete or almost
     complete; these include: NSActionCell, NSButtonCell, NSButton,
     NSCell, NSColor, NSColorWell, NSControl, NSCursor, NSEvent,
     NSFont, NSImage, NSImageRep, NSBitmapImageRep, NSResponder,
     NSSlider, NSScroller, NSTextField, and NSTextFieldCell.

     Other classes are complete enough to use, but still require some
     major additions before being considered almost complete:
     NSApplication, NSBox, NSFontManager, NSMatrix, NSMenu, NSMenuCell,
     NSPopUpButton, NSSliderCell, NSText, NSView, and NSWindow.

     You can review the most up-to-date status report at:

          `http://www.gnustep.org/Documentation/gnustep-gui/gnustep-gui_toc.html'.

  4. What back-ends are available?

     The official back-end is the GNUstep X/DPS GUI Backend which runs
     under the X Window System and interfaces to the Display Ghostscript
     System.  You can learn more at:

          `http://www.gnustep.org/Documentation/gnustep-xdps/gnustep-xdps_toc.html'

  5. Where can I get a copy?

     The gstep-gui-0.5.0.tar.gz distribution file has been placed on
     `ftp.gnustep.org' in `pub/gnustep/core'.

     The program requires gcc 2.8.0 or higher.

     It requires the Display Ghostscript System version 0.5.0 and the
     TIFF Graphics library version 3.4.

     It also requires a FoundationKit library as specified by the
     OpenStep specification.  The FoundationKit libraries known to work
     are the GNUstep Base Library version `0.5.0' and libFoundation
     version `0.7.1'.

     The `.tar' file is compressed with GNU gzip.  Gzip can be obtained
     by anonymous ftp at any of the GNU archive sites.

     For info about FTP via email, send email to
     <ftpmail@decwrl.dec.com> with no subject line, and two-line body
     with line one `help' and line two `quit'.

     The most recent (not necessarily tested) snapshots of the library
     will be placed in
     `ftp://alpha.gnu.org/gnu/gnustep'.


