discuss-gnustep
[Top][All Lists]
Advanced

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

Re: ANNOUNCEMENT : Camaelon, GNUstep theme bundle


From: Nicolas Roard
Subject: Re: ANNOUNCEMENT : Camaelon, GNUstep theme bundle
Date: Tue, 22 Apr 2003 01:58:55 +0100

On 2003-04-18 21:56:11 +0000 Fred Kiefer <FredKiefer@gmx.de> wrote:

Hi,

I had a look at Camaelon and I quite like it (most of all the name!). There are 
though a few things that worry me about it. Most of this is the patch to 
integrate it into GNUstep. We cannot redefine functions as NSDrawButton to do 
something different than their specification (and OpenStep and MacOSX here have 
the same), just because you want your buttons not to be filled with gray. If 
you really think that themes need a different behaviour here all the places 
where NSDrawButton and the other functions that you changed are used have to be 
redefined. BTW, judging from the documentation this is what MacOSX does itself.

Yes, I agree, ideally we need that. I just took the easy way here ;-) because
-gui should effectively be redefined (and perhaps not use thoses NSDraw* 
functions but an helper objet for doing the drawing) ... as it's bit of work, 
and as my theme's code was sleeping on my hard disk, I prefered to release it 
even if not perfect rather than wait to complete this redesign. Anyway the 
patch isn't very huge, and I didn't think it should be put in the cvs (with the 
exception of the bundle loading by NSApplication). I also did that to gather 
some comments and to discuss about the theme issue :-)
The changes you made to redefine the system colour list is the other part I 
don't fancy. There is no need for this, you just could supply our own system 
colour list with the colours you want to have. The problem here is perhaps that 
there is still no GNUstep colour list colour picker, so colour list are 
currently not that visible, but they are the way to go for. We really should 
provide a way to create and edit them, so all this other ways to changes 
colours wont be used any more.

In fact I did that because I wanted to have the colors "in" the theme, and not
let the theme bundle manage consistency between themes and normal gnustep (i.e, 
if the user remove the theme, it will still have the theme's color -- perhaps 
not ideal).
Perhaps providing a color list picker is a better approach (the theme will then
only set the wanted color list name, and provide a color list file with that 
name)

BTW, I was also wondering, why you did define all your colours explicitly, but 
this might just be for the same reason.

yep.

I would like to steal a bit of the drawing code from GraphicToolbox, at least 
the gradient drawing, to include it into gui and back. Would this be fine for 
you? We could also restructure the gui drawing methods a bit, to make 
overwriting easier, by spliting them up more. Some years ago I did discuss the 
spliting of the cell border drawing in a seperate method. Of course than a 
theme would have to overwrite internal methods instead of public ones.

Well you could grab this code if you want. But ideally, a restructuration of 
-gui
for helping theme's integration is imho the way to go. For example (even if I 
tried to avoid that as far as possible), I needed to cut'n past entire functions
with basically no theme relation, apart a single line calling for example
a NSDraw* function or filling the background with some (sometimes hardcoded)
color. Cleanly separating the background drawing in (private) methods would
be far better, yes. That's what I want to do anyway ...
--
Nicolas Roard





reply via email to

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