I just thought I would give everyone a brief update of what has been going on over the last few weeks with Gorm and nib support. Here are some of the more important points:
1) Gorm has been refactored to properly use the NSDocument* classes.
2) GormDocument no longer derives from GSNibContainer, but now contains an id which implements the GSNibContainer protocol. Both GSNibContainer (the gorm container) and NSIBObjectData (the nib container) implement this interface.
3) Gorm has, internally, been made agnostic with respect to the format being loaded or saved. This knowledge is now encapsulated into Loader and Builder
classes which load the GormDocument data structures or write the data structures of different formats out as needed. This mechanism is similar to the one in AppKit which
allows extension of the nib loading architecture using bundles. Similarly this can be easily extended by adding a new loader or builder to a palette so that Gorm will autmatically recognize a new format.
4) The GSNibContainer (the class which is the container for .gorm files) has been revised to version 2. This change should be transparent in most cases. I have added the necessary changes in Gorm.app to save .gorms which are still compatible with previous versions of GNUstep.
Things still pending:
1) A nib builder class so that Gorm can actually produce nibs for use on Mac OS X.
* This is going to be a more difficult task than the ready since I will basically be shooting in the dark when trying to debug GNUstep nibs being loaded on OS X.
Nib support still has some bugs and I am working on them, but please feel free let me know about any bugs you find.