libs-gui/Documentation/faq.tmpl.texi
Scott Christley e0396854b6 Release 0.3.0.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2347 72102866-910b-0410-8b05-ffd578937521
1997-07-07 16:56:52 +00:00

124 lines
4.8 KiB
Text

@c -*-texinfo-*-
@chapter Frequently Asked Questions With Answers
@ifset TEXT-ONLY
@include version.texi
@end ifset
Maintained by Scott Christley @email{scottc@@net-community.com}.
Last updated March 28 1997. The most up-to-date version of this FAQ
is available at:
@example
@url{ftp://www.gnustep.org/Documentation/gnustep-gui/gnustep-gui_toc.html}
@end example
Please send corrections to @email{scottc@@net-community.com}.
@enumerate
@item @b{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 @samp{AppKit}
portion of the OpenStep standard. However the implementation has
been written to take advantage of GNUstep enhancements wherever possible.
@item @b{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 @samp{+poseAs:} method, for example, running
@samp{[XDPSWindow poseAs: [NSWindow class]]}. Using @samp{+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.
@item @b{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:
@example
@url{http://www.gnustep.org/Documentation/gnustep-gui/gnustep-gui_toc.html}.
@end example
@item @b{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:
@example
@url{http://www.gnustep.org/Documentation/gnustep-xdps/gnustep-xdps_toc.html}
@end example
@item @b{Where can I get a copy?}
@ifset GNUSTEP-GUI-FTP-MACHINE
The gstep-gui-@value{GNUSTEP-GUI-VERSION}.tar.gz distribution
file has been placed on @samp{@value{GNUSTEP-GUI-FTP-MACHINE}} in
@samp{@value{GNUSTEP-GUI-FTP-DIRECTORY}}.
@end ifset
@ifclear GNUSTEP-GUI-FTP-MACHINE
The gstep-gui-@value{GNUSTEP-GUI-VERSION}.tar.gz distribution
file has not been made available by anonymous ftp.
@end ifclear
The program requires gcc @value{GNUSTEP-GUI-GCC} or higher.
It requires the Display Ghostscript System version
@value{GNUSTEP-GUI-DGS} and the TIFF Graphics library version
@value{GNUSTEP-GUI-LIBTIFF}.
It also requires a FoundationKit library as specified by the OpenStep
specification. The FoundationKit libraries known to work are the GNUstep
Base Library version @samp{@value{GNUSTEP-GUI-BASE}} and libFoundation version
@samp{@value{LIB-FOUNDATION}}.
The @samp{.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
@email{ftpmail@@decwrl.dec.com} with no subject line, and two-line body
with line one @samp{help} and line two @samp{quit}.
The most recent (not necessarily tested) snapshots of the library will
be placed in
@url{ftp://@value{GNUSTEP-GUI-SNAP-FTP-MACHINE}/@value{GNUSTEP-GUI-SNAP-FTP-DIRECTORY}}.
@end enumerate