Re: Converting Openstep nibs to Cocoa nibs?
Re: Converting Openstep nibs to Cocoa nibs?
- Subject: Re: Converting Openstep nibs to Cocoa nibs?
- From: "b.bum" <email@hidden>
- Date: Sat, 19 Jun 2004 00:21:39 -0700
On Jun 18, 2004, at 6:21 PM, Robert Nicholson wrote:
I was wondering if this is feasible or whether there is a conversion
tool that exists that allows one to covert Openstep nibs to Cocoa
nibs. Are all the Openstep "template" classes available in the runtime
of Cocoa?
Anybody been thru this?
Yes. Before joining Apple, a colleague and I converted 250,000 lines
of ObjC and a boatload of NIBs from NeXTSTEP 3.3 to Mac OS X. I
don't remember the exact number of NIBs, but there were quite a few and
some had upwards of 4,000 or 5,000 objects contained within.
This requires going through OpenStep 4.2 because converting NIBs from
3.3 was only supported on 4.x.
Most NIBs should "just open" on Mac OS X. If you find some NIBs that
are problematic, dig out your Rhapsody and early versions of Mac OS X
and open the NIBs on those platforms. The conversion code is obviously
not something that has garnered a lot of attention over the years. The
closer any two platforms are to each other, the more likely the
conversion will occur without intervention.
You might find that some of the NIBs either don't open or open with
serious complaints that can't be fixed in IB. If that is the case,
you can write an IB palette on the problematic platform (or the
platform immediately before) that massages the problematic NIB files
into shape. This can be done entirely via public API. The palette
can also be used to automate the process (we created an OS 4.2 palette
that would fixup, save, and close any NIB that was opened).
OpenStep 4.2 and NeXTStep 3.3 both work fine under Virtual PC.
Networking can be tricky, but not too bad. Both will interoperate
just fine with a Mac OS X based Netinfo environment.
This may all sound rather tricky, but it really isn't. The most time
consuming part was dealing with custom palette classes that we didn't
want to port.
Note that there are also some differences in the widgets. Size
changes and other attributes are just a bit different between OS 4.2
and Mac OS X. In particular, everyone who ever wrote an NS 3.3 or OS
4.2 app generally created their own tab view. If you have a lot of 'em
to deal with, write a palette on Mac OS X that mimics the homebrew tab
view and subsequently converts 'em to NSTabView.
b.bum
(Who remembers the whole ordeal quite fondly. We also refined a set
of TOPS scripts to add an 8th (7th?) phase that converted OpenStep code
-> Mac OS X. This was mostly a matter of converting various DPS calls
and dealing with a few of the APIs that were still functional at that
point in the history of the AppKit.)
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.