Hello

2013/5/15 stephane ducasse <stephane.ducasse@free.fr>
> Hi,
>
> I was rather thinking of having the theme be a composable factory:
> - for each morph, we would have a factory that would know how to work with that morph. In essence for the GroupBoxMorph, we would have the method below in a GroupBoxFactory.

Why a factory and not just the morph?

In my Presenty it was my conclusion: prototypes is a way to go.
So instead of

UITheme>>newGroupboxIn: aThemedMorph label: aString
� � � � "Answer a groupbox with the given label."

� � � � ^GroupboxMorph new
� � � � � � � � font: self labelFont;
� � � � � � � � cornerStyle: aThemedMorph preferredCornerStyle;
� � � � � � � � hResizing: #spaceFill;
� � � � � � � � vResizing: #spaceFill;
� � � � � � � � label: aString;
� � � � � � � � yourself

You can get

UITheme>>newGroupboxIn: aThemedMorph label: aString
� � � � ^groupboxMorph veryDeepCopy
� � � � � � � � label: aString;
� � � � � � � � yourself

And of course you can make prototype morphs as settings and edit it in SettingsBrowser.

In Presenty I gone very far with this idea