gnustep-dev
[Top][All Lists]
Advanced

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

Re: Gorm source reorganization


From: Gregory John Casamento
Subject: Re: Gorm source reorganization
Date: Mon, 28 Mar 2005 18:12:23 -0800 (PST)

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 <address@hidden> 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
> address@hidden
> 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.




reply via email to

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