[Top][All Lists]

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

Re: Look and Feel

From: Gregory John Casamento
Subject: Re: Look and Feel
Date: Sat, 19 Feb 2005 07:38:05 -0800 (PST)


--- Richard Frith-Macdonald <address@hidden> wrote:

> That being said, if I was writing a theme engine, I'd do it entirely 
> separately to start with ... and only when it was stable would I start 
> to gradually merge features into the gui code where it helps 
> performance and avoids code duplication.  The -poseAs: feature of ObjC 
> is great here.

It should be noted that poseAs: is a somewhat dangerous thing to use.  
Camaelon 1's use of poseAs: made caused problems with encoding in Gorm since it
altered the class name used for images (from NSImage to Image).   Subseqeuntly,
the resulting .gorm file couldn't be loaded by people who didn't have the theme
engine running because of this. :)   This is detailed in 

Anytime you use poseAs: to replace class A with class B, especially in the case
where of a "user bundle" which may alter the existing functionality in gnustep,
it's necessary to also use -classForCoder in class B to ensure that class A is
properly encoded.

I have recently introduced some checks in Gorm for this which will warn the
user about these potential problems if user bundles are loaded.   There is also
a default for Gorm now called "AllowUserBundles" which will turn the warnings

Later, GJC

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]