[Pharo-project] A step toward reducing complexity

Tudor Girba tudor.girba at gmail.com
Fri Apr 8 01:19:52 CEST 2011


Hi,

I refactored the GLMUITheme to inherit from UITheme. I followed your steps and fixed a number of other issues. There are still a couple of places to fix (like a remaining orange highlight of the text area), but it is pretty much working.

Cheers,
Doru



On 25 Mar 2011, at 09:08, Tudor Girba wrote:

> Thanks, Doug. This was on my to do list for a long time.
> 
> Just a note: GLMUITheme is part of Glamour. Please do not fork it in Pharo and integrate fixes there because then it will just get messy. I will integrate it in Glamour.
> 
> If you want to evolve it in the context of Pharo, you should rename it an put it in a different package (this would probably make sense anyway).
> 
> Cheers,
> Doru
> 
> 
> On 25 Mar 2011, at 08:44, Stéphane Ducasse wrote:
> 
>> Thanks.
>> May be the windowActiveDropShadowStyle could be just added to the UITheme class?
>> 
>> Open a bug entry and attach code or slice there so that 
>> 	- have a look
>> 	- not forget to integrate the fix.
>> 
>> Stef
>> 
>>> Reduce the complexity of user interface themes
>>> 
>>> In general, user interface themes should inherit directly from UITheme, not
>>> from a chain of themes.  When you have a chain of themes, you are stuck with
>>> the intermediate themes, whether you need/use them or not.  Consider
>>> GLMUITheme.  Currently it is under UIThemeWatery2, which is under
>>> UIThemeWatery, which is under UITheme.
>>> 
>>> Some characteristics inherited from the chain are missing, but in principal,
>>> GLMUITheme can be moved directly under UITheme with just 3 changes.
>>> 
>>> 1. Add an instanceVariable 'windowActiveDropShadowStyle'
>>> 
>>> UITheme subclass: #GLMUITheme
>>> 	instanceVariableNames: 'windowActiveDropShadowStyle'
>>> 	classVariableNames: ''
>>> 	poolDictionaries: ''
>>> 	category: 'Glamour-Morphic-Theme'
>>> 
>>> 2. Add a class method
>>> 
>>> isAbstract
>>> 	"Answer whether the receiver is considered to be abstract."
>>> 	^false
>>> 
>>> 3. Add an instance method
>>> 
>>> windowActiveDropShadowStyle: anObject
>>> 	"Set the value of windowActiveDropShadowStyle"
>>> 	windowActiveDropShadowStyle := anObject
>>> 
>>> 
>>> Because GLMOrangeUITheme inherits these changes, it does not need
>>> modification.  
>>> 
>>> 
>>> --
>>> View this message in context: http://forum.world.st/A-step-toward-reducing-complexity-tp3404504p3404504.html
>>> Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
>>> 
>> 
>> 
> 
> --
> www.tudorgirba.com
> 
> "We are all great at making mistakes."
> 
> 
> 
> 
> 
> 
> 

--
www.tudorgirba.com

"Reasonable is what we are accustomed with."




More information about the Pharo-project mailing list