ftp.nice.ch/Attic/openStep/implementation/gnustep/sources/objcX-0.87.tgz#/objcX-0.87/appkit

ActionCell.h
[View ActionCell.h] 
ActionCell.m
[View ActionCell.m] 
AlertPanel.m
[View AlertPanel.m] 
Announce
 
Application.h
[View Application.h] 
Application.m
[View Application.m] 
Box.h
[View Box.h] 
Box.m
[View Box.m] 
Button.h
[View Button.h] 
Button.m
[View Button.m] 
ButtonCell.h
[View ButtonCell.h] 
ButtonCell.m
[View ButtonCell.m] 
Cell.h
[View Cell.h] 
Cell.m
[View Cell.m] 
ClipView.h
[View ClipView.h] 
ClipView.m
[View ClipView.m] 
Control.h
[View Control.h] 
Control.m
[View Control.m] 
Cursor.h
[View Cursor.h] 
CustomObject.h
[View CustomObject.h] 
CustomObject.m
[View CustomObject.m] 
CustomView.h
[View CustomView.h] 
CustomView.m
[View CustomView.m] 
FUTURES
 
FocusStack.h
[View FocusStack.h] 
FocusStack.m
[View FocusStack.m] 
Font.h
[View Font.h] 
FontManager.h
[View FontManager.h] 
FontManager.m
[View FontManager.m] 
Form.h
[View Form.h] 
Form.m
[View Form.m] 
FormCell.h
[View FormCell.h] 
FormCell.m
[View FormCell.m] 
IBConnectors.h
[View IBConnectors.h] 
IBConnectors.m
[View IBConnectors.m] 
Listener.h
[View Listener.h] 
MList.h
[View MList.h] 
MList.m
[View MList.m] 
Makefile.in
 
Matrix.h
[View Matrix.h] 
Matrix.m
[View Matrix.m] 
Menu.h
[View Menu.h] 
Menu.m
[View Menu.m] 
MenuCell.h
[View MenuCell.h] 
MenuCell.m
[View MenuCell.m] 
Motif.h
[View Motif.h] 
NXBitmapImageRep.h
[View NXBitmapImageRep.h] 
NXBitmapImageRep.m
[View NXBitmapImageRep.m] 
NXBrowser.h
[View NXBrowser.h] 
NXBrowser.m
[View NXBrowser.m] 
NXBrowserCell.h
[View NXBrowserCell.h] 
NXBrowserCell.m
[View NXBrowserCell.m] 
NXBundle.h
[View NXBundle.h] 
NXBundle.m
[View NXBundle.m] 
NXCachedImageRep.h
[View NXCachedImageRep.h] 
NXCachedImageRep.m
[View NXCachedImageRep.m] 
NXColorPanel.h
[View NXColorPanel.h] 
NXColorWell.h
[View NXColorWell.h] 
NXColorWell.m
[View NXColorWell.m] 
NXCursor.h
[View NXCursor.h] 
NXCursor.m
[View NXCursor.m] 
NXImage.h
[View NXImage.h] 
NXImage.m
[View NXImage.m] 
NXImageRep.h
[View NXImageRep.h] 
NXImageRep.m
[View NXImageRep.m] 
NXSplitView.h
[View NXSplitView.h] 
NXSplitView.m
[View NXSplitView.m] 
OpenPanel.h
[View OpenPanel.h] 
OpenPanel.m
[View OpenPanel.m] 
PageLayout.h
[View PageLayout.h] 
Panel.h
[View Panel.h] 
Panel.m
[View Panel.m] 
Pasteboard.h
[View Pasteboard.h] 
PopUpList.h
[View PopUpList.h] 
PopUpList.m
[View PopUpList.m] 
PrintInfo.h
[View PrintInfo.h] 
PrintInfo.m
[View PrintInfo.m] 
README
 
Responder.h
[View Responder.h] 
Responder.m
[View Responder.m] 
SavePanel.h
[View SavePanel.h] 
SavePanel.m
[View SavePanel.m] 
ScrollView.h
[View ScrollView.h] 
ScrollView.m
[View ScrollView.m] 
Scroller.h
[View Scroller.h] 
Scroller.m
[View Scroller.m] 
Slider.h
[View Slider.h] 
Slider.m
[View Slider.m] 
SliderCell.h
[View SliderCell.h] 
SliderCell.m
[View SliderCell.m] 
Speaker.h
[View Speaker.h] 
Text.h
[View Text.h] 
Text.m
[View Text.m] 
TextField.h
[View TextField.h] 
TextField.m
[View TextField.m] 
TextFieldCell.h
[View TextFieldCell.h] 
TextFieldCell.m
[View TextFieldCell.m] 
View.h
[View View.h] 
View.m
[View View.m] 
Window.h
[View Window.h] 
Window.m
[View Window.m] 
appkit.c
[View appkit.c] 
appkit.h
[View appkit.h] 
color.h
[View color.h] 
dpsclientwraps.h
[View dpsclientwraps.h] 
graphics.c
[View graphics.c] 
graphics.h
[View graphics.h] 
objcX.h
[View objcX.h] 
objcX.m
[View objcX.m] 
object-ivars.c
[View object-ivars.c] 
object-ivars.h
[View object-ivars.h] 
publicWraps.c
[View publicWraps.c] 
publicWraps.h
[View publicWraps.h] 
screens.h
[View screens.h] 
stdmacros.h
[View stdmacros.h] 
sysparams.h
[View sysparams.h] 
tiff.c
[View tiff.c] 
tiff.h
[View tiff.h] 
timer.h
[View timer.h] 
xmBox.m
[View xmBox.m] 
xmButtonCell.m
[View xmButtonCell.m] 
xmCell.m
[View xmCell.m] 
xmControl.m
[View xmControl.m] 
xmForm.m
[View xmForm.m] 
xmFormCell.m
[View xmFormCell.m] 
xmMenu.m
[View xmMenu.m] 
xmMenuCell.m
[View xmMenuCell.m] 
xmPopUpList.m
[View xmPopUpList.m] 
xmScrollView.m
[View xmScrollView.m] 
xmScroller.m
[View xmScroller.m] 
xmSliderCell.m
[View xmSliderCell.m] 
xmText.m
[View xmText.m] 
xmTextFieldCell.m
[View xmTextFieldCell.m] 
xmView.m
[View xmView.m] 
xmWindow.m
[View xmWindow.m] 
xtApplication.m
[View xtApplication.m] 
xtCell.h
[View xtCell.h] 
xtCell.m
[View xtCell.m] 
xtNXBitmapImageRep.m
[View xtNXBitmapImageRep.m] 
xtNXCachedImageRep.m
[View xtNXCachedImageRep.m] 
xtNXImage.m
[View xtNXImage.m] 
xtNXImageRep.m
[View xtNXImageRep.m] 
xtResponder.h
[View xtResponder.h] 
xtResponder.m
[View xtResponder.m] 

README

   This directory contains an Objective-C class library for X/Motif.
For lack of an imaginative name, we'll call it 'objcX/appkit'.  It was
written with the goal of porting a NeXTSTEP application, to X Windows.
It is not complete enough in this preliminary release to achieve that
goal, but it is quite usable for porting smaller applications or for
developing new applications of modest size.

   Since our background in developing GUI applications is with
NeXTSTEP, this class library strongly resembles the AppKit component
of it.  However, what has been implemented is only a fraction of the
AppKit.  It does not support Display PostScript, rich text,
drag-and-drop, pasteboard, services, or many other components that
make up the NeXTSTEP environment.

   Although limited compared to NeXT's AppKit, this class library does
provide an Objective-C wrapper to Motif widgets.  As such, it is
possible to write an application using it with no knowledge of X
windows or Motif.  That is, all the GUI objects of an application,
such as buttons, sliders, text fields, etc, are instances of
Objective-C classes.  All the details of managing a Motif widgets and
call-back functions are encapsulated in these objects.  In developing
an application, one deals with Objective-C objects rather then with
Motif or X windows.

   With this release, we have absolutely no documentation apart from
this file.  However, each of the methods that are implemented behave
like their corresponding AppKit method where it makes sense under X
Windows.  Some additional methods were needed that have no meaning
under NeXTSTEP.

   This is a rough outline on the design of the library.  The are
three main components of the class hierarchy...


                             Object
                                |
              ---------------------------------------
              |                                     |
           Responder                               Cell
              |                                     |
   ---------------------
   |                   |
 Window               View
   |                   |


Although with X Windows, every widget is a window, the Window
hierarchy in objcX is used to encapsulate main windows and popup
windows like a file selector panel.  The View class hierarchy is used
to encapsulate windows that are children of a main window such as
buttons, sliders, text fields, etc.   The Responder class manages the
argument list that will be used when a widget is finally created.

The Cell hierarchy manages widgets such as buttons and sliders.   The
Button class in the View hierarchy contains a ButtonCell.   The reason
for doing it this way is to allow having a matrix of buttons by using
the Matrix class which is a subclass of View.

   Many classes are incomplete compared to their AppKit counterparts.
Some classes produce widgets of the wrong size, others look ugly.
Some of the classes are implemented in a clumsy way.  Much work needs
to be done.  If you would like to contribute towards the development
of this library, please contact me.

   The developers of this library would like to contribute it as GNU
software.  However, since it is built on Motif, and Motif is not free
software, the library can not be GNU software.  However, the library
is not strongly tied to Motif widgets.  All code that references 
Motif are in the xm*.m category files.  If you would like to
contribute replacing the Motif widgets with ones based on free
software please contact me.

   Some porting notes:
   
- on IRIX, one must explicitly link all the object files.   The IRIX
linker will not pull in the object files from a library correctly.

- With Bluestone motif1.2 for Sparc. one has to comment the line 
extern XIM XmImGetXIM( Widget w) ;


    Paul Kunz
    Paul_Kunz@slac.stanford.edu
    Stanford Linear Accelerator Center
    Stanford University

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.