[squeak-dev] Unloadable preferences in trunk

Andreas Raab andreas.raab at gmx.de
Thu Aug 13 06:57:38 UTC 2009


Folks -

Not sure if you noticed but we're making steady progress towards safe 
unloading of MVC. I did a second round on preferences in the trunk and 
this time I went for UI dependencies. As a consequence, you will find 
that in the latest trunk image there are only four preference related 
classes left in the System package: Preferences, Preference, 
PragmaPreference, and PreferenceExample.

Gone is PreferencePanel which created a host of dependencies. Gone from 
the System package are the view registries, which have been moved into 
PreferenceBrowser. The internal storage of Preferences was slightly 
changed from holding onto PreferenceViewRegistries to instead store a 
type symbol which happen to be the same type symbols used in Pragma 
preferences.

This has two immediate consequences: First, one can now implement 
preference browser/viewer without having to understand the (rather 
complex) lookup and priority scheme utilized by view registries. All you 
need is something that allows modifying a preference based on the type 
of the preference.

Secondly, pretty much the entire preference machinery can now be 
unloaded in one go simply by getting rid of the PreferenceBrowser 
package. The only thing remaining then are the four aforementioned classes.

Cheers,
   - Andreas





More information about the Squeak-dev mailing list