[squeak-dev] Preference Pragmas redux

Andreas Raab andreas.raab at gmx.de
Wed Aug 5 04:52:16 UTC 2009


Folks -

I've just pushed a version of preference pragmas into the trunk. With 
preference pragmas, you no longer need to litter Preferences with loose 
methods that confuse Monticello and don't get uninstalled. With 
preference pragmas, you define your preferences locally (for example as 
class variables) and provide an annotation that can be discovered 
automatically. A sample preference looks like here:

MyClass>>samplePref
   <preference: 'Sample Preference'
       category: 'My Application'
       description: 'A sample preference in my application'
       type: #Boolean>
   ^SamplePref

The following types of preferences are currently supported: #Boolean, 
#String, #Number, and #Color. When a preference is changed, the 
accompanying setter method is called.

Preference pragmas will help us get rid of most of the dependencies 
between Preferences and the rest of the world. New preference browsers 
or entire implementations can easily be written without introducing 
unnecessary dependencies by virtue of discovering the annotation.

Cheers,
   - Andreas



More information about the Squeak-dev mailing list