mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-05-31 20:00:48 +00:00
Create initial documentation set.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@1697 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
fe11cdb302
commit
35993213ff
20 changed files with 2270 additions and 152 deletions
187
ANNOUNCE
187
ANNOUNCE
|
@ -1,83 +1,150 @@
|
||||||
GNUstep GUI Library ANNOUNCE
|
ANNOUNCE
|
||||||
****************************
|
********
|
||||||
|
|
||||||
This is version 0.1.0 of the GNUstep GUI library (libgnustep-gui).
|
This is version 0.1.0 of the GNUstep GUI library (`libgnustep-gui').
|
||||||
|
|
||||||
What is the GNUstep GUI Library?
|
What is the GNUstep GUI Library?
|
||||||
|
|
||||||
It is a library of graphical user interface classes written completely
|
It is a library of graphical user interface classes written
|
||||||
in the Objective-C language; the classes are based upon the OPENSTEP(tm)
|
completely in the Objective-C language; the classes are based upon the
|
||||||
specification as release by NeXT Software, Inc. The library does not
|
OPENSTEP(tm) specification as release by NeXT Software, Inc. The
|
||||||
completely conform to the specification and has been
|
library does not completely conform to the specification and has been
|
||||||
enhanced in a number of ways to take advantage of the GNU system.
|
enhanced in a number of ways to take advantage of the GNU system.
|
||||||
These classes include graphical objects such as buttons, text fields,
|
These classes include graphical objects such as buttons, text fields,
|
||||||
popup lists, browser lists, and windows; there are also many associated
|
popup lists, browser lists, and windows; there are also many associated
|
||||||
classes for handling events, colors, fonts, pasteboards and images.
|
classes for handling events, colors, fonts, pasteboards and images.
|
||||||
|
|
||||||
The design of libgnustep-gui is designed in two parts. The first part is the
|
The design of libgnustep-gui is designed in two parts. The first
|
||||||
front-end component which is independent of platform and display system.
|
part is the front-end component which is independent of platform and
|
||||||
This front-end is combined with a back-end component which handles all of
|
display system. This front-end is combined with a back-end component
|
||||||
the display system dependent such as specific calls to X/Windows. This
|
which handles all of the display system dependent such as specific
|
||||||
design allows the GNUstep applications to have the "look and feel" of
|
calls to X/Windows. This design allows the GNUstep applications to
|
||||||
the underlying display system without any changes to the application, and
|
have the "look and feel" of the underlying display system without any
|
||||||
the library can be easily ported to other display systems.
|
changes to the application, and the library can be easily ported to
|
||||||
|
other display systems.
|
||||||
The GNUstep GUI Library requires the GNU Objective-C compiler, the GNUstep
|
|
||||||
Base Library, and back-end component like the GNUstep X/DPS GUI Backend.
|
|
||||||
|
|
||||||
|
The GNUstep GUI Library requires the GNU Objective-C compiler, the
|
||||||
|
GNUstep Base Library, and back-end component like the GNUstep X/DPS GUI
|
||||||
|
Backend.
|
||||||
|
|
||||||
Creators rejoice!
|
Creators rejoice!
|
||||||
Scott Christley
|
Scott Christley
|
||||||
scottc@net-community.com
|
<scottc@net-community.com>
|
||||||
|
|
||||||
*****
|
*****
|
||||||
|
|
||||||
Check out the GNUstep web site. (http://www.gnustep.org)
|
Check out the GNUstep web site. (`http://www.gnustep.org')
|
||||||
|
|
||||||
OPENSTEP and NeXT are trademarks of NeXT Software, Inc. (http://www.next.com)
|
OPENSTEP and NeXT are trademarks of NeXT Software, Inc.
|
||||||
|
(`http://www.next.com')
|
||||||
|
|
||||||
The GNUstep GUI Library was donated to the Free Software Foundation
|
The GNUstep GUI Library was donated to the Free Software Foundation
|
||||||
by the On-line Community project, contact info@net-community.com about
|
as part of the On-line Community project of NET-Community.
|
||||||
creating on-line social communities. (http://www.net-community.com)
|
NET-Community is a company that develops and supports free software.
|
||||||
|
Check out their web site to learn more. (`http://www.net-community.com')
|
||||||
|
|
||||||
*****
|
[ Most GNU software is packed using the GNU `gzip' compression
|
||||||
|
program. Source code is available on most sites distributing GNU
|
||||||
|
software.
|
||||||
|
|
||||||
[ Most GNU software is packed using the GNU `gzip' compression program.
|
For information on how to order GNU software on tape, floppy or
|
||||||
Source code is available on most sites distributing GNU software.
|
cd-rom, or printed GNU manuals, check the file etc/ORDERS in the GNU
|
||||||
|
Emacs distribution or in GNUinfo/ORDERS on prep, or e-mail a request
|
||||||
|
to: <gnu@prep.ai.mit.edu>
|
||||||
|
|
||||||
For information on how to order GNU software on tape, floppy or cd-rom, or
|
By ordering your GNU software from the FSF, you help us continue to
|
||||||
printed GNU manuals, check the file etc/ORDERS in the GNU Emacs distribution
|
develop more free software. Media revenues are our primary source of
|
||||||
or in GNUinfo/ORDERS on prep, or e-mail a request to: gnu@@prep.ai.mit.edu
|
support. Donations to FSF are deductible on US tax returns.
|
||||||
|
|
||||||
By ordering your GNU software from the FSF, you help us continue to
|
The above software will soon be at these ftp sites as well.
|
||||||
develop more free software. Media revenues are our primary source of
|
Please try them before `prep.ai.mit.edu' as `prep' is very busy!
|
||||||
support. Donations to FSF are deductible on US tax returns.
|
|
||||||
|
|
||||||
The above software will soon be at these ftp sites as well.
|
thanx <gnu@prep.ai.mit.edu>
|
||||||
Please try them before prep.ai.mit.edu as prep is very busy!
|
|
||||||
|
|
||||||
thanx -gnu@prep.ai.mit.edu
|
*ASIA:*
|
||||||
|
- `ftp://ftp.cs.titech.ac.jp'
|
||||||
|
|
||||||
ASIA: ftp.cs.titech.ac.jp, utsun.s.u-tokyo.ac.jp:/ftpsync/prep,
|
- `ftp://utsun.s.u-tokyo.ac.jp/ftpsync/prep'
|
||||||
cair.kaist.ac.kr:/pub/gnu, ftp.nectec.or.th:/pub/mirrors/gnu
|
|
||||||
AUSTRALIA: archie.au:/gnu (archie.oz or archie.oz.au for ACSnet)
|
|
||||||
AFRICA: ftp.sun.ac.za:/pub/gnu
|
|
||||||
MIDDLE-EAST: ftp.technion.ac.il:/pub/unsupported/gnu
|
|
||||||
EUROPE: irisa.irisa.fr:/pub/gnu, ftp.univ-lyon1.fr:pub/gnu,
|
|
||||||
ftp.mcc.ac.uk, unix.hensa.ac.uk:/pub/uunet/systems/gnu,
|
|
||||||
src.doc.ic.ac.uk:/gnu, ftp.ieunet.ie:pub/gnu, ftp.eunet.ch,
|
|
||||||
nic.switch.ch:/mirror/gnu, ftp.informatik.rwth-aachen.de:/pub/gnu,
|
|
||||||
ftp.informatik.tu-muenchen.de, ftp.win.tue.nl:/pub/gnu,
|
|
||||||
ftp.funet.fi:/pub/gnu, ftp.denet.dk, ftp.stacken.kth.se, isy.liu.se,
|
|
||||||
ftp.luth.se:/pub/unix/gnu, ftp.sunet.se:/pub/gnu, archive.eu.net
|
|
||||||
SOUTH AMERICA: ftp.unicamp.br:/pub/gnu
|
|
||||||
WESTERN CANADA: ftp.cs.ubc.ca:/mirror2/gnu
|
|
||||||
USA: wuarchive.wustl.edu:/systems/gnu, labrea.stanford.edu,
|
|
||||||
ftp.digex.net:/pub/gnu, ftp.kpc.com:/pub/mirror/gnu, f.ms.uky.edu:/pub3/gnu,
|
|
||||||
jaguar.utah.edu:/gnustuff, ftp.hawaii.edu:/mirrors/gnu,
|
|
||||||
vixen.cso.uiuc.edu:/gnu, mrcnext.cso.uiuc.edu:/pub/gnu,
|
|
||||||
ftp.cs.columbia.edu:/archives/gnu/prep, col.hp.com:/mirrors/gnu,
|
|
||||||
gatekeeper.dec.com:/pub/GNU, ftp.uu.net:/systems/gnu
|
|
||||||
|
|
||||||
|
- `ftp://cair.kaist.ac.kr/pub/gnu'
|
||||||
|
|
||||||
|
- `ftp://ftp.nectec.or.th/pub/mirrors/gnu'
|
||||||
|
|
||||||
|
*AUSTRALIA:*
|
||||||
|
- `ftp://archie.au/gnu' (archie.oz or archie.oz.au for ACSnet)
|
||||||
|
|
||||||
|
*AFRICA:*
|
||||||
|
- `ftp://ftp.sun.ac.za/pub/gnu'
|
||||||
|
|
||||||
|
*MIDDLE-EAST:*
|
||||||
|
- `ftp://ftp.technion.ac.il/pub/unsupported/gnu'
|
||||||
|
|
||||||
|
*EUROPE:*
|
||||||
|
- `ftp://irisa.irisa.fr/pub/gnu'
|
||||||
|
|
||||||
|
- `ftp://ftp.univ-lyon1.fr/pub/gnu'
|
||||||
|
|
||||||
|
- `ftp://ftp.mcc.ac.uk'
|
||||||
|
|
||||||
|
- `ftp://unix.hensa.ac.uk/pub/uunet/systems/gnu'
|
||||||
|
|
||||||
|
- `ftp://src.doc.ic.ac.uk/gnu'
|
||||||
|
|
||||||
|
- `ftp://ftp.ieunet.ie/pub/gnu'
|
||||||
|
|
||||||
|
- `ftp://ftp.eunet.ch'
|
||||||
|
|
||||||
|
- `ftp://nic.switch.ch/mirror/gnu'
|
||||||
|
|
||||||
|
- `ftp://ftp.informatik.rwth-aachen.de/pub/gnu'
|
||||||
|
|
||||||
|
- `ftp://ftp.informatik.tu-muenchen.de'
|
||||||
|
|
||||||
|
- `ftp://ftp.win.tue.nl/pub/gnu'
|
||||||
|
|
||||||
|
- `ftp://ftp.funet.fi/pub/gnu'
|
||||||
|
|
||||||
|
- `ftp://ftp.denet.dk'
|
||||||
|
|
||||||
|
- `ftp://ftp.stacken.kth.se'
|
||||||
|
|
||||||
|
- `ftp://isy.liu.se'
|
||||||
|
|
||||||
|
- `ftp://ftp.luth.se/pub/unix/gnu'
|
||||||
|
|
||||||
|
- `ftp://ftp.sunet.se/pub/gnu'
|
||||||
|
|
||||||
|
- `ftp://archive.eu.net'
|
||||||
|
|
||||||
|
*SOUTH AMERICA:*
|
||||||
|
- `ftp://ftp.unicamp.br/pub/gnu'
|
||||||
|
|
||||||
|
*WESTERN CANADA:*
|
||||||
|
- `ftp://ftp.cs.ubc.ca/mirror2/gnu'
|
||||||
|
|
||||||
|
*USA:*
|
||||||
|
- `ftp://wuarchive.wustl.edu/systems/gnu'
|
||||||
|
|
||||||
|
- `ftp://labrea.stanford.edu'
|
||||||
|
|
||||||
|
- `ftp://ftp.digex.net/pub/gnu'
|
||||||
|
|
||||||
|
- `ftp://ftp.kpc.com/pub/mirror/gnu'
|
||||||
|
|
||||||
|
- `ftp://f.ms.uky.edu/pub3/gnu'
|
||||||
|
|
||||||
|
- `ftp://jaguar.utah.edu/gnustuff'
|
||||||
|
|
||||||
|
- `ftp://ftp.hawaii.edu/mirrors/gnu'
|
||||||
|
|
||||||
|
- `ftp://vixen.cso.uiuc.edu/gnu'
|
||||||
|
|
||||||
|
- `ftp://mrcnext.cso.uiuc.edu/pub/gnu'
|
||||||
|
|
||||||
|
- `ftp://ftp.cs.columbia.edu/archives/gnu/prep'
|
||||||
|
|
||||||
|
- `ftp://col.hp.com/mirrors/gnu'
|
||||||
|
|
||||||
|
- `ftp://gatekeeper.dec.com/pub/GNU'
|
||||||
|
|
||||||
|
- `ftp://ftp.uu.net/systems/gnu'
|
||||||
|
|
||||||
|
|
33
ChangeLog
33
ChangeLog
|
@ -1,4 +1,27 @@
|
||||||
Mon Aug 12 14:16:12 1996 GNUstep Development <gnustep@duncan.ocbi.com>
|
Tue Sep 3 13:47:52 1996 GNUstep Development <gnustep@ocbi.com>
|
||||||
|
|
||||||
|
Create initial documentation set.
|
||||||
|
* Documentation/Makefile.in: New file.
|
||||||
|
* Documentation/announce.texi.orig: New file.
|
||||||
|
* Documentation/faq.texi.orig: New file.
|
||||||
|
* Documentation/gnustep-gui.texi.orig: New file.
|
||||||
|
* Documentation/install.texi.orig: New file.
|
||||||
|
* Documentation/news.texi.orig: New file.
|
||||||
|
* Documentation/readme.texi.orig: New file.
|
||||||
|
* Documentation/status.texi.orig: New file.
|
||||||
|
* Documentation/todo.texi.orig: New file.
|
||||||
|
* ANNOUNCE: Now based upon Documentation/announce.texi.orig file.
|
||||||
|
* INSTALL: Now based upon Documentation/install.texi.orig file.
|
||||||
|
* NEWS: Now based upon Documentation/news.texi.orig file.
|
||||||
|
* README: Now based upon Documentation/readme.texi.orig file.
|
||||||
|
* FAQ: New file
|
||||||
|
* STATUS: New file
|
||||||
|
* TODO: New file
|
||||||
|
* configure.in (CONFIG_FILES): Add Documentation/Makefile.
|
||||||
|
* configure: Run autoconf for changes to configure.in.
|
||||||
|
* Version: Correct variable names.
|
||||||
|
|
||||||
|
Mon Aug 12 14:16:12 1996 GNUstep Development <gnustep@ocbi.com>
|
||||||
|
|
||||||
* Headers/gnustep/gui/NSBitmapImageRep.h: Initial implementation
|
* Headers/gnustep/gui/NSBitmapImageRep.h: Initial implementation
|
||||||
based upon Adam's Feodor work.
|
based upon Adam's Feodor work.
|
||||||
|
@ -45,7 +68,7 @@ Wed Jul 10 17:11:53 1996 Scott Christley <scottc@net-community.com>
|
||||||
|
|
||||||
* Source/Makefile.sed.nt: Disable debugging by default.
|
* Source/Makefile.sed.nt: Disable debugging by default.
|
||||||
|
|
||||||
Wed Jun 26 12:43:17 1996 GNUstep Development <gnustep@duncan.ocbi.com>
|
Wed Jun 26 12:43:17 1996 GNUstep Development <gnustep@ocbi.com>
|
||||||
|
|
||||||
* Source/NSButton.m (mouseDown:): Correct cell state changes for
|
* Source/NSButton.m (mouseDown:): Correct cell state changes for
|
||||||
the different cell types.
|
the different cell types.
|
||||||
|
@ -57,7 +80,7 @@ Wed Jun 26 12:43:17 1996 GNUstep Development <gnustep@duncan.ocbi.com>
|
||||||
* Source/NSWindow.m: Corrections to key and main window
|
* Source/NSWindow.m: Corrections to key and main window
|
||||||
notification and first responder handling.
|
notification and first responder handling.
|
||||||
|
|
||||||
Fri Jun 21 11:09:50 1996 GNUstep Development <gnustep@duncan.ocbi.com>
|
Fri Jun 21 11:09:50 1996 GNUstep Development <gnustep@ocbi.com>
|
||||||
|
|
||||||
* Headers/gnustep/gui/NSScreen.h: Add instance variables for
|
* Headers/gnustep/gui/NSScreen.h: Add instance variables for
|
||||||
a screen's device dictionary and for the backend.
|
a screen's device dictionary and for the backend.
|
||||||
|
@ -82,7 +105,7 @@ Wed Jun 19 14:25:46 1996 Scott Christley <scottc@net-community.com>
|
||||||
* Source/NSFont.m (MB_USER_FIXED_FONT, MB_USER_FONT): Rename
|
* Source/NSFont.m (MB_USER_FIXED_FONT, MB_USER_FONT): Rename
|
||||||
global variables to correspond with coding standards.
|
global variables to correspond with coding standards.
|
||||||
|
|
||||||
Thu Jun 6 09:20:51 1996 GNUstep Development <gnustep@duncan.ocbi.com>
|
Thu Jun 6 09:20:51 1996 GNUstep Development <gnustep@ocbi.com>
|
||||||
|
|
||||||
* Headers/gnustep/gui/NSApplication.h (-context): New method.
|
* Headers/gnustep/gui/NSApplication.h (-context): New method.
|
||||||
* Source/Makefile.sed.nt (install): Delete AppKit and DPSClient
|
* Source/Makefile.sed.nt (install): Delete AppKit and DPSClient
|
||||||
|
@ -95,7 +118,7 @@ Thu Jun 6 09:20:51 1996 GNUstep Development <gnustep@duncan.ocbi.com>
|
||||||
* Source/NSView.m (+pushFocusView, +focusView): Remove
|
* Source/NSView.m (+pushFocusView, +focusView): Remove
|
||||||
debugging information.
|
debugging information.
|
||||||
|
|
||||||
Mon Jun 3 10:54:28 1996 GNUstep Development <gnustep@duncan.ocbi.com>
|
Mon Jun 3 10:54:28 1996 GNUstep Development <gnustep@ocbi.com>
|
||||||
|
|
||||||
* Makefile.in (clean-top, distclean): Correct targets and clean
|
* Makefile.in (clean-top, distclean): Correct targets and clean
|
||||||
all header subdirectories.
|
all header subdirectories.
|
||||||
|
|
246
Documentation/Makefile.in
Normal file
246
Documentation/Makefile.in
Normal file
|
@ -0,0 +1,246 @@
|
||||||
|
#
|
||||||
|
# Documentation makefile for GNUstep GUI Library
|
||||||
|
# Copyright (C) 1996 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# Author: Scott Christley <scottc@net-community.com>
|
||||||
|
# Date: August 1996
|
||||||
|
#
|
||||||
|
# This file is part of the GNUstep GUI Library.
|
||||||
|
#
|
||||||
|
# This library is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU Library General Public
|
||||||
|
# License as published by the Free Software Foundation; either
|
||||||
|
# version 2 of the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This library is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
# Library General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Library General Public
|
||||||
|
# License along with this library; see the file COPYING.LIB.
|
||||||
|
# If not, write to the Free Software Foundation, Inc.,
|
||||||
|
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
|
SHELL = /bin/sh
|
||||||
|
|
||||||
|
#### Start of system configuration section. ####
|
||||||
|
|
||||||
|
srcdir = @srcdir@
|
||||||
|
VPATH = @srcdir@
|
||||||
|
|
||||||
|
# Installation location
|
||||||
|
prefix = @prefix@
|
||||||
|
infodir = $(prefix)/info
|
||||||
|
|
||||||
|
MAKEINFO = makeinfo
|
||||||
|
TEXI2DVI = texi2dvi
|
||||||
|
TEXI2HTML = texi2html
|
||||||
|
|
||||||
|
#### End of system configuration section. ####
|
||||||
|
|
||||||
|
include $(srcdir)/../Version
|
||||||
|
|
||||||
|
ORIG_FILES = \
|
||||||
|
version.texi.orig \
|
||||||
|
gnustep-gui.texi.orig \
|
||||||
|
announce.texi.orig \
|
||||||
|
install.texi.orig \
|
||||||
|
news.texi.orig \
|
||||||
|
readme.texi.orig \
|
||||||
|
status.texi.orig \
|
||||||
|
todo.texi.orig \
|
||||||
|
faq.texi.orig
|
||||||
|
|
||||||
|
TEXI_FILES = \
|
||||||
|
version.texi \
|
||||||
|
gnustep-gui.texi \
|
||||||
|
announce.texi \
|
||||||
|
install.texi \
|
||||||
|
news.texi \
|
||||||
|
readme.texi \
|
||||||
|
status.texi \
|
||||||
|
todo.texi \
|
||||||
|
faq.texi \
|
||||||
|
|
||||||
|
TEXT_FILES = \
|
||||||
|
TODO INSTALL NEWS README ANNOUNCE FAQ STATUS
|
||||||
|
|
||||||
|
DVI_FILES = gnustep-gui.dvi objc-runtime.dvi
|
||||||
|
PS_FILES = gnustep-gui.ps objc-runtime.ps
|
||||||
|
HTML_FILES = gnustep-gui_toc.html objc-runtime_toc.html
|
||||||
|
INFO_FILES = gnustep-gui.info objc-runtime.info
|
||||||
|
|
||||||
|
INFO_FLAGS = -I $(srcdir) -D NO-TEXI2HTML --no-header
|
||||||
|
HTML_FLAGS = -split_chapter -expandinfo -I $(srcdir)
|
||||||
|
TEXT_FLAGS = -I $(srcdir) -D NO-TEXI2HTML -D TEXT-ONLY --no-header --no-split
|
||||||
|
|
||||||
|
all: info dvi html text ps
|
||||||
|
|
||||||
|
info: $(INFO_FILES)
|
||||||
|
dvi: $(DVI_FILES)
|
||||||
|
html: $(HTML_FILES)
|
||||||
|
text: $(TEXT_FILES)
|
||||||
|
ps: $(PS_FILES)
|
||||||
|
|
||||||
|
version.texi.orig: $(srcdir)/../Version
|
||||||
|
rm -f version.texi.orig
|
||||||
|
echo '@set GNUSTEP-GUI-VERSION' $(GNUSTEP_GUI_VERSION) \
|
||||||
|
> version.texi.orig
|
||||||
|
echo '@set GNUSTEP-GUI-GCC-VERSION $(GNUSTEP_GUI_GCC_VERSION)' \
|
||||||
|
>> version.texi.orig
|
||||||
|
if [ $(GNUSTEP_GUI_FTP_MACHINE) ]; then \
|
||||||
|
echo '@set GNUSTEP-GUI-FTP-MACHINE $(GNUSTEP_GUI_FTP_MACHINE)' \
|
||||||
|
>> version.texi.orig; fi
|
||||||
|
if [ $(GNUSTEP_GUI_FTP_DIRECTORY) ]; then \
|
||||||
|
echo '@set GNUSTEP-GUI-FTP-DIRECTORY $(GNUSTEP_GUI_FTP_DIRECTORY)' \
|
||||||
|
>> version.texi.orig; fi
|
||||||
|
if [ $(GNUSTEP_GUI_SNAP_FTP_MACHINE) ]; then \
|
||||||
|
echo '@set GNUSTEP-GUI-SNAP-FTP-MACHINE \
|
||||||
|
$(GNUSTEP_GUI_SNAP_FTP_MACHINE)' \
|
||||||
|
>> version.texi.orig; fi
|
||||||
|
if [ $(GNUSTEP_GUI_SNAP_FTP_DIRECTORY) ]; then \
|
||||||
|
echo '@set GNUSTEP-GUI-SNAP-FTP-DIRECTORY \
|
||||||
|
$(GNUSTEP_GUI_SNAP_FTP_DIRECTORY)' \
|
||||||
|
>> version.texi.orig; fi
|
||||||
|
|
||||||
|
gnustep-gui.dvi: $(ORIG_FILES)
|
||||||
|
rm -f $(TEXI_FILES)
|
||||||
|
for i in $(ORIG_FILES); do \
|
||||||
|
cp $$i `basename $$i .orig` ; \
|
||||||
|
done
|
||||||
|
$(TEXI2DVI) $(srcdir)/gnustep-gui.texi
|
||||||
|
|
||||||
|
gnustep-gui.info: $(ORIG_FILES)
|
||||||
|
rm -f $(TEXI_FILES)
|
||||||
|
for i in $(ORIG_FILES); do \
|
||||||
|
sed -e 's,@email{\([^}]*\)},<\1>,g' \
|
||||||
|
$(srcdir)/$$i \
|
||||||
|
| sed -e 's,@url{\([^}]*\)},@samp{\1},g' \
|
||||||
|
> `basename $$i .orig` ; \
|
||||||
|
done
|
||||||
|
$(MAKEINFO) $(INFO_FLAGS) -o gnustep-gui.info $(srcdir)/gnustep-gui.texi
|
||||||
|
|
||||||
|
gnustep-gui.ps: gnustep-gui.dvi
|
||||||
|
dvips gnustep-gui.dvi -o gnustep-gui.ps
|
||||||
|
|
||||||
|
gnustep-gui_toc.html: $(ORIG_FILES)
|
||||||
|
rm -f $(TEXI_FILES)
|
||||||
|
for i in $(ORIG_FILES); do \
|
||||||
|
sed -e 's,@email{\([^}]*\)},<A HREF="mailto:\1">\1</A>,g' \
|
||||||
|
$(srcdir)/$$i \
|
||||||
|
| sed -e 's,@url{\([^}]*\)},<A HREF="\1">\1</A>,g' \
|
||||||
|
| sed -e 's,^ *$$,@br{},g' \
|
||||||
|
> `basename $$i .orig` ; \
|
||||||
|
done
|
||||||
|
$(TEXI2HTML) $(HTML_FLAGS) gnustep-gui.texi
|
||||||
|
|
||||||
|
# Rules for producing the text files
|
||||||
|
README: version.texi.orig readme.texi.orig
|
||||||
|
sed -e 's,@email{\([^}]*\)},<\1>,g' \
|
||||||
|
$(srcdir)/readme.texi.orig \
|
||||||
|
| sed -e 's,@url{\([^}]*\)},@samp{\1},g' \
|
||||||
|
> readme.texi ; \
|
||||||
|
$(MAKEINFO) $(TEXT_FLAGS) -o README $(srcdir)/readme.texi
|
||||||
|
|
||||||
|
ANNOUNCE: version.texi.orig announce.texi.orig
|
||||||
|
sed -e 's,@email{\([^}]*\)},<\1>,g' \
|
||||||
|
$(srcdir)/announce.texi.orig \
|
||||||
|
| sed -e 's,@url{\([^}]*\)},@samp{\1},g' \
|
||||||
|
> announce.texi ; \
|
||||||
|
$(MAKEINFO) $(TEXT_FLAGS) -o ANNOUNCE $(srcdir)/announce.texi
|
||||||
|
|
||||||
|
INSTALL: version.texi.orig install.texi.orig
|
||||||
|
sed -e 's,@email{\([^}]*\)},<\1>,g' \
|
||||||
|
$(srcdir)/install.texi.orig \
|
||||||
|
| sed -e 's,@url{\([^}]*\)},@samp{\1},g' \
|
||||||
|
> install.texi ; \
|
||||||
|
$(MAKEINFO) $(TEXT_FLAGS) -o INSTALL $(srcdir)/install.texi
|
||||||
|
|
||||||
|
NEWS: version.texi.orig news.texi.orig
|
||||||
|
sed -e 's,@email{\([^}]*\)},<\1>,g' \
|
||||||
|
$(srcdir)/news.texi.orig \
|
||||||
|
| sed -e 's,@url{\([^}]*\)},@samp{\1},g' \
|
||||||
|
> news.texi ; \
|
||||||
|
$(MAKEINFO) $(TEXT_FLAGS) -o NEWS $(srcdir)/news.texi
|
||||||
|
|
||||||
|
FAQ: version.texi.orig faq.texi.orig
|
||||||
|
sed -e 's,@email{\([^}]*\)},<\1>,g' \
|
||||||
|
$(srcdir)/faq.texi.orig \
|
||||||
|
| sed -e 's,@url{\([^}]*\)},@samp{\1},g' \
|
||||||
|
> faq.texi ; \
|
||||||
|
$(MAKEINFO) $(TEXT_FLAGS) -o FAQ $(srcdir)/faq.texi
|
||||||
|
|
||||||
|
STATUS: version.texi.orig status.texi.orig
|
||||||
|
sed -e 's,@email{\([^}]*\)},<\1>,g' \
|
||||||
|
$(srcdir)/status.texi.orig \
|
||||||
|
| sed -e 's,@url{\([^}]*\)},@samp{\1},g' \
|
||||||
|
> status.texi ; \
|
||||||
|
$(MAKEINFO) $(TEXT_FLAGS) -o STATUS $(srcdir)/status.texi
|
||||||
|
|
||||||
|
TODO: version.texi.orig todo.texi.orig
|
||||||
|
sed -e 's,@email{\([^}]*\)},<\1>,g' \
|
||||||
|
$(srcdir)/todo.texi.orig \
|
||||||
|
| sed -e 's,@url{\([^}]*\)},@samp{\1},g' \
|
||||||
|
> todo.texi ; \
|
||||||
|
$(MAKEINFO) $(TEXT_FLAGS) -o TODO $(srcdir)/todo.texi
|
||||||
|
|
||||||
|
#
|
||||||
|
# GNU Objective-C Runtime Library Manual
|
||||||
|
#
|
||||||
|
objc-runtime.dvi: version.texi.orig objc-runtime.texi.orig
|
||||||
|
rm -f $(TEXI_FILES)
|
||||||
|
for i in version.texi.orig objc-runtime.texi.orig; do \
|
||||||
|
cp $$i `basename $$i .orig` ; \
|
||||||
|
done
|
||||||
|
$(TEXI2DVI) $(srcdir)/objc-runtime.texi
|
||||||
|
|
||||||
|
objc-runtime.info: version.texi.orig objc-runtime.texi.orig
|
||||||
|
rm -f $(TEXI_FILES)
|
||||||
|
for i in version.texi.orig objc-runtime.texi.orig; do \
|
||||||
|
sed -e 's,@email{\([^}]*\)},<\1>,g' \
|
||||||
|
$(srcdir)/$$i \
|
||||||
|
| sed -e 's,@url{\([^}]*\)},@samp{\1},g' \
|
||||||
|
> `basename $$i .orig` ; \
|
||||||
|
done
|
||||||
|
$(MAKEINFO) $(INFO_FLAGS) -o objc-runtime.info $(srcdir)/objc-runtime.texi
|
||||||
|
|
||||||
|
objc-runtime.ps: objc-runtime.dvi
|
||||||
|
dvips objc-runtime.dvi -o objc-runtime.ps
|
||||||
|
|
||||||
|
objc-runtime_toc.html: version.texi.orig objc-runtime.texi.orig
|
||||||
|
rm -f $(TEXI_FILES)
|
||||||
|
for i in version.texi.orig objc-runtime.texi.orig; do \
|
||||||
|
sed -e 's,@email{\([^}]*\)},<A HREF="mailto:\1">\1</A>,g' \
|
||||||
|
$(srcdir)/$$i \
|
||||||
|
| sed -e 's,@url{\([^}]*\)},<A HREF="\1">\1</A>,g' \
|
||||||
|
| sed -e 's,^ *$$,@br{},g' \
|
||||||
|
> `basename $$i .orig` ; \
|
||||||
|
done
|
||||||
|
$(TEXI2HTML) $(HTML_FLAGS) objc-runtime.texi
|
||||||
|
|
||||||
|
install:
|
||||||
|
uninstall:
|
||||||
|
|
||||||
|
mostlyclean:
|
||||||
|
rm -f *~
|
||||||
|
rm -f *.aux *.cp *.cps *.fn *.fns
|
||||||
|
rm -f *.ky *.log *.pg *.toc *.tp *.vr
|
||||||
|
rm -f $(TEXI_FILES)
|
||||||
|
rm -f objc-runtime.texi
|
||||||
|
|
||||||
|
clean: mostlyclean
|
||||||
|
rm -f version.texi.orig
|
||||||
|
rm -f $(TEXT_FILES)
|
||||||
|
rm -f *.html
|
||||||
|
rm -f *.info
|
||||||
|
rm -f *.dvi
|
||||||
|
rm -f *.ps
|
||||||
|
|
||||||
|
distclean: clean
|
||||||
|
rm -f Makefile
|
||||||
|
|
||||||
|
maintainer-clean: distclean
|
||||||
|
|
||||||
|
Makefile: Makefile.in
|
||||||
|
cd ..; $(SHELL) config.status
|
140
Documentation/announce.texi.orig
Normal file
140
Documentation/announce.texi.orig
Normal file
|
@ -0,0 +1,140 @@
|
||||||
|
@c -*- texinfo -*-
|
||||||
|
@chapter ANNOUNCE
|
||||||
|
@ifset TEXT-ONLY
|
||||||
|
@include version.texi
|
||||||
|
@end ifset
|
||||||
|
|
||||||
|
This is version @value{GNUSTEP-GUI-VERSION} of the GNUstep GUI library (@samp{libgnustep-gui}).
|
||||||
|
|
||||||
|
What is the GNUstep GUI Library?
|
||||||
|
|
||||||
|
It is a library of graphical user interface classes written completely
|
||||||
|
in the Objective-C language; the classes are based upon the OPENSTEP(tm)
|
||||||
|
specification as release by NeXT Software, Inc. The library does not
|
||||||
|
completely conform to the specification and has been
|
||||||
|
enhanced in a number of ways to take advantage of the GNU system.
|
||||||
|
These classes include graphical objects such as buttons, text fields,
|
||||||
|
popup lists, browser lists, and windows; there are also many associated
|
||||||
|
classes for handling events, colors, fonts, pasteboards and images.
|
||||||
|
|
||||||
|
The design of libgnustep-gui is designed in two parts. The first part is the
|
||||||
|
front-end component which is independent of platform and display system.
|
||||||
|
This front-end is combined with a back-end component which handles all of
|
||||||
|
the display system dependent such as specific calls to X/Windows. This
|
||||||
|
design allows the GNUstep applications to have the "look and feel" of
|
||||||
|
the underlying display system without any changes to the application, and
|
||||||
|
the library can be easily ported to other display systems.
|
||||||
|
|
||||||
|
The GNUstep GUI Library requires the GNU Objective-C compiler, the GNUstep
|
||||||
|
Base Library, and back-end component like the GNUstep X/DPS GUI Backend.
|
||||||
|
|
||||||
|
|
||||||
|
@noindent
|
||||||
|
Creators rejoice!@*
|
||||||
|
Scott Christley@*
|
||||||
|
@email{scottc@@net-community.com}@*
|
||||||
|
|
||||||
|
@noindent
|
||||||
|
*****
|
||||||
|
|
||||||
|
Check out the GNUstep web site. (@url{http://www.gnustep.org})
|
||||||
|
|
||||||
|
OPENSTEP and NeXT are trademarks of NeXT Software, Inc. (@url{http://www.next.com})
|
||||||
|
|
||||||
|
The GNUstep GUI Library was donated to the Free Software Foundation
|
||||||
|
as part of the On-line Community project of NET-Community. NET-Community is
|
||||||
|
a company that develops and supports free software. Check out
|
||||||
|
their web site to learn more. (@url{http://www.net-community.com})
|
||||||
|
|
||||||
|
|
||||||
|
[ Most GNU software is packed using the GNU `gzip' compression program.
|
||||||
|
Source code is available on most sites distributing GNU software.
|
||||||
|
|
||||||
|
For information on how to order GNU software on tape, floppy or cd-rom, or
|
||||||
|
printed GNU manuals, check the file etc/ORDERS in the GNU Emacs distribution
|
||||||
|
or in GNUinfo/ORDERS on prep, or e-mail a request to: @email{gnu@@prep.ai.mit.edu}
|
||||||
|
|
||||||
|
By ordering your GNU software from the FSF, you help us continue to
|
||||||
|
develop more free software. Media revenues are our primary source of
|
||||||
|
support. Donations to FSF are deductible on US tax returns.
|
||||||
|
|
||||||
|
The above software will soon be at these ftp sites as well.
|
||||||
|
Please try them before @samp{prep.ai.mit.edu} as @samp{prep} is very busy!
|
||||||
|
|
||||||
|
thanx @email{gnu@@prep.ai.mit.edu}
|
||||||
|
|
||||||
|
@table @strong
|
||||||
|
|
||||||
|
@item ASIA:
|
||||||
|
@itemize @minus
|
||||||
|
@item @url{ftp://ftp.cs.titech.ac.jp}
|
||||||
|
@item @url{ftp://utsun.s.u-tokyo.ac.jp/ftpsync/prep}
|
||||||
|
@item @url{ftp://cair.kaist.ac.kr/pub/gnu}
|
||||||
|
@item @url{ftp://ftp.nectec.or.th/pub/mirrors/gnu}
|
||||||
|
@end itemize
|
||||||
|
|
||||||
|
@item AUSTRALIA:
|
||||||
|
@itemize @minus
|
||||||
|
@item @url{ftp://archie.au/gnu} (archie.oz or archie.oz.au for ACSnet)
|
||||||
|
@end itemize
|
||||||
|
|
||||||
|
@item AFRICA:
|
||||||
|
@itemize @minus
|
||||||
|
@item @url{ftp://ftp.sun.ac.za/pub/gnu}
|
||||||
|
@end itemize
|
||||||
|
|
||||||
|
@item MIDDLE-EAST:
|
||||||
|
@itemize @minus
|
||||||
|
@item @url{ftp://ftp.technion.ac.il/pub/unsupported/gnu}
|
||||||
|
@end itemize
|
||||||
|
|
||||||
|
@item EUROPE:
|
||||||
|
@itemize @minus
|
||||||
|
@item @url{ftp://irisa.irisa.fr/pub/gnu}
|
||||||
|
@item @url{ftp://ftp.univ-lyon1.fr/pub/gnu}
|
||||||
|
@item @url{ftp://ftp.mcc.ac.uk}
|
||||||
|
@item @url{ftp://unix.hensa.ac.uk/pub/uunet/systems/gnu}
|
||||||
|
@item @url{ftp://src.doc.ic.ac.uk/gnu}
|
||||||
|
@item @url{ftp://ftp.ieunet.ie/pub/gnu}
|
||||||
|
@item @url{ftp://ftp.eunet.ch}
|
||||||
|
@item @url{ftp://nic.switch.ch/mirror/gnu}
|
||||||
|
@item @url{ftp://ftp.informatik.rwth-aachen.de/pub/gnu}
|
||||||
|
@item @url{ftp://ftp.informatik.tu-muenchen.de}
|
||||||
|
@item @url{ftp://ftp.win.tue.nl/pub/gnu}
|
||||||
|
@item @url{ftp://ftp.funet.fi/pub/gnu}
|
||||||
|
@item @url{ftp://ftp.denet.dk}
|
||||||
|
@item @url{ftp://ftp.stacken.kth.se}
|
||||||
|
@item @url{ftp://isy.liu.se}
|
||||||
|
@item @url{ftp://ftp.luth.se/pub/unix/gnu}
|
||||||
|
@item @url{ftp://ftp.sunet.se/pub/gnu}
|
||||||
|
@item @url{ftp://archive.eu.net}
|
||||||
|
@end itemize
|
||||||
|
|
||||||
|
@item SOUTH AMERICA:
|
||||||
|
@itemize @minus
|
||||||
|
@item @url{ftp://ftp.unicamp.br/pub/gnu}
|
||||||
|
@end itemize
|
||||||
|
|
||||||
|
@item WESTERN CANADA:
|
||||||
|
@itemize @minus
|
||||||
|
@item @url{ftp://ftp.cs.ubc.ca/mirror2/gnu}
|
||||||
|
@end itemize
|
||||||
|
|
||||||
|
@item USA:
|
||||||
|
@itemize @minus
|
||||||
|
@item @url{ftp://wuarchive.wustl.edu/systems/gnu}
|
||||||
|
@item @url{ftp://labrea.stanford.edu}
|
||||||
|
@item @url{ftp://ftp.digex.net/pub/gnu}
|
||||||
|
@item @url{ftp://ftp.kpc.com/pub/mirror/gnu}
|
||||||
|
@item @url{ftp://f.ms.uky.edu/pub3/gnu}
|
||||||
|
@item @url{ftp://jaguar.utah.edu/gnustuff}
|
||||||
|
@item @url{ftp://ftp.hawaii.edu/mirrors/gnu}
|
||||||
|
@item @url{ftp://vixen.cso.uiuc.edu/gnu}
|
||||||
|
@item @url{ftp://mrcnext.cso.uiuc.edu/pub/gnu}
|
||||||
|
@item @url{ftp://ftp.cs.columbia.edu/archives/gnu/prep}
|
||||||
|
@item @url{ftp://col.hp.com/mirrors/gnu}
|
||||||
|
@item @url{ftp://gatekeeper.dec.com/pub/GNU}
|
||||||
|
@item @url{ftp://ftp.uu.net/systems/gnu}
|
||||||
|
@end itemize
|
||||||
|
|
||||||
|
@end table
|
104
Documentation/faq.texi.orig
Normal file
104
Documentation/faq.texi.orig
Normal file
|
@ -0,0 +1,104 @@
|
||||||
|
@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 August 26 1996. 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 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 @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, 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:
|
||||||
|
|
||||||
|
@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 GUI X/DPS 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?}
|
||||||
|
|
||||||
|
It is not yet publically released. When it is available you will be
|
||||||
|
able to find it in:
|
||||||
|
|
||||||
|
@example
|
||||||
|
@url{ftp://@value{GNUSTEP-GUI-FTP-MACHINE}/@value{GNUSTEP-GUI-FTP-DIRECTORY}}
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@noindent
|
||||||
|
Pre-release snapshots are available at:
|
||||||
|
|
||||||
|
@example
|
||||||
|
@url{ftp://@value{GNUSTEP-GUI-SNAP-FTP-MACHINE}/@value{GNUSTEP-GUI-SNAP-FTP-DIRECTORY}}
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@end enumerate
|
||||||
|
|
112
Documentation/gnustep-gui.texi.orig
Normal file
112
Documentation/gnustep-gui.texi.orig
Normal file
|
@ -0,0 +1,112 @@
|
||||||
|
\input texinfo @c -*-texinfo-*-
|
||||||
|
@c GNUstep GUI Library
|
||||||
|
@c
|
||||||
|
@c This file uses the special commands @url{} and @email{}.
|
||||||
|
|
||||||
|
@iftex
|
||||||
|
@global@let@email=@i
|
||||||
|
@global@let@url=@samp
|
||||||
|
@end iftex
|
||||||
|
|
||||||
|
@ifset NO-TEXI2HTML
|
||||||
|
@ifinfo
|
||||||
|
@definfoenclose email, <, >
|
||||||
|
@definfoenclose url `, '
|
||||||
|
@end ifinfo
|
||||||
|
@end ifset
|
||||||
|
|
||||||
|
@settitle The GNUstep GUI Library
|
||||||
|
@setfilename gnustep-gui.info
|
||||||
|
@include version.texi
|
||||||
|
|
||||||
|
@ifinfo
|
||||||
|
This file documents the GNUstep GUI Library.
|
||||||
|
|
||||||
|
@ifclear NO-TEXI2HTML
|
||||||
|
@subtitle DRAFT Edition for GNUstep GUI Library @value{GNUSTEP-GUI-VERSION}
|
||||||
|
@subtitle Last revision August 1996
|
||||||
|
@c @subtitle For GCC Version @value{GNUSTEP-GUI-GCC-VERSION}
|
||||||
|
@author Scott Christley
|
||||||
|
@sp 1
|
||||||
|
@end ifclear
|
||||||
|
Copyright @copyright{} 1996 NET-Community
|
||||||
|
|
||||||
|
Permission is granted to make and distribute verbatim copies of
|
||||||
|
this manual provided the copyright notice and this permission notice
|
||||||
|
are preserved on all copies.
|
||||||
|
|
||||||
|
Permission is granted to copy and distribute modified versions of this
|
||||||
|
manual under the conditions for verbatim copying, provided also that
|
||||||
|
the entire resulting derived work is distributed under the terms of a
|
||||||
|
permission notice identical to this one.
|
||||||
|
|
||||||
|
Permission is granted to copy and distribute translations of this manual
|
||||||
|
into another language, under the above conditions for modified versions.
|
||||||
|
@end ifinfo
|
||||||
|
|
||||||
|
@iftex
|
||||||
|
@setchapternewpage odd
|
||||||
|
@finalout
|
||||||
|
@titlepage
|
||||||
|
@title The GNUstep GUI Library
|
||||||
|
@subtitle DRAFT Edition for GNUstep GUI Library @value{GNUSTEP-GUI-VERSION}
|
||||||
|
@subtitle Last revision August 1996
|
||||||
|
@c @subtitle For GCC Version @value{GNUSTEP-GUI-GCC-VERSION}
|
||||||
|
@author Scott Christley
|
||||||
|
@page
|
||||||
|
|
||||||
|
@vskip 0pt plus 1filll
|
||||||
|
Copyright @copyright{} 1996 NET-Community
|
||||||
|
|
||||||
|
@sp 2
|
||||||
|
GNUstep GUI Library Version @value{GNUSTEP-GUI-VERSION}@*
|
||||||
|
@c For GCC Version @value{GNUSTEP-GUI-GCC-VERSION}@*
|
||||||
|
@sp 1
|
||||||
|
Published by NET-Community@*
|
||||||
|
Portland, Oregon, USA@*
|
||||||
|
(@url{http://www.net-community.com})@*
|
||||||
|
Last printed August, 1996.@*
|
||||||
|
@sp 1
|
||||||
|
Permission is granted to make and distribute verbatim copies of
|
||||||
|
this manual provided the copyright notice and this permission notice
|
||||||
|
are preserved on all copies.
|
||||||
|
|
||||||
|
Permission is granted to copy and distribute modified versions of this
|
||||||
|
manual under the conditions for verbatim copying, provided also that
|
||||||
|
the entire resulting derived work is distributed under the terms of a
|
||||||
|
permission notice identical to this one.
|
||||||
|
|
||||||
|
Permission is granted to copy and distribute translations of this manual
|
||||||
|
into another language, under the above conditions for modified versions.
|
||||||
|
@end titlepage
|
||||||
|
@end iftex
|
||||||
|
|
||||||
|
@chapter Introduction
|
||||||
|
|
||||||
|
@c README
|
||||||
|
@include readme.texi
|
||||||
|
|
||||||
|
@c Announcement
|
||||||
|
@include announce.texi
|
||||||
|
|
||||||
|
@c Installation Instructions
|
||||||
|
@include install.texi
|
||||||
|
|
||||||
|
@c News
|
||||||
|
@include news.texi
|
||||||
|
|
||||||
|
@c The FAQ
|
||||||
|
@include faq.texi
|
||||||
|
|
||||||
|
@c Status Report
|
||||||
|
@include status.texi
|
||||||
|
|
||||||
|
@c The ToDo
|
||||||
|
@include todo.texi
|
||||||
|
|
||||||
|
@c Generate Short Contents
|
||||||
|
@shortcontents
|
||||||
|
|
||||||
|
@c Generate Complete Contents
|
||||||
|
@contents
|
||||||
|
@bye
|
242
Documentation/install.texi.orig
Normal file
242
Documentation/install.texi.orig
Normal file
|
@ -0,0 +1,242 @@
|
||||||
|
@c -*- texinfo -*-
|
||||||
|
@chapter Installation
|
||||||
|
|
||||||
|
@ifset TEXT-ONLY
|
||||||
|
@include version.texi
|
||||||
|
@end ifset
|
||||||
|
|
||||||
|
This file documents the installation of the GNUstep GUI
|
||||||
|
Library, @samp{libgnustep-gui}. Copyright (C) 1996 Free Software
|
||||||
|
Foundation, Inc. You may copy, distribute, and modify it freely as long
|
||||||
|
as you preserve this copyright notice and permission notice.
|
||||||
|
|
||||||
|
This is version @value{GNUSTEP-GUI-VERSION} of the GNUstep GUI library.
|
||||||
|
|
||||||
|
@section Installing @samp{libgnustep-gui}
|
||||||
|
|
||||||
|
These notes are for a GNU system that can run @file{./configure}. For
|
||||||
|
Windows NT/95, if you have a working bash shell then you can follow
|
||||||
|
these instructions; otherwise, follow the MediaBook Environment specific
|
||||||
|
instructions below.
|
||||||
|
|
||||||
|
Here is a quick-and-dirty example of installation commands:
|
||||||
|
|
||||||
|
@example
|
||||||
|
./configure --prefix=/usr/local
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
@end example
|
||||||
|
|
||||||
|
Here are more detailed instructions.
|
||||||
|
|
||||||
|
@enumerate
|
||||||
|
@item
|
||||||
|
Install @samp{gcc}. The library requires gcc version
|
||||||
|
@value{GNUSTEP-GUI-GCC-VERSION} or later.
|
||||||
|
|
||||||
|
@item
|
||||||
|
Install @samp{libgnustep-base}. This library requires the classes in
|
||||||
|
the GNUstep Base Library. You must also apply the Objective-C
|
||||||
|
Runtime patches to GCC which makes the runtime thread-safe, if
|
||||||
|
your version of GCC lacks them.
|
||||||
|
|
||||||
|
@item
|
||||||
|
Configure the package for your system. In the directory that this
|
||||||
|
file is in, type @file{./configure}. If you're using @file{csh} on an old
|
||||||
|
version of System V, you might need to type @samp{sh configure} instead
|
||||||
|
to prevent @samp{csh} from trying to execute @file{configure} itself.
|
||||||
|
|
||||||
|
The @file{configure} shell script attempts to guess correct values for
|
||||||
|
various system-dependent variables used during compilation, and
|
||||||
|
creates the Makefile(s) (one in each subdirectory of the source
|
||||||
|
directory). In some packages it creates a C header file
|
||||||
|
containing system-dependent definitions. It also creates a file
|
||||||
|
@file{config.status} that you can run in the future to recreate the
|
||||||
|
current configuration.
|
||||||
|
|
||||||
|
Running @file{configure} takes less than a minute or two. While it is
|
||||||
|
running, it prints some messages that tell what it is doing. If
|
||||||
|
you don't want to see the messages, run @file{configure} with its
|
||||||
|
standard output redirected to @file{/dev/null}; for example:
|
||||||
|
@smallexample
|
||||||
|
./configure >/dev/null
|
||||||
|
@end smallexample
|
||||||
|
|
||||||
|
To compile the package in a different directory from the one
|
||||||
|
containing the source code, you must use a version of make that
|
||||||
|
supports the VPATH variable, such as GNU make. @samp{cd} to the
|
||||||
|
directory where you want the object files and executables to go and
|
||||||
|
run @file{configure}. @file{configure} automatically checks for the
|
||||||
|
source code in the directory that @file{configure} is in and in
|
||||||
|
@file{..}. If for some reason @file{configure} is not in the source
|
||||||
|
code directory that you are configuring, then it will report that it
|
||||||
|
can't find the source code. In that case, run @file{configure} with
|
||||||
|
the option @samp{--srcdir=DIR}, where DIR is the directory that
|
||||||
|
contains the source code.
|
||||||
|
|
||||||
|
By default, @samp{make install} will install the package's files in
|
||||||
|
/usr/local/bin, /usr/local/lib, /usr/local/man, etc. You can specify
|
||||||
|
an installation prefix other than /usr/local by giving
|
||||||
|
@file{configure} the option @samp{--prefix=PATH}. Alternately, you
|
||||||
|
can do so by giving a value for the @samp{prefix} variable when you
|
||||||
|
run @samp{make}, e.g.,
|
||||||
|
@smallexample
|
||||||
|
make prefix=/usr/gnu
|
||||||
|
@end smallexample
|
||||||
|
|
||||||
|
You can specify separate installation prefixes for
|
||||||
|
architecture-specific files and architecture-independent files. If
|
||||||
|
you give @file{configure} the option @samp{--exec_prefix=PATH} or set
|
||||||
|
the @samp{make} variable @samp{exec_prefix} to PATH, the package will
|
||||||
|
use PATH as the prefix for installing programs and libraries. Data
|
||||||
|
files and documentation will still use the regular prefix. Normally,
|
||||||
|
all files are installed using the regular prefix.
|
||||||
|
|
||||||
|
You can tell @file{configure} to figure out the configuration for your
|
||||||
|
system, and record it in @file{config.status}, without actually
|
||||||
|
configuring the package (creating Makefile(s) and perhaps a
|
||||||
|
configuration header file). To do this, give @file{configure} the
|
||||||
|
@samp{--no-create} option. Later, you can run @file{./config.status}
|
||||||
|
to actually configure the package. This option is useful mainly in
|
||||||
|
@file{Makefile} rules for updating @file{config.status} and
|
||||||
|
@file{Makefile}. You can also give @file{config.status} the
|
||||||
|
@samp{--recheck} option, which makes it re-run @file{configure} with
|
||||||
|
the same arguments you used before. This is useful if you change
|
||||||
|
@file{configure}.
|
||||||
|
|
||||||
|
@file{configure} ignores any other arguments that you give it.
|
||||||
|
|
||||||
|
If your system requires unusual options for compilation or linking
|
||||||
|
that @file{configure} doesn't know about, you can give
|
||||||
|
@file{configure} initial values for some variables by setting them in
|
||||||
|
the environment. In Bourne-compatible shells, you can do that on the
|
||||||
|
command line like this:
|
||||||
|
@smallexample
|
||||||
|
CC='gcc -traditional' DEFS=-D_POSIX_SOURCE ./configure
|
||||||
|
@end smallexample
|
||||||
|
|
||||||
|
The @samp{make} variables that you might want to override with
|
||||||
|
environment variables when running @file{configure} are:
|
||||||
|
|
||||||
|
(For these variables, any value given in the environment overrides
|
||||||
|
the value that `configure' would choose:)
|
||||||
|
@table @samp
|
||||||
|
|
||||||
|
@item CC
|
||||||
|
C compiler program. Default is @samp{cc}, or @samp{gcc} if @samp{gcc} is in
|
||||||
|
your PATH.
|
||||||
|
|
||||||
|
@item INSTALL
|
||||||
|
Program to use to install files. Default is @samp{install} if you
|
||||||
|
have it, @samp{install.sh} otherwise.
|
||||||
|
@end table
|
||||||
|
|
||||||
|
(For these variables, any value given in the environment is added
|
||||||
|
to the value that @file{configure} chooses:)
|
||||||
|
@table @samp
|
||||||
|
|
||||||
|
@item DEFS
|
||||||
|
Configuration options, in the form @samp{-Dfoo -Dbar ...}
|
||||||
|
|
||||||
|
@item LIBS
|
||||||
|
Libraries to link with, in the form @samp{-lfoo -lbar ...}
|
||||||
|
@end table
|
||||||
|
|
||||||
|
If you need to do unusual things to compile the package, we
|
||||||
|
encourage you to figure out how @file{configure.in} could check whether to
|
||||||
|
do them, and mail diffs or instructions to the address given in
|
||||||
|
the @file{README} so we can include them in the next release.
|
||||||
|
|
||||||
|
@item
|
||||||
|
Type @samp{make} to compile the package. If you want, you can override
|
||||||
|
the @samp{make} variables @samp{CFLAGS} and @samp{LDFLAGS} like this:
|
||||||
|
@smallexample
|
||||||
|
make CFLAGS=-O2 LDFLAGS=-s
|
||||||
|
@end smallexample
|
||||||
|
|
||||||
|
@item
|
||||||
|
Type @samp{make install} to install the library, data files, header
|
||||||
|
files, and documentation.
|
||||||
|
|
||||||
|
@item
|
||||||
|
You can remove the program binaries and object files from the
|
||||||
|
source directory by typing @samp{make clean}. To also remove the
|
||||||
|
Makefile(s), and @file{config.status} (all the files that @file{configure}
|
||||||
|
created), type @samp{make distclean}.
|
||||||
|
|
||||||
|
The file @file{configure.in} is used as a template to create
|
||||||
|
@file{configure} by a program called @file{autoconf}. You will only
|
||||||
|
need it if you want to regenerate @file{configure} using a newer
|
||||||
|
version of @file{autoconf}.
|
||||||
|
@end enumerate
|
||||||
|
|
||||||
|
@section Installing in the MediaBook environment
|
||||||
|
|
||||||
|
The MediaBook environment under Windows NT and Window 95 utilizes the
|
||||||
|
native shell of the operating systems, so it does not require you to
|
||||||
|
have a @samp{bash} or UNIX-like shell to configure and install the library.
|
||||||
|
The MediaBook environment utilizes the @file{configure.bat} batch file to
|
||||||
|
configure the package; it creates the @samp{Makefile(s)} by processing a
|
||||||
|
@samp{Makefile.in} with its corresponding @samp{Makefile.sed.nt}.
|
||||||
|
|
||||||
|
The MediaBook environment should have these environment variables
|
||||||
|
defined for the installation to work.
|
||||||
|
|
||||||
|
@table @strong
|
||||||
|
@item MB_DEV
|
||||||
|
The drive and directory of the development root. For example
|
||||||
|
it may be @samp{C:\MBCD\Development}; it is analogous to @samp{/usr/local}
|
||||||
|
on UNIX systems.
|
||||||
|
|
||||||
|
@item MB_H
|
||||||
|
The directory name within the development root @samp{MB_DEV} where
|
||||||
|
the header files are stored; e.g. @samp{Headers}.
|
||||||
|
|
||||||
|
@item MB_LIB
|
||||||
|
The directory name within the development root @samp{MB_DEV} where
|
||||||
|
the library files are stored; this tends to be specific to
|
||||||
|
the target operating system, e.g. @samp{Libraries\MS-WIN32}.
|
||||||
|
@end table
|
||||||
|
|
||||||
|
To install the headers and import libraries:
|
||||||
|
|
||||||
|
@smallexample
|
||||||
|
configure.bat
|
||||||
|
make install
|
||||||
|
@end smallexample
|
||||||
|
|
||||||
|
Here are more detailed instructions.
|
||||||
|
|
||||||
|
@enumerate
|
||||||
|
@item
|
||||||
|
Install @samp{gcc}. The library requires gcc version
|
||||||
|
@value{GNUSTEP-GUI-GCC-VERSION} or later.
|
||||||
|
|
||||||
|
@item
|
||||||
|
Install @samp{libgnustep-base}. This library requires the classes in
|
||||||
|
the GNUstep Base Library. You must also apply the Objective-C
|
||||||
|
Runtime patches to GCC which makes the runtime thread-safe, if
|
||||||
|
your version of GCC lacks them.
|
||||||
|
|
||||||
|
@item
|
||||||
|
Configure the package for your system. In the directory that this
|
||||||
|
file is in, type @file{configure.bat}.
|
||||||
|
|
||||||
|
The @file{configure.bat} batch file processes the @file{Makefile.in} templates
|
||||||
|
with the corresponding @file{Makefile.sed.nt} sed script file to produce
|
||||||
|
the resultant @file{Makefile(s)}.
|
||||||
|
|
||||||
|
By default, @samp{make install} will install the package's header files
|
||||||
|
into @samp{$(MB_DEV)\$(MB_H)} and the library files in
|
||||||
|
@samp{$(MB_DEV)\$(MB_LIB)}. You should have these environment variables
|
||||||
|
defined before you run @samp{make}. You can change the development root
|
||||||
|
@samp{MB_DEV} by giving a value for the @samp{prefix} variable when you run
|
||||||
|
@samp{make}, e.g.,
|
||||||
|
@smallexample
|
||||||
|
make prefix=C:\MBCD\MyDevelopment
|
||||||
|
@end smallexample
|
||||||
|
|
||||||
|
@item
|
||||||
|
Type @samp{make install} to install the import libraries, header
|
||||||
|
files, and documentation.
|
||||||
|
@end enumerate
|
28
Documentation/news.texi.orig
Normal file
28
Documentation/news.texi.orig
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
@c -*-texinfo-*-
|
||||||
|
@chapter NEWS
|
||||||
|
|
||||||
|
@ifset TEXT-ONLY
|
||||||
|
@include version.texi
|
||||||
|
@end ifset
|
||||||
|
|
||||||
|
The currently released version of the library is @samp{@value{GNUSTEP-GUI-VERSION}}.
|
||||||
|
|
||||||
|
@section Noteworthy changes in version @samp{0.1.0}
|
||||||
|
|
||||||
|
@itemize @bullet
|
||||||
|
|
||||||
|
@item
|
||||||
|
Integration of the GNUstep X/DPS GUI Backend. This has finally
|
||||||
|
produced a set of core code with can display on X/Windows.
|
||||||
|
Much of the X/Windows code has been written by Pascal Forget
|
||||||
|
@email{pascal@@wsc.com} and integration efforts have been lead by Scott
|
||||||
|
Christley @email{scottc@@net-community.com}.
|
||||||
|
|
||||||
|
@item
|
||||||
|
Some major directory reorganization for the new naming guidelines.
|
||||||
|
Headers previously in AppKit and DPSClient directories have been moved
|
||||||
|
to gnustep/gui and gnustep/dps directores and symbol links are
|
||||||
|
created for the AppKit and DPSClient directories. This should allow
|
||||||
|
both GNUstep and other OpenStep implementations to reside on the
|
||||||
|
same machine without conflicts.
|
||||||
|
@end itemize
|
42
Documentation/readme.texi.orig
Normal file
42
Documentation/readme.texi.orig
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
@c -*-texinfo-*-
|
||||||
|
@chapter README
|
||||||
|
|
||||||
|
@ifset TEXT-ONLY
|
||||||
|
@include version.texi
|
||||||
|
@end ifset
|
||||||
|
|
||||||
|
This is version @value{GNUSTEP-GUI-VERSION} of the GNUstep GUI library (@samp{libgnustep-gui}).
|
||||||
|
|
||||||
|
Here is some introductory info to get you started:
|
||||||
|
|
||||||
|
@section Initial reading
|
||||||
|
|
||||||
|
@itemize @bullet
|
||||||
|
@item
|
||||||
|
The file @file{ANNOUNCE} contains a very brief overview of the library.
|
||||||
|
It also tells you where to get the most recent version.
|
||||||
|
|
||||||
|
@item
|
||||||
|
The file @file{NEWS} has the library's feature history.
|
||||||
|
|
||||||
|
@item
|
||||||
|
The file @file{INSTALL} gives instructions for installing the library.
|
||||||
|
@end itemize
|
||||||
|
|
||||||
|
@section How can you help?
|
||||||
|
|
||||||
|
@itemize @bullet
|
||||||
|
@item
|
||||||
|
Read the projects and questions in the @file{TODO} file. If you can
|
||||||
|
volunteer for any of the projects, or if you have any useful
|
||||||
|
comments send me email! @email{scottc@@net-community.com}
|
||||||
|
|
||||||
|
@item
|
||||||
|
Give me feedback! Tell me what you like; tell me what you think
|
||||||
|
could be better. Send me bug reports.
|
||||||
|
@end itemize
|
||||||
|
|
||||||
|
@noindent
|
||||||
|
Creators rejoice!@*
|
||||||
|
Scott Christley@*
|
||||||
|
@email{scottc@@net-community.com}
|
503
Documentation/status.texi.orig
Normal file
503
Documentation/status.texi.orig
Normal file
|
@ -0,0 +1,503 @@
|
||||||
|
@c -*-texinfo-*-
|
||||||
|
@chapter Status Report
|
||||||
|
|
||||||
|
@ifset TEXT-ONLY
|
||||||
|
@include version.texi
|
||||||
|
@end ifset
|
||||||
|
|
||||||
|
Last updated August 1996. The most up-to-date version of this status
|
||||||
|
report is available at:
|
||||||
|
|
||||||
|
@example
|
||||||
|
@url{http://www.gnustep.org/Documentation/gnustep-gui/gnustep-gui_toc.html}
|
||||||
|
@end example
|
||||||
|
|
||||||
|
Please send corrections to @email{scottc@@net-community.com}.
|
||||||
|
|
||||||
|
@emph{Key:}
|
||||||
|
|
||||||
|
@table @strong
|
||||||
|
@item [10]
|
||||||
|
Complete and tested.
|
||||||
|
@item [8]
|
||||||
|
Missing a few non-core methods, definitely usable.
|
||||||
|
@item [6]
|
||||||
|
Missing several methods, but core is there, usable.
|
||||||
|
@item [4]
|
||||||
|
Begun, but missing core functionality, not usable.
|
||||||
|
@item [2]
|
||||||
|
Skeleton.
|
||||||
|
@item [0]
|
||||||
|
Nothing there.
|
||||||
|
@item [?]
|
||||||
|
Unknown status.
|
||||||
|
@end table
|
||||||
|
|
||||||
|
@section Classes
|
||||||
|
|
||||||
|
Currently none of the classes raise exceptions; and notifications and
|
||||||
|
notifications centers are non-existent.
|
||||||
|
|
||||||
|
@table @strong
|
||||||
|
|
||||||
|
@item NSActionCell:: [9]
|
||||||
|
Should not require any implementation in the
|
||||||
|
backend as it is an abstract class which only defines behaviour. All
|
||||||
|
methods are implemented; the only thing lacking is a test, if needed.
|
||||||
|
|
||||||
|
@item NSApplication:: [6]
|
||||||
|
The event handling is pretty good though it
|
||||||
|
does not take advantage of the NSRunLoop class. Many of the minor
|
||||||
|
methods are implemented. No window ordering is being maintained, and
|
||||||
|
a number of the methods that perform operations on windows are
|
||||||
|
empty. Modal loops are not implemented.
|
||||||
|
|
||||||
|
@item NSBitmapImageRep:: [4]
|
||||||
|
Many of the methods have code, but the
|
||||||
|
class has not been made to work; though, some of this could be due to
|
||||||
|
lack of backend implementation. No compression nor generation of
|
||||||
|
TIFF representations.
|
||||||
|
|
||||||
|
@item NSBox:: [8]
|
||||||
|
Many of the methods have code, but whether the class
|
||||||
|
is usable depends upon how much implementation has been done in the
|
||||||
|
backend.
|
||||||
|
|
||||||
|
@item NSBrowser:: [2]
|
||||||
|
|
||||||
|
@item NSBrowserCell:: [2]
|
||||||
|
|
||||||
|
@item NSButton:: [8]
|
||||||
|
Repeat intervals and key equivalents not
|
||||||
|
implemented. There should be little need for backend implementation
|
||||||
|
as NSButton is mainly behavior; its cell class does all drawing.
|
||||||
|
|
||||||
|
@item NSButtonCell:: [8]
|
||||||
|
Repeat intervals and key equivalents not
|
||||||
|
implemented. Actual ability to use will depend upon backend
|
||||||
|
implementation.
|
||||||
|
|
||||||
|
@item NSCachedImageRep:: [4]
|
||||||
|
All methods are implemented but its unknown if the class works.
|
||||||
|
|
||||||
|
@item NSCell:: [8]
|
||||||
|
No determination of component sizes. Editting
|
||||||
|
text, validating input, represented object, and some other odd and end
|
||||||
|
methods not implemented.
|
||||||
|
|
||||||
|
@item NSClipView:: [2]
|
||||||
|
|
||||||
|
@item NSColor:: [5]
|
||||||
|
Doesn't know the difference between calibrated and
|
||||||
|
device; only supported colorspace is RGB. Maybe usable with backend
|
||||||
|
implementation for basic colors like white, black, red, etc.
|
||||||
|
|
||||||
|
@item NSColorList:: [2]
|
||||||
|
|
||||||
|
@item NSColorPanel:: [2]
|
||||||
|
|
||||||
|
@item NSColorPicker:: [2]
|
||||||
|
|
||||||
|
@item NSColorWell:: [2]
|
||||||
|
|
||||||
|
@item NSControl:: [8]
|
||||||
|
No field editor; doesn't know how to calculate its size.
|
||||||
|
|
||||||
|
@item NSCursor:: [2]
|
||||||
|
|
||||||
|
@item NSCustomImageRep:: [4]
|
||||||
|
All methods are implemented but it is unknown if the class works.
|
||||||
|
|
||||||
|
@item NSDataLink:: [2]
|
||||||
|
|
||||||
|
@item NSDataLinkManager:: [2]
|
||||||
|
|
||||||
|
@item NSDataLinkPanel:: [2]
|
||||||
|
|
||||||
|
@item NSDPSContext:: [6]
|
||||||
|
Enough implementation for the backend to do
|
||||||
|
something useful; most methods that deal specifically with Display
|
||||||
|
Ghostscript are empty.
|
||||||
|
|
||||||
|
@item NSEPSImageRep:: [2]
|
||||||
|
|
||||||
|
@item NSEvent:: [9]
|
||||||
|
All methods implemented except periodic events.
|
||||||
|
|
||||||
|
@item NSFont:: [4]
|
||||||
|
Maintains no AFM or glyph information. Usability
|
||||||
|
depends greatly upon backend implementation.
|
||||||
|
|
||||||
|
@item NSFontManager:: [4]
|
||||||
|
Only primitive capability.
|
||||||
|
|
||||||
|
@item NSFontPanel:: [2]
|
||||||
|
May be usable with backend implementation.
|
||||||
|
|
||||||
|
@item NSForm:: [2]
|
||||||
|
|
||||||
|
@item NSFormCell:: [2]
|
||||||
|
|
||||||
|
@item NSHelpPanel:: [2]
|
||||||
|
|
||||||
|
@item NSImage:: [4]
|
||||||
|
All methods are implemented but it is unknown if the class works.
|
||||||
|
|
||||||
|
@item NSImageRep:: [4]
|
||||||
|
All methods are implemented but it is unknown if the class works.
|
||||||
|
|
||||||
|
@item NSMatrix:: [6]
|
||||||
|
Many methods are implemented but more thorough testing needs to be done.
|
||||||
|
|
||||||
|
@item NSMenu:: [4]
|
||||||
|
Usability greatly depends upon backend implementation.
|
||||||
|
|
||||||
|
@item NSMenuCell:: [4]
|
||||||
|
Usability greatly depends upon backend implementation.
|
||||||
|
|
||||||
|
@item NSOpenPanel:: [6]
|
||||||
|
Usability greatly depends upon backend implementation.
|
||||||
|
|
||||||
|
@item NSPageLayout:: [2]
|
||||||
|
|
||||||
|
@item NSPanel:: [2]
|
||||||
|
|
||||||
|
@item NSPasteboard:: [2]
|
||||||
|
|
||||||
|
@item NSPopUpButton:: [4]
|
||||||
|
Usability greatly depends upon backend implementation.
|
||||||
|
|
||||||
|
@item NSPrinter:: [2]
|
||||||
|
|
||||||
|
@item NSPrintinfo:: [2]
|
||||||
|
|
||||||
|
@item NSPrintOperation:: [2]
|
||||||
|
|
||||||
|
@item NSPrintPanel:: [2]
|
||||||
|
|
||||||
|
@item NSResponder:: [9]
|
||||||
|
Shouldn't require any backend implementation; all methods are implemented.
|
||||||
|
|
||||||
|
@item NSSavePanel:: [6]
|
||||||
|
Usability greatly depends upon backend implementation.
|
||||||
|
|
||||||
|
@item NSScreen:: [6]
|
||||||
|
Knows nothing about window depth, greatly depends upon backend implementation.
|
||||||
|
|
||||||
|
@item NSScroller:: [2]
|
||||||
|
Most behaviour can probably be taken from NSSlider and NSSliderCell.
|
||||||
|
|
||||||
|
@item NSScrollView:: [2]
|
||||||
|
|
||||||
|
@item NSSelection:: [2]
|
||||||
|
|
||||||
|
@item NSSlider:: [4]
|
||||||
|
Usability greatly depends upon backend implementation.
|
||||||
|
|
||||||
|
@item NSSliderCell:: [6]
|
||||||
|
No title or image capability implemented, greatly depends upon backend.
|
||||||
|
|
||||||
|
@item NSSpellChecker:: [2]
|
||||||
|
|
||||||
|
@item NSSpellServer:: [2]
|
||||||
|
|
||||||
|
@item NSSplitView:: [2]
|
||||||
|
|
||||||
|
@item NSText:: [2]
|
||||||
|
Usability greatly depends upon backend implementation.
|
||||||
|
|
||||||
|
@item NSTextField:: [8]
|
||||||
|
Does not properly send text delegate messages.
|
||||||
|
|
||||||
|
@item NSTextFieldCell:: [4]
|
||||||
|
Usability greatly depends upon backend implementation.
|
||||||
|
|
||||||
|
@item NSView:: [6]
|
||||||
|
Maintains subview lists, notification of new
|
||||||
|
window, send resizing messages to subviews. No rotation, scaling, or
|
||||||
|
translation of user coordinate space; coordinate conversion doesn't
|
||||||
|
take user coordinate space into affect, so everything is based upon
|
||||||
|
device coordinate space. Event handling and tracking rectangles
|
||||||
|
implemented. No scrolling capability. No cursor management. No
|
||||||
|
printing, paging, or postscript.
|
||||||
|
|
||||||
|
@item NSWindow:: [4]
|
||||||
|
Most methods not implemented, but maybe usable with backend implementation.
|
||||||
|
|
||||||
|
@item NSWorkspace:: [2]
|
||||||
|
Erich Boleyn has some initial ideas and design.
|
||||||
|
@end table
|
||||||
|
|
||||||
|
@section Protocols
|
||||||
|
|
||||||
|
@table @strong
|
||||||
|
|
||||||
|
@item NSChangeSpelling:: [0]
|
||||||
|
|
||||||
|
@item NSColorPickingCustom:: [0]
|
||||||
|
|
||||||
|
@item NSColorPickingDefault:: [0]
|
||||||
|
|
||||||
|
@item NSDraggingDestination:: [0]
|
||||||
|
|
||||||
|
@item NSDraggingInfo:: [0]
|
||||||
|
|
||||||
|
@item NSDraggingSource:: [0]
|
||||||
|
|
||||||
|
@item NSIgnoreMisspelledWords:: [0]
|
||||||
|
|
||||||
|
@item NSMenuActionResponder:: [0]
|
||||||
|
|
||||||
|
@item NSNibAwaking:: [0]
|
||||||
|
|
||||||
|
@item NSServicesRequests:: [0]
|
||||||
|
|
||||||
|
@end table
|
||||||
|
|
||||||
|
@section Functions
|
||||||
|
|
||||||
|
Very few if any of the functions are implemented; all the functions
|
||||||
|
dealing with drawing will probably be implemented in the backend.
|
||||||
|
Most other functions deal with classes that lack sufficient
|
||||||
|
implementation.
|
||||||
|
|
||||||
|
@subsection Rectangle Drawing Functions
|
||||||
|
@table @strong
|
||||||
|
|
||||||
|
@item Optimize Drawing. [2]
|
||||||
|
|
||||||
|
@deftypefun void NSEraseRect (NSRect @var{aRect} )
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun void NSHighlightRect (NSRect @var{aRect} )
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun void NSRectClip (NSRect @var{aRect} )
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun void NSRectClipList (const NSRect * @var{rects}, int @var{count} )
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun void NSRectFill (NSRect @var{aRect} )
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun void NSRectFillList (const NSRect * @var{rects}, int @var{count} )
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun void NSRectFillListWithGrays (const NSRect * @var{rects}, const float * @var{grays}, int @var{count} )
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@item Draw a Bordered Rectangle. [2]
|
||||||
|
|
||||||
|
@deftypefun void NSDrawButton (NSRect @var{aRect}, NSRect @var{clipRect} )
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun void NSDrawGrayBezel (NSRect @var{aRect}, NSRect @var{clipRect} )
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun void NSDrawGroove (NSRect @var{aRect}, NSRect @var{clipRect} )
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun NSRect NSDrawTiledRects (NSRect @var{boundsRect}, NSRect @var{clipRect}, const NSRectEdge * @var{sides}, const float * @var{grays}, int @var{count} )
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun void NSDrawWhiteBezel (NSRect @var{aRect}, NSRect @var{clipRect} )
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun void NSFrameRect (NSRect @var{aRect} )
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun void NSFrameRectWithWidth (NSRect @var{aRect}, float @var{frameWidth} )
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@end table
|
||||||
|
@subsection Color Functions
|
||||||
|
@table @strong
|
||||||
|
|
||||||
|
@item Get Information About Color Space and Window Depth. [2]
|
||||||
|
|
||||||
|
@deftypefun void {NSWindowDepth *} NSAvailableWindowDepths ( void )
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun NSWindowDepth NSBestDepth (NSString * @var{colorSpace}, int @var{bitsPerSample}, int @var{bitsPerPixel}, BOOL @var{planar}, BOOL * @var{exactMatch})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun int NSBitsPerPixelFromDepth (NSWindowDepth @var{depth})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun int NSBitsPerSampleFromDepth (NSWindowDepth @var{depth})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun {NSString *} NSColorSpaceFromDepth (NSWindowDepth @var{depth})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun int NSNumberOfColorComponents (NSString * @var{colorSpaceName})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun BOOL NSPlanarFromDepth (NSWindowDepth @var{depth})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@item Read the Color at a Screen Position. [2]
|
||||||
|
|
||||||
|
@deftypefun {NSColor *} NSReadPixel (NSPoint @var{location})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@end table
|
||||||
|
@subsection Text Functions
|
||||||
|
@table @strong
|
||||||
|
|
||||||
|
@item Filter Characters Entered into a Text Object. [2]
|
||||||
|
|
||||||
|
@deftypefun {unsigned short} NSEditorFilter (unsigned short @var{theChar}, int @var{flags}, NSStringEncoding @var{theEncoding})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun {unsigned short} NSFieldFilter (unsigned short @var{theChar}, int @var{flags}, NSStringEncoding @var{theEncoding})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@item Calculate or Draw a Line of Text (in Text Object). [2]
|
||||||
|
|
||||||
|
@deftypefun int NSDrawALine (id @var{self}, NSLayInfo * @var{layInfo})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun int NSScanALine (id @var{self}, NSLayInfo * @var{layInfo})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@item Calculate Font Ascender, Descender, and Line Height (in Text Object). [?]
|
||||||
|
|
||||||
|
@deftypefun void NSTextFontInfo (id @var{fid}, float * @var{ascender}, float * @var{descender}, float * @var{lineHeight})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@item Access Text Object's Word Tables. [2]
|
||||||
|
|
||||||
|
@deftypefun {NSData *} NSDataWithWordTable (const unsigned char * @var{smartLeft}, const unsigned char * @var{smartRight}, const unsigned char * @var{charClasses}, const NSFSM * @var{wrapBreaks}, int @var{wrapBreaksCount}, const NSFSM * @var{clickBreaks}, int @var{clickBreaksCount}, BOOL @var{charWrap})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun void NSReadWordTable (NSZone * @var{zone}, NSData * @var{data}, unsigned char ** @var{smartLeft}, unsigned char ** @var{smartRight}, unsigned char ** @var{charClasses}, NSFSM ** @var{wrapBreaks}, int * @var{wrapBreaksCount}, NSFSM ** @var{clickBreaks}, int * @var{clickBreaksCount}, BOOL * @var{charWrap})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@end table
|
||||||
|
@subsection Array Allocation Functions for Use by the NSText Class
|
||||||
|
@table @strong
|
||||||
|
|
||||||
|
@deftypefun {NSTextChunk *} NSChunkCopy (NSTextChunk * @var{pc}, NSTextChunk * @var{dpc})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun {NSTextChunk *} NSChunkGrow (NSTextChunk * @var{pc}, int @var{newUsed})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun {NSTextChunk *} NSChunkMalloc (int @var{growBy}, int @var{initUsed})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun {NSTextChunk *} NSChunkRealloc (NSTextChunk * @var{pc})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun {NSTextChunk *} NSChunkZoneCopy (NSTextChunk * @var{pc}, NSTextChunk * @var{dpc}, NSZone * @var{zone})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun {NSTextChunk *} NSChunkZoneGrow (NSTextChunk * @var{pc}, int @var{newUsed}, NSZone * @var{zone})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun {NSTextChunk *} NSChunkZoneMalloc (int @var{growBy}, int @var{initUsed}, NSZone * @var{zone})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun {NSTextChunk *} NSChunkZoneRealloc (NSTextChunk * @var{pc}, NSZone * @var{zone})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@end table
|
||||||
|
@subsection Imaging Functions
|
||||||
|
@table @strong
|
||||||
|
|
||||||
|
@item Copy an Image. [2]
|
||||||
|
|
||||||
|
@deftypefun void NSCopyBitmapFromGState (int @var{srcGstate}, NSRect @var{srcRect}, NSRect @var{destRect})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun void NSCopyBits (int @var{srcGstate}, NSRect @var{srcRect}, NSPoint @var{destPoint})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@item Render Bitmap Images. [2]
|
||||||
|
|
||||||
|
@deftypefun void NSDrawBitmap (NSRect @var{rect}, int @var{pixelsWide}, int @var{pixelsHigh}, int @var{bitsPerSample}, int @var{samplesPerPixel}, int @var{bitsPerPixel}, int @var{bytesPerRow}, BOOL @var{isPlanar}, BOOL @var{hasAlpha}, NSString * @var{colorSpaceName}, const unsigned char * const @var{data}[5]);
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@end table
|
||||||
|
@subsection Attention Panel Functions
|
||||||
|
@table @strong
|
||||||
|
|
||||||
|
@item Create an Attention Panel without Running It Yet. [2]
|
||||||
|
|
||||||
|
@deftypefun id NSGetAlertPanel (NSString * @var{title}, NSString * @var{msg}, NSString * @var{defaultButton}, NSString * @var{alternateButton}, NSString * @var{otherButton}, @dots{})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@item Create and Run an Attention Panel. [2]
|
||||||
|
|
||||||
|
@deftypefun int NSRunAlertPanel (NSString * @var{title}, NSString * @var{msg}, NSString * @var{defaultButton}, NSString * @var{alternateButton}, NSString * @var{otherButton}, @dots{})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun int NSRunLocalizedAlertPanel (NSString * @var{table}, NSString * @var{title}, NSString * @var{msg}, NSString * @var{defaultButton}, NSString * @var{alternateButton}, NSString * @var{otherButton}, @dots{})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@item Release an Attention Panel. [2]
|
||||||
|
|
||||||
|
@deftypefun void NSReleaseAlertPanel (id @var{panel})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@end table
|
||||||
|
@subsection Services Menu Functions
|
||||||
|
@table @strong
|
||||||
|
|
||||||
|
@item Determine Whether an Item is Included in Services Menus. [2]
|
||||||
|
|
||||||
|
@deftypefun int NSSetShowsServicesMenuItem (NSString * @var{item}, BOOL @var{showService})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun BOOL NSShowsServicesMenuItem (NSString * @var{item})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@item Programmatically Invoke a Service. [2]
|
||||||
|
|
||||||
|
@deftypefun BOOL NSPerformService (NSString * @var{item}, NSPasteboard * @var{pboard})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@item Force Services Menu to Update Based on New Services. [2]
|
||||||
|
|
||||||
|
@deftypefun void NSUpdateDynamicServices (void)
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@end table
|
||||||
|
@subsection Miscellaneous Functions
|
||||||
|
@table @strong
|
||||||
|
|
||||||
|
@item Play the System Beep. [2]
|
||||||
|
|
||||||
|
@deftypefun void NSBeep (void)
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@item Return File-related Pasteboard Types. [2]
|
||||||
|
|
||||||
|
@deftypefun {NSString *} NSCreateFileContentsPboardType (NSString * @var{fileType})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun {NSString *} NSCreateFilenamePboardType (NSString * @var{filename})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun {NSString *} NSGetFileType (NSString * @var{pboardType})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun {NSArray *} NSGetFileTypes (NSArray * @var{pboardTypes})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@item Draw a Distinctive Outline around Linked Data. [2]
|
||||||
|
|
||||||
|
@deftypefun void NSFrameLinkRect (NSRect @var{aRect}, BOOL @var{isDestination})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@deftypefun float NSLinkFrameThickness (void)
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@item Convert an Event Mask Type to a Mask. [2]
|
||||||
|
|
||||||
|
@deftypefun {unsigned int} NSEventMaskFromType (NSEventType @var{type})
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
|
@end table
|
46
Documentation/todo.texi.orig
Normal file
46
Documentation/todo.texi.orig
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
@c -*-texinfo-*-
|
||||||
|
@chapter TODO
|
||||||
|
|
||||||
|
@ifset TEXT-ONLY
|
||||||
|
@include version.texi
|
||||||
|
@end ifset
|
||||||
|
|
||||||
|
@section Projects Looking for Volunteers
|
||||||
|
|
||||||
|
If you think you can do one of these projects, please let me know. Your
|
||||||
|
help is greatly appreciated. Send email to @email{scottc@@net-community.com}.
|
||||||
|
|
||||||
|
@itemize @bullet
|
||||||
|
|
||||||
|
@item
|
||||||
|
Write code! The GNUstep GUI Library is far from complete, so there are
|
||||||
|
plenty of areas awaiting contribution.
|
||||||
|
|
||||||
|
@item
|
||||||
|
Printing architecture. Careful thoughts needs to go into how the
|
||||||
|
printing capabilities can be done in the most portable way, possibly
|
||||||
|
take into consideration systems that don't support the Display
|
||||||
|
Ghostscript System and/or printing to non-Postscript printers.
|
||||||
|
|
||||||
|
@item
|
||||||
|
Drag and drop/pasteboard framework. Is there a way this can be done so
|
||||||
|
that all GNU programs can take advantage of it and not just GNUstep?
|
||||||
|
That would be optimal because GNUstep and non-GNUstep programs would then
|
||||||
|
be able to partially interoperate.
|
||||||
|
|
||||||
|
@item
|
||||||
|
Expand the image handling capabilities beyond OPENSTEP. There is no
|
||||||
|
reason why we must limit ourselves to EPS and TIFF bitmaps, we should
|
||||||
|
have image representations for as many bitmap formats as possible;
|
||||||
|
excluding GIF files which are currently restricted by patents.
|
||||||
|
|
||||||
|
@item
|
||||||
|
The spell server and checker; along with this would be to create an
|
||||||
|
interface with the GNU Dictionary project.
|
||||||
|
|
||||||
|
@item
|
||||||
|
GNUstep window manager. Though not part of the GUI Library per se, an X
|
||||||
|
Window manager that gives the complete desktop the GNUstep look and feel
|
||||||
|
would be a great thing to have.
|
||||||
|
|
||||||
|
@end itemize
|
87
FAQ
Normal file
87
FAQ
Normal file
|
@ -0,0 +1,87 @@
|
||||||
|
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://prep.ai.mit.edu/pub/gnu'
|
||||||
|
|
||||||
|
Pre-release snapshots are available at:
|
||||||
|
|
||||||
|
`ftp://ftp.net-community.com/pub/GNUstep'
|
||||||
|
|
||||||
|
|
127
INSTALL
127
INSTALL
|
@ -1,12 +1,20 @@
|
||||||
This file documents the installation of the GNUstep GUI
|
Installation
|
||||||
Library, `libgnustep-gui'. Copyright (C) 1996 Free Software
|
************
|
||||||
Foundation, Inc. You may copy, distribute, and modify it freely as long
|
|
||||||
as you preserve this copyright notice and permission notice.
|
This file documents the installation of the GNUstep GUI Library,
|
||||||
|
`libgnustep-gui'. Copyright (C) 1996 Free Software Foundation, Inc.
|
||||||
|
You may copy, distribute, and modify it freely as long as you preserve
|
||||||
|
this copyright notice and permission notice.
|
||||||
|
|
||||||
|
This is version 0.1.0 of the GNUstep GUI library.
|
||||||
|
|
||||||
Installing `libgnustep-gui'
|
Installing `libgnustep-gui'
|
||||||
***************************
|
===========================
|
||||||
|
|
||||||
To compile and install `libgnustep-gui':
|
These notes are for a GNU system that can run `./configure'. For
|
||||||
|
Windows NT/95, if you have a working bash shell then you can follow
|
||||||
|
these instructions; otherwise, follow the MediaBook Environment specific
|
||||||
|
instructions below.
|
||||||
|
|
||||||
Here is a quick-and-dirty example of installation commands:
|
Here is a quick-and-dirty example of installation commands:
|
||||||
|
|
||||||
|
@ -14,16 +22,13 @@ Installing `libgnustep-gui'
|
||||||
make
|
make
|
||||||
make install
|
make install
|
||||||
|
|
||||||
Here are more detailed instructions. These notes are for a GNU system
|
Here are more detailed instructions.
|
||||||
that can run ./configure. For Windows NT/95, if you have a working
|
|
||||||
bash shell then you can follow these instructions; otherwise, follow
|
|
||||||
the Windows NT/95 specific instructions below.
|
|
||||||
|
|
||||||
1. Install `gcc'. The library requires gcc version
|
1. Install `gcc'. The library requires gcc version
|
||||||
2.7.0 or later.
|
2.7.0 or later.
|
||||||
|
|
||||||
2. Install 'libgnustep-base'. This library requires the classes in
|
2. Install `libgnustep-base'. This library requires the classes in
|
||||||
the GNUstep Base Library. You must also apply the Objective-C
|
the GNUstep Base Library. You must also apply the Objective-C
|
||||||
Runtime patches to GCC which makes the runtime thread-safe, if
|
Runtime patches to GCC which makes the runtime thread-safe, if
|
||||||
your version of GCC lacks them.
|
your version of GCC lacks them.
|
||||||
|
|
||||||
|
@ -49,12 +54,12 @@ Installing `libgnustep-gui'
|
||||||
To compile the package in a different directory from the one
|
To compile the package in a different directory from the one
|
||||||
containing the source code, you must use a version of make that
|
containing the source code, you must use a version of make that
|
||||||
supports the VPATH variable, such as GNU make. `cd' to the
|
supports the VPATH variable, such as GNU make. `cd' to the
|
||||||
directory where you want the object files and executables to go
|
directory where you want the object files and executables to go and
|
||||||
and run `configure'. `configure' automatically checks for the
|
run `configure'. `configure' automatically checks for the source
|
||||||
source code in the directory that `configure' is in and in `..'.
|
code in the directory that `configure' is in and in `..'. If for
|
||||||
If for some reason `configure' is not in the source code directory
|
some reason `configure' is not in the source code directory that
|
||||||
that you are configuring, then it will report that it can't find
|
you are configuring, then it will report that it can't find the
|
||||||
the source code. In that case, run `configure' with the option
|
source code. In that case, run `configure' with the option
|
||||||
`--srcdir=DIR', where DIR is the directory that contains the
|
`--srcdir=DIR', where DIR is the directory that contains the
|
||||||
source code.
|
source code.
|
||||||
|
|
||||||
|
@ -67,8 +72,8 @@ Installing `libgnustep-gui'
|
||||||
make prefix=/usr/gnu
|
make prefix=/usr/gnu
|
||||||
|
|
||||||
You can specify separate installation prefixes for
|
You can specify separate installation prefixes for
|
||||||
architecture-specific files and architecture-independent files.
|
architecture-specific files and architecture-independent files. If
|
||||||
If you give `configure' the option `--exec_prefix=PATH' or set the
|
you give `configure' the option `--exec_prefix=PATH' or set the
|
||||||
`make' variable `exec_prefix' to PATH, the package will use PATH
|
`make' variable `exec_prefix' to PATH, the package will use PATH
|
||||||
as the prefix for installing programs and libraries. Data files
|
as the prefix for installing programs and libraries. Data files
|
||||||
and documentation will still use the regular prefix. Normally,
|
and documentation will still use the regular prefix. Normally,
|
||||||
|
@ -76,7 +81,7 @@ Installing `libgnustep-gui'
|
||||||
|
|
||||||
You can tell `configure' to figure out the configuration for your
|
You can tell `configure' to figure out the configuration for your
|
||||||
system, and record it in `config.status', without actually
|
system, and record it in `config.status', without actually
|
||||||
configuring the package (creating `Makefile's and perhaps a
|
configuring the package (creating Makefile(s) and perhaps a
|
||||||
configuration header file). To do this, give `configure' the
|
configuration header file). To do this, give `configure' the
|
||||||
`--no-create' option. Later, you can run `./config.status' to
|
`--no-create' option. Later, you can run `./config.status' to
|
||||||
actually configure the package. This option is useful mainly in
|
actually configure the package. This option is useful mainly in
|
||||||
|
@ -116,13 +121,13 @@ Installing `libgnustep-gui'
|
||||||
Libraries to link with, in the form `-lfoo -lbar ...'
|
Libraries to link with, in the form `-lfoo -lbar ...'
|
||||||
|
|
||||||
If you need to do unusual things to compile the package, we
|
If you need to do unusual things to compile the package, we
|
||||||
encourage you to figure out how `configure' could check whether to
|
encourage you to figure out how `configure.in' could check whether
|
||||||
do them, and mail diffs or instructions to the address given in
|
to do them, and mail diffs or instructions to the address given in
|
||||||
the `README' so we can include them in the next release.
|
the `README' so we can include them in the next release.
|
||||||
|
|
||||||
4. Type `make' to compile the package. If you want, you can override
|
4. Type `make' to compile the package. If you want, you can override
|
||||||
the `make' variables `CFLAGS' and `LDFLAGS' like this:
|
the `make' variables `CFLAGS' and `LDFLAGS' like this:
|
||||||
make CFLAGS=-O2 LDFLAGS=-s
|
make CFLAGS=-O2 LDFLAGS=-s
|
||||||
|
|
||||||
5. Type `make install' to install the library, data files, header
|
5. Type `make install' to install the library, data files, header
|
||||||
files, and documentation.
|
files, and documentation.
|
||||||
|
@ -137,47 +142,63 @@ Installing `libgnustep-gui'
|
||||||
if you want to regenerate `configure' using a newer version of
|
if you want to regenerate `configure' using a newer version of
|
||||||
`autoconf'.
|
`autoconf'.
|
||||||
|
|
||||||
Installing on Windows NT/95
|
Installing in the MediaBook environment
|
||||||
***************************
|
=======================================
|
||||||
|
|
||||||
The system requires that you have headers and libraries for
|
The MediaBook environment under Windows NT and Window 95 utilizes the
|
||||||
the WIN32 API and ANSI-C.
|
native shell of the operating systems, so it does not require you to
|
||||||
|
have a `bash' or UNIX-like shell to configure and install the library.
|
||||||
|
The MediaBook environment utilizes the `configure.bat' batch file to
|
||||||
|
configure the package; it creates the `Makefile(s)' by processing a
|
||||||
|
`Makefile.in' with its corresponding `Makefile.sed.nt'.
|
||||||
|
|
||||||
Quick installation instructions:
|
The MediaBook environment should have these environment variables
|
||||||
|
defined for the installation to work.
|
||||||
|
|
||||||
configure
|
*MB_DEV*
|
||||||
make
|
The drive and directory of the development root. For example it
|
||||||
make install
|
may be `C:\MBCD\Development'; it is analogous to `/usr/local' on
|
||||||
|
UNIX systems.
|
||||||
|
|
||||||
Detail installation instructions:
|
*MB_H*
|
||||||
|
The directory name within the development root `MB_DEV' where the
|
||||||
|
header files are stored; e.g. `Headers'.
|
||||||
|
|
||||||
|
*MB_LIB*
|
||||||
|
The directory name within the development root `MB_DEV' where the
|
||||||
|
library files are stored; this tends to be specific to the target
|
||||||
|
operating system, e.g. `Libraries\MS-WIN32'.
|
||||||
|
|
||||||
|
To install the headers and import libraries:
|
||||||
|
|
||||||
|
configure.bat
|
||||||
|
make install
|
||||||
|
|
||||||
|
Here are more detailed instructions.
|
||||||
|
|
||||||
1. Install `gcc'. The library requires gcc version
|
1. Install `gcc'. The library requires gcc version
|
||||||
2.7.0 or later.
|
2.7.0 or later.
|
||||||
|
|
||||||
2. Install 'libgnustep-base'. This library requires the classes in
|
2. Install `libgnustep-base'. This library requires the classes in
|
||||||
the GNUstep Base Library. You must also apply the Objective-C
|
the GNUstep Base Library. You must also apply the Objective-C
|
||||||
Runtime patches to GCC which makes the runtime thread-safe, if
|
Runtime patches to GCC which makes the runtime thread-safe, if
|
||||||
your version of GCC lacks them.
|
your version of GCC lacks them.
|
||||||
|
|
||||||
3. Configure the package for your system. Review the Makefile.sed.nt
|
3. Configure the package for your system. In the directory that this
|
||||||
which is used to process Makefile.in to create a working Makefile.
|
file is in, type `configure.bat'.
|
||||||
Of interest are:
|
|
||||||
|
|
||||||
'lib_installdir' where to install the library file
|
The `configure.bat' batch file processes the `Makefile.in'
|
||||||
'h_installdir' where to install the headers
|
templates with the corresponding `Makefile.sed.nt' sed script file
|
||||||
'sys_libs' WIN32 API and ANSI-C libraries
|
to produce the resultant `Makefile(s)'.
|
||||||
|
|
||||||
4. Run 'configure.bat' to create the Makefile, and the header configuration
|
By default, `make install' will install the package's header files
|
||||||
file 'Headers/gnustep/gui/config.h'
|
into `$(MB_DEV)\$(MB_H)' and the library files in
|
||||||
|
`$(MB_DEV)\$(MB_LIB)'. You should have these environment variables
|
||||||
|
defined before you run `make'. You can change the development root
|
||||||
|
`MB_DEV' by giving a value for the `prefix' variable when you run
|
||||||
|
`make', e.g.,
|
||||||
|
make prefix=C:\MBCD\MyDevelopment
|
||||||
|
|
||||||
5. Type `make' to compile the package. If you want, you can override
|
4. Type `make install' to install the import libraries, header files,
|
||||||
the `make' variables `CFLAGS' and `LDFLAGS' like this:
|
and documentation.
|
||||||
make CFLAGS=-O2 LDFLAGS=-s
|
|
||||||
|
|
||||||
6. Type `make install' to install the library, data files, header
|
|
||||||
files, and documentation.
|
|
||||||
|
|
||||||
7. You can remove the program binaries and object files from the
|
|
||||||
source directory by typing `make clean'. To also remove the
|
|
||||||
Makefile(s), and `config.status' (all the files that `configure'
|
|
||||||
created), type `make distclean'.
|
|
||||||
|
|
22
NEWS
22
NEWS
|
@ -1,21 +1,21 @@
|
||||||
GNUstep GUI Library NEWS
|
NEWS
|
||||||
************************
|
****
|
||||||
|
|
||||||
The currently released version of the library is `0.1.0'
|
The currently released version of the library is `0.1.0'.
|
||||||
|
|
||||||
Noteworthy changes in version `0.1.0'
|
Noteworthy changes in version `0.1.0'
|
||||||
======================================
|
=====================================
|
||||||
|
|
||||||
* Integration of the GNUstep X/DPS GUI Backend. This has finally
|
* Integration of the GNUstep X/DPS GUI Backend. This has finally
|
||||||
produced a set of core code with can display on X/Windows.
|
produced a set of core code with can display on X/Windows. Much
|
||||||
Much of the X/Windows code has been written by Pascal Forget
|
of the X/Windows code has been written by Pascal Forget
|
||||||
<pascal@wsc.com> and integration efforts have been lead by Scott
|
<pascal@wsc.com> and integration efforts have been lead by Scott
|
||||||
Christley <scottc@net-community.com>.
|
Christley <scottc@net-community.com>.
|
||||||
|
|
||||||
* Some major directory reorganization for the new naming guidelines.
|
* Some major directory reorganization for the new naming guidelines.
|
||||||
Headers previously in AppKit and DPSClient directories have been moved
|
Headers previously in AppKit and DPSClient directories have been
|
||||||
to gnustep/gui and gnustep/dps directores and symbol links are
|
moved to gnustep/gui and gnustep/dps directores and symbol links
|
||||||
created for the AppKit and DPSClient directories. This should allow
|
are created for the AppKit and DPSClient directories. This should
|
||||||
both GNUstep and other OpenStep implementations to reside on the
|
allow both GNUstep and other OpenStep implementations to reside on
|
||||||
same machine without conflicts.
|
the same machine without conflicts.
|
||||||
|
|
||||||
|
|
23
README
23
README
|
@ -1,32 +1,31 @@
|
||||||
GNUstep GUI Library README
|
README
|
||||||
**************************
|
******
|
||||||
|
|
||||||
Here is some introductory info to get you started:
|
This is version 0.1.0 of the GNUstep GUI library (`libgnustep-gui').
|
||||||
|
|
||||||
|
Here is some introductory info to get you started:
|
||||||
|
|
||||||
Initial reading
|
Initial reading
|
||||||
===============
|
===============
|
||||||
|
|
||||||
The file `ANNOUNCE' contains a very brief overview of the library.
|
* The file `ANNOUNCE' contains a very brief overview of the library.
|
||||||
It also tells you where to get the most recent version.
|
It also tells you where to get the most recent version.
|
||||||
|
|
||||||
The file `NEWS' has the library's feature history.
|
* The file `NEWS' has the library's feature history.
|
||||||
|
|
||||||
The file `INSTALL' gives instructions for installing the library.
|
* The file `INSTALL' gives instructions for installing the library.
|
||||||
|
|
||||||
How can you help?
|
How can you help?
|
||||||
=================
|
=================
|
||||||
|
|
||||||
* Read the projects and questions in the `TODO' file. If you can
|
* Read the projects and questions in the `TODO' file. If you can
|
||||||
volunteer for any of the projects, or if you have any useful
|
volunteer for any of the projects, or if you have any useful
|
||||||
comments send me email! <scottc@net-community.com>
|
comments send me email! <scottc@net-community.com>
|
||||||
|
|
||||||
* Give me feedback! Tell me what you like; tell me what you think
|
* Give me feedback! Tell me what you like; tell me what you think
|
||||||
could be better. Send me bug reports.
|
could be better. Send me bug reports.
|
||||||
|
|
||||||
* Donate classes. If you write classes that fit in the GNUstep GUI
|
|
||||||
Library framework, I'd be happy to include them.
|
|
||||||
|
|
||||||
Creators rejoice!
|
Creators rejoice!
|
||||||
Scott Christley
|
Scott Christley
|
||||||
scottc@net-community.com
|
<scottc@net-community.com>
|
||||||
|
|
||||||
|
|
420
STATUS
Normal file
420
STATUS
Normal file
|
@ -0,0 +1,420 @@
|
||||||
|
Status Report
|
||||||
|
*************
|
||||||
|
|
||||||
|
Last updated August 1996. The most up-to-date version of this status
|
||||||
|
report is available at:
|
||||||
|
|
||||||
|
`http://www.gnustep.org/Documentation/gnustep-gui/gnustep-gui_toc.html'
|
||||||
|
|
||||||
|
Please send corrections to <scottc@net-community.com>.
|
||||||
|
|
||||||
|
*Key:*
|
||||||
|
|
||||||
|
*[10]*
|
||||||
|
Complete and tested.
|
||||||
|
|
||||||
|
*[8]*
|
||||||
|
Missing a few non-core methods, definitely usable.
|
||||||
|
|
||||||
|
*[6]*
|
||||||
|
Missing several methods, but core is there, usable.
|
||||||
|
|
||||||
|
*[4]*
|
||||||
|
Begun, but missing core functionality, not usable.
|
||||||
|
|
||||||
|
*[2]*
|
||||||
|
Skeleton.
|
||||||
|
|
||||||
|
*[0]*
|
||||||
|
Nothing there.
|
||||||
|
|
||||||
|
*[?]*
|
||||||
|
Unknown status.
|
||||||
|
|
||||||
|
Classes
|
||||||
|
=======
|
||||||
|
|
||||||
|
Currently none of the classes raise exceptions; and notifications and
|
||||||
|
notifications centers are non-existent.
|
||||||
|
|
||||||
|
*NSActionCell:: [9]*
|
||||||
|
Should not require any implementation in the backend as it is an
|
||||||
|
abstract class which only defines behaviour. All methods are
|
||||||
|
implemented; the only thing lacking is a test, if needed.
|
||||||
|
|
||||||
|
*NSApplication:: [6]*
|
||||||
|
The event handling is pretty good though it does not take
|
||||||
|
advantage of the NSRunLoop class. Many of the minor methods are
|
||||||
|
implemented. No window ordering is being maintained, and a number
|
||||||
|
of the methods that perform operations on windows are empty.
|
||||||
|
Modal loops are not implemented.
|
||||||
|
|
||||||
|
*NSBitmapImageRep:: [4]*
|
||||||
|
Many of the methods have code, but the class has not been made to
|
||||||
|
work; though, some of this could be due to lack of backend
|
||||||
|
implementation. No compression nor generation of TIFF
|
||||||
|
representations.
|
||||||
|
|
||||||
|
*NSBox:: [8]*
|
||||||
|
Many of the methods have code, but whether the class is usable
|
||||||
|
depends upon how much implementation has been done in the backend.
|
||||||
|
|
||||||
|
*NSBrowser:: [2]*
|
||||||
|
*NSBrowserCell:: [2]*
|
||||||
|
*NSButton:: [8]*
|
||||||
|
Repeat intervals and key equivalents not implemented. There
|
||||||
|
should be little need for backend implementation as NSButton is
|
||||||
|
mainly behavior; its cell class does all drawing.
|
||||||
|
|
||||||
|
*NSButtonCell:: [8]*
|
||||||
|
Repeat intervals and key equivalents not implemented. Actual
|
||||||
|
ability to use will depend upon backend implementation.
|
||||||
|
|
||||||
|
*NSCachedImageRep:: [4]*
|
||||||
|
All methods are implemented but its unknown if the class works.
|
||||||
|
|
||||||
|
*NSCell:: [8]*
|
||||||
|
No determination of component sizes. Editting text, validating
|
||||||
|
input, represented object, and some other odd and end methods not
|
||||||
|
implemented.
|
||||||
|
|
||||||
|
*NSClipView:: [2]*
|
||||||
|
*NSColor:: [5]*
|
||||||
|
Doesn't know the difference between calibrated and device; only
|
||||||
|
supported colorspace is RGB. Maybe usable with backend
|
||||||
|
implementation for basic colors like white, black, red, etc.
|
||||||
|
|
||||||
|
*NSColorList:: [2]*
|
||||||
|
*NSColorPanel:: [2]*
|
||||||
|
*NSColorPicker:: [2]*
|
||||||
|
*NSColorWell:: [2]*
|
||||||
|
*NSControl:: [8]*
|
||||||
|
No field editor; doesn't know how to calculate its size.
|
||||||
|
|
||||||
|
*NSCursor:: [2]*
|
||||||
|
*NSCustomImageRep:: [4]*
|
||||||
|
All methods are implemented but it is unknown if the class works.
|
||||||
|
|
||||||
|
*NSDataLink:: [2]*
|
||||||
|
*NSDataLinkManager:: [2]*
|
||||||
|
*NSDataLinkPanel:: [2]*
|
||||||
|
*NSDPSContext:: [6]*
|
||||||
|
Enough implementation for the backend to do something useful; most
|
||||||
|
methods that deal specifically with Display Ghostscript are empty.
|
||||||
|
|
||||||
|
*NSEPSImageRep:: [2]*
|
||||||
|
*NSEvent:: [9]*
|
||||||
|
All methods implemented except periodic events.
|
||||||
|
|
||||||
|
*NSFont:: [4]*
|
||||||
|
Maintains no AFM or glyph information. Usability depends greatly
|
||||||
|
upon backend implementation.
|
||||||
|
|
||||||
|
*NSFontManager:: [4]*
|
||||||
|
Only primitive capability.
|
||||||
|
|
||||||
|
*NSFontPanel:: [2]*
|
||||||
|
May be usable with backend implementation.
|
||||||
|
|
||||||
|
*NSForm:: [2]*
|
||||||
|
*NSFormCell:: [2]*
|
||||||
|
*NSHelpPanel:: [2]*
|
||||||
|
*NSImage:: [4]*
|
||||||
|
All methods are implemented but it is unknown if the class works.
|
||||||
|
|
||||||
|
*NSImageRep:: [4]*
|
||||||
|
All methods are implemented but it is unknown if the class works.
|
||||||
|
|
||||||
|
*NSMatrix:: [6]*
|
||||||
|
Many methods are implemented but more thorough testing needs to be
|
||||||
|
done.
|
||||||
|
|
||||||
|
*NSMenu:: [4]*
|
||||||
|
Usability greatly depends upon backend implementation.
|
||||||
|
|
||||||
|
*NSMenuCell:: [4]*
|
||||||
|
Usability greatly depends upon backend implementation.
|
||||||
|
|
||||||
|
*NSOpenPanel:: [6]*
|
||||||
|
Usability greatly depends upon backend implementation.
|
||||||
|
|
||||||
|
*NSPageLayout:: [2]*
|
||||||
|
*NSPanel:: [2]*
|
||||||
|
*NSPasteboard:: [2]*
|
||||||
|
*NSPopUpButton:: [4]*
|
||||||
|
Usability greatly depends upon backend implementation.
|
||||||
|
|
||||||
|
*NSPrinter:: [2]*
|
||||||
|
*NSPrintinfo:: [2]*
|
||||||
|
*NSPrintOperation:: [2]*
|
||||||
|
*NSPrintPanel:: [2]*
|
||||||
|
*NSResponder:: [9]*
|
||||||
|
Shouldn't require any backend implementation; all methods are
|
||||||
|
implemented.
|
||||||
|
|
||||||
|
*NSSavePanel:: [6]*
|
||||||
|
Usability greatly depends upon backend implementation.
|
||||||
|
|
||||||
|
*NSScreen:: [6]*
|
||||||
|
Knows nothing about window depth, greatly depends upon backend
|
||||||
|
implementation.
|
||||||
|
|
||||||
|
*NSScroller:: [2]*
|
||||||
|
Most behaviour can probably be taken from NSSlider and
|
||||||
|
NSSliderCell.
|
||||||
|
|
||||||
|
*NSScrollView:: [2]*
|
||||||
|
*NSSelection:: [2]*
|
||||||
|
*NSSlider:: [4]*
|
||||||
|
Usability greatly depends upon backend implementation.
|
||||||
|
|
||||||
|
*NSSliderCell:: [6]*
|
||||||
|
No title or image capability implemented, greatly depends upon
|
||||||
|
backend.
|
||||||
|
|
||||||
|
*NSSpellChecker:: [2]*
|
||||||
|
*NSSpellServer:: [2]*
|
||||||
|
*NSSplitView:: [2]*
|
||||||
|
*NSText:: [2]*
|
||||||
|
Usability greatly depends upon backend implementation.
|
||||||
|
|
||||||
|
*NSTextField:: [8]*
|
||||||
|
Does not properly send text delegate messages.
|
||||||
|
|
||||||
|
*NSTextFieldCell:: [4]*
|
||||||
|
Usability greatly depends upon backend implementation.
|
||||||
|
|
||||||
|
*NSView:: [6]*
|
||||||
|
Maintains subview lists, notification of new window, send resizing
|
||||||
|
messages to subviews. No rotation, scaling, or translation of
|
||||||
|
user coordinate space; coordinate conversion doesn't take user
|
||||||
|
coordinate space into affect, so everything is based upon device
|
||||||
|
coordinate space. Event handling and tracking rectangles
|
||||||
|
implemented. No scrolling capability. No cursor management. No
|
||||||
|
printing, paging, or postscript.
|
||||||
|
|
||||||
|
*NSWindow:: [4]*
|
||||||
|
Most methods not implemented, but maybe usable with backend
|
||||||
|
implementation.
|
||||||
|
|
||||||
|
*NSWorkspace:: [2]*
|
||||||
|
Erich Boleyn has some initial ideas and design.
|
||||||
|
|
||||||
|
Protocols
|
||||||
|
=========
|
||||||
|
|
||||||
|
*NSChangeSpelling:: [0]*
|
||||||
|
*NSColorPickingCustom:: [0]*
|
||||||
|
*NSColorPickingDefault:: [0]*
|
||||||
|
*NSDraggingDestination:: [0]*
|
||||||
|
*NSDraggingInfo:: [0]*
|
||||||
|
*NSDraggingSource:: [0]*
|
||||||
|
*NSIgnoreMisspelledWords:: [0]*
|
||||||
|
*NSMenuActionResponder:: [0]*
|
||||||
|
*NSNibAwaking:: [0]*
|
||||||
|
*NSServicesRequests:: [0]*
|
||||||
|
Functions
|
||||||
|
=========
|
||||||
|
|
||||||
|
Very few if any of the functions are implemented; all the functions
|
||||||
|
dealing with drawing will probably be implemented in the backend. Most
|
||||||
|
other functions deal with classes that lack sufficient implementation.
|
||||||
|
|
||||||
|
Rectangle Drawing Functions
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
*Optimize Drawing. [2]*
|
||||||
|
- Function: void NSEraseRect (NSRect ARECT )
|
||||||
|
|
||||||
|
- Function: void NSHighlightRect (NSRect ARECT )
|
||||||
|
|
||||||
|
- Function: void NSRectClip (NSRect ARECT )
|
||||||
|
|
||||||
|
- Function: void NSRectClipList (const NSRect * RECTS, int COUNT )
|
||||||
|
|
||||||
|
- Function: void NSRectFill (NSRect ARECT )
|
||||||
|
|
||||||
|
- Function: void NSRectFillList (const NSRect * RECTS, int COUNT )
|
||||||
|
|
||||||
|
- Function: void NSRectFillListWithGrays (const NSRect * RECTS,
|
||||||
|
const float * GRAYS, int COUNT )
|
||||||
|
|
||||||
|
*Draw a Bordered Rectangle. [2]*
|
||||||
|
- Function: void NSDrawButton (NSRect ARECT, NSRect CLIPRECT )
|
||||||
|
|
||||||
|
- Function: void NSDrawGrayBezel (NSRect ARECT, NSRect CLIPRECT )
|
||||||
|
|
||||||
|
- Function: void NSDrawGroove (NSRect ARECT, NSRect CLIPRECT )
|
||||||
|
|
||||||
|
- Function: NSRect NSDrawTiledRects (NSRect BOUNDSRECT, NSRect
|
||||||
|
CLIPRECT, const NSRectEdge * SIDES, const float * GRAYS,
|
||||||
|
int COUNT )
|
||||||
|
|
||||||
|
- Function: void NSDrawWhiteBezel (NSRect ARECT, NSRect CLIPRECT )
|
||||||
|
|
||||||
|
- Function: void NSFrameRect (NSRect ARECT )
|
||||||
|
|
||||||
|
- Function: void NSFrameRectWithWidth (NSRect ARECT, float
|
||||||
|
FRAMEWIDTH )
|
||||||
|
|
||||||
|
Color Functions
|
||||||
|
---------------
|
||||||
|
|
||||||
|
*Get Information About Color Space and Window Depth. [2]*
|
||||||
|
- Function: void NSWindowDepth * NSAvailableWindowDepths ( void )
|
||||||
|
|
||||||
|
- Function: NSWindowDepth NSBestDepth (NSString * COLORSPACE, int
|
||||||
|
BITSPERSAMPLE, int BITSPERPIXEL, BOOL PLANAR, BOOL *
|
||||||
|
EXACTMATCH)
|
||||||
|
|
||||||
|
- Function: int NSBitsPerPixelFromDepth (NSWindowDepth DEPTH)
|
||||||
|
|
||||||
|
- Function: int NSBitsPerSampleFromDepth (NSWindowDepth DEPTH)
|
||||||
|
|
||||||
|
- Function: NSString * NSColorSpaceFromDepth (NSWindowDepth DEPTH)
|
||||||
|
|
||||||
|
- Function: int NSNumberOfColorComponents (NSString *
|
||||||
|
COLORSPACENAME)
|
||||||
|
|
||||||
|
- Function: BOOL NSPlanarFromDepth (NSWindowDepth DEPTH)
|
||||||
|
|
||||||
|
*Read the Color at a Screen Position. [2]*
|
||||||
|
- Function: NSColor * NSReadPixel (NSPoint LOCATION)
|
||||||
|
|
||||||
|
Text Functions
|
||||||
|
--------------
|
||||||
|
|
||||||
|
*Filter Characters Entered into a Text Object. [2]*
|
||||||
|
- Function: unsigned short NSEditorFilter (unsigned short
|
||||||
|
THECHAR, int FLAGS, NSStringEncoding THEENCODING)
|
||||||
|
|
||||||
|
- Function: unsigned short NSFieldFilter (unsigned short THECHAR,
|
||||||
|
int FLAGS, NSStringEncoding THEENCODING)
|
||||||
|
|
||||||
|
*Calculate or Draw a Line of Text (in Text Object). [2]*
|
||||||
|
- Function: int NSDrawALine (id SELF, NSLayInfo * LAYINFO)
|
||||||
|
|
||||||
|
- Function: int NSScanALine (id SELF, NSLayInfo * LAYINFO)
|
||||||
|
|
||||||
|
*Calculate Font Ascender, Descender, and Line Height (in Text Object). [?]*
|
||||||
|
- Function: void NSTextFontInfo (id FID, float * ASCENDER, float
|
||||||
|
* DESCENDER, float * LINEHEIGHT)
|
||||||
|
|
||||||
|
*Access Text Object's Word Tables. [2]*
|
||||||
|
- Function: NSData * NSDataWithWordTable (const unsigned char *
|
||||||
|
SMARTLEFT, const unsigned char * SMARTRIGHT, const
|
||||||
|
unsigned char * CHARCLASSES, const NSFSM * WRAPBREAKS,
|
||||||
|
int WRAPBREAKSCOUNT, const NSFSM * CLICKBREAKS, int
|
||||||
|
CLICKBREAKSCOUNT, BOOL CHARWRAP)
|
||||||
|
|
||||||
|
- Function: void NSReadWordTable (NSZone * ZONE, NSData * DATA,
|
||||||
|
unsigned char ** SMARTLEFT, unsigned char ** SMARTRIGHT,
|
||||||
|
unsigned char ** CHARCLASSES, NSFSM ** WRAPBREAKS, int *
|
||||||
|
WRAPBREAKSCOUNT, NSFSM ** CLICKBREAKS, int *
|
||||||
|
CLICKBREAKSCOUNT, BOOL * CHARWRAP)
|
||||||
|
|
||||||
|
Array Allocation Functions for Use by the NSText Class
|
||||||
|
------------------------------------------------------
|
||||||
|
|
||||||
|
- Function: NSTextChunk * NSChunkCopy (NSTextChunk * PC,
|
||||||
|
NSTextChunk * DPC)
|
||||||
|
|
||||||
|
- Function: NSTextChunk * NSChunkGrow (NSTextChunk * PC, int
|
||||||
|
NEWUSED)
|
||||||
|
|
||||||
|
- Function: NSTextChunk * NSChunkMalloc (int GROWBY, int INITUSED)
|
||||||
|
|
||||||
|
- Function: NSTextChunk * NSChunkRealloc (NSTextChunk * PC)
|
||||||
|
|
||||||
|
- Function: NSTextChunk * NSChunkZoneCopy (NSTextChunk * PC,
|
||||||
|
NSTextChunk * DPC, NSZone * ZONE)
|
||||||
|
|
||||||
|
- Function: NSTextChunk * NSChunkZoneGrow (NSTextChunk * PC, int
|
||||||
|
NEWUSED, NSZone * ZONE)
|
||||||
|
|
||||||
|
- Function: NSTextChunk * NSChunkZoneMalloc (int GROWBY, int
|
||||||
|
INITUSED, NSZone * ZONE)
|
||||||
|
|
||||||
|
- Function: NSTextChunk * NSChunkZoneRealloc (NSTextChunk * PC,
|
||||||
|
NSZone * ZONE)
|
||||||
|
|
||||||
|
Imaging Functions
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
*Copy an Image. [2]*
|
||||||
|
- Function: void NSCopyBitmapFromGState (int SRCGSTATE, NSRect
|
||||||
|
SRCRECT, NSRect DESTRECT)
|
||||||
|
|
||||||
|
- Function: void NSCopyBits (int SRCGSTATE, NSRect SRCRECT,
|
||||||
|
NSPoint DESTPOINT)
|
||||||
|
|
||||||
|
*Render Bitmap Images. [2]*
|
||||||
|
- Function: void NSDrawBitmap (NSRect RECT, int PIXELSWIDE, int
|
||||||
|
PIXELSHIGH, int BITSPERSAMPLE, int SAMPLESPERPIXEL, int
|
||||||
|
BITSPERPIXEL, int BYTESPERROW, BOOL ISPLANAR, BOOL
|
||||||
|
HASALPHA, NSString * COLORSPACENAME, const unsigned char
|
||||||
|
* const DATA[5]);
|
||||||
|
|
||||||
|
Attention Panel Functions
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
*Create an Attention Panel without Running It Yet. [2]*
|
||||||
|
- Function: id NSGetAlertPanel (NSString * TITLE, NSString * MSG,
|
||||||
|
NSString * DEFAULTBUTTON, NSString * ALTERNATEBUTTON,
|
||||||
|
NSString * OTHERBUTTON, ...)
|
||||||
|
|
||||||
|
*Create and Run an Attention Panel. [2]*
|
||||||
|
- Function: int NSRunAlertPanel (NSString * TITLE, NSString *
|
||||||
|
MSG, NSString * DEFAULTBUTTON, NSString *
|
||||||
|
ALTERNATEBUTTON, NSString * OTHERBUTTON, ...)
|
||||||
|
|
||||||
|
- Function: int NSRunLocalizedAlertPanel (NSString * TABLE,
|
||||||
|
NSString * TITLE, NSString * MSG, NSString *
|
||||||
|
DEFAULTBUTTON, NSString * ALTERNATEBUTTON, NSString *
|
||||||
|
OTHERBUTTON, ...)
|
||||||
|
|
||||||
|
*Release an Attention Panel. [2]*
|
||||||
|
- Function: void NSReleaseAlertPanel (id PANEL)
|
||||||
|
|
||||||
|
Services Menu Functions
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
*Determine Whether an Item is Included in Services Menus. [2]*
|
||||||
|
- Function: int NSSetShowsServicesMenuItem (NSString * ITEM, BOOL
|
||||||
|
SHOWSERVICE)
|
||||||
|
|
||||||
|
- Function: BOOL NSShowsServicesMenuItem (NSString * ITEM)
|
||||||
|
|
||||||
|
*Programmatically Invoke a Service. [2]*
|
||||||
|
- Function: BOOL NSPerformService (NSString * ITEM, NSPasteboard
|
||||||
|
* PBOARD)
|
||||||
|
|
||||||
|
*Force Services Menu to Update Based on New Services. [2]*
|
||||||
|
- Function: void NSUpdateDynamicServices (void)
|
||||||
|
|
||||||
|
Miscellaneous Functions
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
*Play the System Beep. [2]*
|
||||||
|
- Function: void NSBeep (void)
|
||||||
|
|
||||||
|
*Return File-related Pasteboard Types. [2]*
|
||||||
|
- Function: NSString * NSCreateFileContentsPboardType (NSString *
|
||||||
|
FILETYPE)
|
||||||
|
|
||||||
|
- Function: NSString * NSCreateFilenamePboardType (NSString *
|
||||||
|
FILENAME)
|
||||||
|
|
||||||
|
- Function: NSString * NSGetFileType (NSString * PBOARDTYPE)
|
||||||
|
|
||||||
|
- Function: NSArray * NSGetFileTypes (NSArray * PBOARDTYPES)
|
||||||
|
|
||||||
|
*Draw a Distinctive Outline around Linked Data. [2]*
|
||||||
|
- Function: void NSFrameLinkRect (NSRect ARECT, BOOL
|
||||||
|
ISDESTINATION)
|
||||||
|
|
||||||
|
- Function: float NSLinkFrameThickness (void)
|
||||||
|
|
||||||
|
*Convert an Event Mask Type to a Mask. [2]*
|
||||||
|
- Function: unsigned int NSEventMaskFromType (NSEventType TYPE)
|
||||||
|
|
36
TODO
Normal file
36
TODO
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
TODO
|
||||||
|
****
|
||||||
|
|
||||||
|
Projects Looking for Volunteers
|
||||||
|
===============================
|
||||||
|
|
||||||
|
If you think you can do one of these projects, please let me know. Your
|
||||||
|
help is greatly appreciated. Send email to <scottc@net-community.com>.
|
||||||
|
|
||||||
|
* Write code! The GNUstep GUI Library is far from complete, so
|
||||||
|
there are plenty of areas awaiting contribution.
|
||||||
|
|
||||||
|
* Printing architecture. Careful thoughts needs to go into how the
|
||||||
|
printing capabilities can be done in the most portable way,
|
||||||
|
possibly take into consideration systems that don't support the
|
||||||
|
Display Ghostscript System and/or printing to non-Postscript
|
||||||
|
printers.
|
||||||
|
|
||||||
|
* Drag and drop/pasteboard framework. Is there a way this can be
|
||||||
|
done so that all GNU programs can take advantage of it and not
|
||||||
|
just GNUstep? That would be optimal because GNUstep and
|
||||||
|
non-GNUstep programs would then be able to partially interoperate.
|
||||||
|
|
||||||
|
* Expand the image handling capabilities beyond OPENSTEP. There is
|
||||||
|
no reason why we must limit ourselves to EPS and TIFF bitmaps, we
|
||||||
|
should have image representations for as many bitmap formats as
|
||||||
|
possible; excluding GIF files which are currently restricted by
|
||||||
|
patents.
|
||||||
|
|
||||||
|
* The spell server and checker; along with this would be to create an
|
||||||
|
interface with the GNU Dictionary project.
|
||||||
|
|
||||||
|
* GNUstep window manager. Though not part of the GUI Library per
|
||||||
|
se, an X Window manager that gives the complete desktop the
|
||||||
|
GNUstep look and feel would be a great thing to have.
|
||||||
|
|
18
Version
18
Version
|
@ -1,15 +1,17 @@
|
||||||
# This file is included in various Makefile's to get version information.
|
# This file is included in various Makefile's to get version information.
|
||||||
|
|
||||||
# The gcc version required to compile the library.
|
# The gcc version required to compile the library.
|
||||||
APPKIT_GCC_VERSION = 2.7.0
|
GNUSTEP_GUI_GCC_VERSION = 2.7.0
|
||||||
|
|
||||||
# The version number of this release.
|
# The version number of this release.
|
||||||
APPKIT_MAJOR_VERSION = 0
|
GNUSTEP_GUI_MAJOR_VERSION = 0
|
||||||
APPKIT_MINOR_VERSION = 1
|
GNUSTEP_GUI_MINOR_VERSION = 1
|
||||||
APPKIT_SUBMINOR_VERSION = 0
|
GNUSTEP_GUI_SUBMINOR_VERSION = 0
|
||||||
APPKIT_VERSION = \
|
GNUSTEP_GUI_VERSION = \
|
||||||
$(APPKIT_MAJOR_VERSION).$(APPKIT_MINOR_VERSION).$(APPKIT_SUBMINOR_VERSION)
|
$(GNUSTEP_GUI_MAJOR_VERSION).$(GNUSTEP_GUI_MINOR_VERSION).$(GNUSTEP_GUI_SUBMINOR_VERSION)
|
||||||
|
|
||||||
APPKIT_FTP_MACHINE = alpha.gnu.ai.mit.edu
|
GNUSTEP_GUI_FTP_MACHINE = prep.ai.mit.edu
|
||||||
APPKIT_FTP_DIRECTORY = gnu
|
GNUSTEP_GUI_FTP_DIRECTORY = pub/gnu
|
||||||
|
GNUSTEP_GUI_SNAP_FTP_MACHINE = ftp.net-community.com
|
||||||
|
GNUSTEP_GUI_SNAP_FTP_DIRECTORY = pub/GNUstep
|
||||||
|
|
||||||
|
|
4
configure
vendored
4
configure
vendored
|
@ -909,7 +909,7 @@ done
|
||||||
ac_given_srcdir=$srcdir
|
ac_given_srcdir=$srcdir
|
||||||
ac_given_INSTALL="$INSTALL"
|
ac_given_INSTALL="$INSTALL"
|
||||||
|
|
||||||
trap 'rm -fr `echo "Makefile Source/Makefile Testing/Makefile Headers/gnustep/gui/config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
|
trap 'rm -fr `echo "Makefile Source/Makefile Testing/Makefile Headers/gnustep/gui/config.h Documentation/Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
|
||||||
|
|
||||||
# Protect against being on the right side of a sed subst in config.status.
|
# Protect against being on the right side of a sed subst in config.status.
|
||||||
sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\\\&%]/\\\\&/g;
|
sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\\\&%]/\\\\&/g;
|
||||||
|
@ -937,7 +937,7 @@ CEOF
|
||||||
EOF
|
EOF
|
||||||
cat >> $CONFIG_STATUS <<EOF
|
cat >> $CONFIG_STATUS <<EOF
|
||||||
|
|
||||||
CONFIG_FILES=\${CONFIG_FILES-"Makefile Source/Makefile Testing/Makefile Headers/gnustep/gui/config.h"}
|
CONFIG_FILES=\${CONFIG_FILES-"Makefile Source/Makefile Testing/Makefile Headers/gnustep/gui/config.h Documentation/Makefile"}
|
||||||
EOF
|
EOF
|
||||||
cat >> $CONFIG_STATUS <<\EOF
|
cat >> $CONFIG_STATUS <<\EOF
|
||||||
for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
|
for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
|
||||||
|
|
|
@ -51,5 +51,5 @@ AC_SUBST(config_include)
|
||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
# Write the Makefiles and configuration files
|
# Write the Makefiles and configuration files
|
||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
AC_OUTPUT(Makefile Source/Makefile Testing/Makefile Headers/gnustep/gui/config.h)
|
AC_OUTPUT(Makefile Source/Makefile Testing/Makefile Headers/gnustep/gui/config.h Documentation/Makefile)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue