discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Gorm/Nib compability progress


From: Gregory John Casamento
Subject: Gorm/Nib compability progress
Date: Tue, 10 Jan 2006 23:10:10 -0800 (PST)

All,

Current Progress
==
Nib compatibility is coming along.  I have made a really great strides on the NibCompatibility branch over the past few days.  I have checked in all of my test data in dev-apps/test/gormtest.  

Once nib compatibility is reasonably complete, I will start working on code to import and export nibs into and out of Gorm.   This will obviate nib2gmodel, since it will be possible to directly read/write/translate nib files.   Once keyed coding is more complete for all gui classes and base classes the .gorm file will start using an XML format as well.

The Future of the .gorm format
==
Gorm files are in no danger of going away.   They will not be entirely replaced by the .nib file as gorm will still be the preferred format.   In many cases the gorm format actually contains more data than the .nib format.  Also, it's better for our purposes not to become totally reliant on a format that is not under our control.

Support for other formats
==
One of the things I did when adding nib support was to implement a framework which allows the dynamic addition of UI model loaders.  All that's necessary to register a GUI model loader is to subclass the class GSModelLoader.   This will cause the GSModelLoaderFactory to register this as a class which handles the loading of a GUI in a given format.  Existing loaders are GSGormLoader, GSGModelLoader and GSNibLoader.   It is possible to add additional loaders as described above simply be implementing a loader in your framework.  When it's linked into an application it will be automatically considered based on what "priority" it's given.   All of this is handled using the standard "loadNibNamed:..." methods.

Implementing this framework had two effects:
    1) it allows for the possibility of handling virtually any GUI format
    2) it cleans up the implementation of NSBundleAdditions immensely. :)

Later,

Gregory John Casamento
-- Principal Consultant, Open Logic Corp. (A MD Corp.)
## Maintainer of Gorm (IB Equiv.) for GNUstep.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]