mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-05-30 04:00:37 +00:00
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@2347 72102866-910b-0410-8b05-ffd578937521
124 lines
4.8 KiB
Text
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
|
|
|