Please do bear in mind having multiple themes concurrently in use.
Whilst we have a theme for the devolopment environment, instances of applications can have their own etc.

Regards, Gary
----- Original Message -----
From: Benjamin
To: Discusses Development of Pharo
Sent: Tuesday, May 14, 2013 4:22 PM
Subject: Re: [Pharo-dev] about theme and friends

Ok, my bad :)

This is a massive refactoring, but indeed, it may be cool :)
Ben

On May 14, 2013, at 5:18 PM, stephane ducasse <stephane.ducasse@free.fr> wrote:


On May 14, 2013, at 5:13 PM, Benjamin <benjamin.vanryseghem.pharo@gmail.com> wrote:

The problem is the overlapping.
For settings, different project do not define the same settings.

But for tools, it's different
By example, Browser, and Nautilus will try to register to default browser.

I'm not talking about this level.
No registration about tools. UITheme does not deal with that. 

The current theme should push to all the widgets that the defaultColor is blue. 




Ben

On May 14, 2013, at 4:55 PM, St�phane Ducasse <stephane.ducasse@inria.fr> wrote:

esteban

I discussed with damien and I think that now I got the solution. In fact the architecture should be the same than the
one of settings.

Every widget should have custom hooks and setter, getter and default values.
The hooks should be annotated or registered seomwhere.
Then the widget code simply uses the hooks normally.

Now a theme changes should push new values onto these hooks.

This will lead to a flow that is totally different. Nobody should write UITheme builder or even Smalltalk ui theme.
I will try to build a small experiment but I'm sure that this is the solution

Nobody call settings nowadays (as it was the case with Preferences in the past).

Stef