All, Please take a look at the branch "build_reorg_branch" in the Gorm directory. The new code organization is much cleaner than before. It's not completed, but the basic structure is there and it builds as it is. I have tried to build it on Windows, but I am running into an issue there related to frameworks (I mailed the list previously about this) which I'm going to write up as a bug.
I will first describe the existing state on the branch and then talk about where I'm heading with each of them. The application has been broken into four separate libraries/frameworks (two existed previously: GormLib and GormObjCHeaderParser): * GormCore - (Library) This contains all of the inspectors and editors which are part of Gorm This is mainly what the built-in palettes needed to reference. * GormLib - (Library) This is an implementation of the InterfaceBuilder framework as defined in this document: http://docs.sun.com/app/docs/doc/802-2110 (oddly neither NeXT, nor Apple has decent docs on this framework), please see the "Interface Builder" API section. The current implementation also includes all of the classes which added in OPENSTEP 4.2 as well as Cocoa. This is the library which facilitates the creation of palettes *outside* of Gorm (such as the ones I'm working on in the dev-libs/palettes directory) * GormObjCHeaderParser - (Library) The header parser. This contains only those classes and extensions to existing classes which are needed to successfully parse headers into Gorm's class manager. * GormPrefs - (Framework) This contains the classes which are used in the preferences panel of Gorm. All of the preference modules and thier .gorm files and other resources are here. Policy concerning Frameworks vs. Libraries: Basically if the code depends on any resources to be present, it's going to be a framework, if not, it'll be a library. Future plans: * GormCore - Currently it is a library, but since it's classes (such as the inspectors) need their .gorm files, it's going to be made into a framework. This is cleaner, in my opinion, as it keeps everything needed to work with it in one place. I want to do some other refactoring before I make it into a framework however. * GormLib - I would like a better name for this. I was considering simply making an "InterfaceBuilder" directory and moving the code there, since that is the framework it implements. Please check out the branch and make any comments or suggestions you feel are appropriate. I would like to get any comments in before I merge it to the baseline in the next few days. Thanks, GJC --- Gregory John Casamento <[EMAIL PROTECTED]> wrote: > All, > > I will write the list Wednesday or Thursday with the results from this. I've > got a fully working prototype of Gorm broken down into four separate > frameworks: > > GormCore -- Internal inspectors and editors > InterfaceBuilder -- What used to be GormLib. InterfaceBuilder.framework is > the > > name of this on MOSX and OPENSTEP, so it's less confusing > > this way. > GormPrefs -- The preferences modules. > GormObjCHeaderParser -- The header parser (I was considering shortening this > to > > Something like GormObjCParser or GSObjCParser, etc. :) > > This results in a very clean build, I believe. I'm going to go ahead and > check these changes in on a branch so that we can all experiment with it > before > I merge it to HEAD/main. > > While I still believe that the heart of the problem discussed previously was > the lack of Windows support for weak symbols, I believe that what I've > ended > up with here is better organized. I'm also considering organizing it to be > compliant with what ProjectCenter.app expects so I can add a PC.project for > those who would like to browse/edit/change (whatever) Gorm code using > ProjectCenter. :) > > Later, GJC > > Gregory John Casamento > -- CEO/President Open Logic Corp. (A MD Corp.) > ## Maintainer of Gorm (IB Equiv.) for GNUstep. > > > _______________________________________________ > Gnustep-dev mailing list > [email protected] > http://lists.gnu.org/mailman/listinfo/gnustep-dev > Gregory John Casamento -- CEO/President Open Logic Corp. (A MD Corp.) ## Maintainer of Gorm (IB Equiv.) for GNUstep. _______________________________________________ Gnustep-dev mailing list [email protected] http://lists.gnu.org/mailman/listinfo/gnustep-dev
