libs-gui/FAQ
Scott Christley 7cdfec2d9a Release version 0.1.1
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@1845 72102866-910b-0410-8b05-ffd578937521
1996-10-04 00:55:26 +00:00

87 lines
3.7 KiB
Text

Frequently Asked Questions With Answers
***************************************
Maintained by Scott Christley <scottc@net-community.com>.
Last updated August 26 1996. 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
X Windows and the DisplayGhostScript Server. Other back-ends
could allow GNUstep to run on OpenGL, 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, NSControl, NSEvent, NSFont, NSResponder, and NSSlider.
Other classes are complete enough to use, but still require some
major additions before being considered almost complete:
NSApplication, NSBox, NSColor, NSFontManager, NSMenu, NSMenuCell,
NSPopUpButton, NSSliderCell, NSText, NSTextField, NSTextFieldCell,
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 GUI X/DPS 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?
It is not yet publically released. When it is available you will
be able to find it in:
`ftp://alpha.gnu.ai.mit.edu/gnu/gnustep'
Pre-release snapshots are available at:
`ftp://ftp.net-community.com/pub/GNUstep'