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

IBConnectors.h
[View IBConnectors.h] 
Makefile
 
README
 
Translator.h
[View Translator.h] 
Translator.m
[View Translator.m] 
XmActionCell.m
[View XmActionCell.m] 
XmBox.m
[View XmBox.m] 
XmButton.m
[View XmButton.m] 
XmButtonCell.m
[View XmButtonCell.m] 
XmCell.m
[View XmCell.m] 
XmClipView.m
[View XmClipView.m] 
XmConnector.h
[View XmConnector.h] 
XmConnector.m
[View XmConnector.m] 
XmControl.m
[View XmControl.m] 
XmCustomObject.h
[View XmCustomObject.h] 
XmCustomObject.m
[View XmCustomObject.m] 
XmCustomView.h
[View XmCustomView.h] 
XmCustomView.m
[View XmCustomView.m] 
XmForm.m
[View XmForm.m] 
XmFormCell.m
[View XmFormCell.m] 
XmList.m
[View XmList.m] 
XmMatrix.m
[View XmMatrix.m] 
XmMenu.m
[View XmMenu.m] 
XmMenuCell.m
[View XmMenuCell.m] 
XmNXBrowser.m
[View XmNXBrowser.m] 
XmNXBrowserCell.m
[View XmNXBrowserCell.m] 
XmNXColorWell.m
[View XmNXColorWell.m] 
XmObject.m
[View XmObject.m] 
XmPanel.m
[View XmPanel.m] 
XmPopUpList.m
[View XmPopUpList.m] 
XmResponder.m
[View XmResponder.m] 
XmScrollView.m
[View XmScrollView.m] 
XmScroller.m
[View XmScroller.m] 
XmSlider.m
[View XmSlider.m] 
XmSliderCell.m
[View XmSliderCell.m] 
XmText.m
[View XmText.m] 
XmTextField.m
[View XmTextField.m] 
XmTextFieldCell.m
[View XmTextFieldCell.m] 
XmView.h
[View XmView.h] 
XmView.m
[View XmView.m] 
XmWindow.h
[View XmWindow.h] 
XmWindow.m
[View XmWindow.m] 
archive-def.h
[View archive-def.h] 
makedepend
 
objc/
 
trnib_main.m
[View trnib_main.m] 

README

Nib translator program

   You build this program using NeXT's cc.   However, it links against
the libgnuarchive library which must be built separately.   See the
gnuarchive directory.

The syntax for using the program is:

./trnib <.nib directory> [<outputfile>]

If outputfile is not given, the n input file name with suffix 
changed to .xmib is used.


e.g,

.trnib MatrixTest.nib 


   This program has no documentation apart from this file.

   The purpose of this program is to translate an object archive file
created by the InterfaceBuilder into an object archive file that can
be read with the objcX class library for X/Motif with GNU Objective-C
archiving format.  The way it works is the following...

- For each class we wish to capture, a category extension has been
written.   These are the Xmxxxx.m files.   These categories overwrite
some methods in the NeXT classes so we can capture information.   These
will include objc/typedstream.h from /usr/include AND 
objc/typedstream.h from GNU runtime.  The former will come from NeXT's
Object.h, while the later is needed for the category.

- NXApp reads the .nib file.   The -awake method is sent to each
object so we can capture the list of Windows, Panels, and
CustomObjects in one list and the IBConnectors in another.  The idea
to do this came from someone on usenet after we posted a question on
how to do it.   Regretfully, we've forgotten his name.

- We then send to the list of objects, a message -convertCoordToMotif
if the object implements it.  This method is in the category.  This
method converts the y coordinate to one that works with Motif
coordinate system where x,y =0,0 is upper left.  Also, any minor
adjustments in size is taken care of.

- We then write out with GNU archiving the list of objects and the list
of IBConnenctors using the -write: method implemented in the Category
extension. 

- flush the output stream, close the file and it's done.

   The created GNU object archive file can be read by the
-loadNibFile: method of the Application class in the objcX class
library using the -read: method of each of the classes of that
library.   Obviously, changes to the -write: methods here need to have
corresponding changes to the -read: methods in objcX.

   One compiles this program with cc or gcc.  There are a few warning 
messages about not being able to use precompiled header files with cc.
   
   The translator links to the library ../m68k_obj/libgnuarchive.a 
which can be built separately.

   
   Questions and comments on this program can be directed to me:

	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.