[squeak-dev] Unloadable preferences in trunk

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Unloadable preferences in trunk

Andreas.Raab
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



Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Unloadable preferences in trunk

Hannes Hirzel
Andreas Raab wrote:

> 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
>
>
>
>
Updating to the latest version went fine on Ubuntu 9.04!

The category looks neat.

The comment in the Preferences class seemingly needs to be adapted (no
openFactoredPanel method). See screen shot.

Hannes



System-Preferences-Sq3.11-August09.png (95K) Download Attachment