Frequently Asked Questions With Answers *************************************** Maintained by Scott Christley . 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 . 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://prep.ai.mit.edu/pub/gnu' Pre-release snapshots are available at: `ftp://ftp.net-community.com/pub/GNUstep'