Sounds excellent to me. Imagine a removable Preference class. Stef On Nov 22, 2009, at 5:53 PM, Alain Plantec wrote:
Dear list,
I'm about to integrate some settings in replacement of some preferences, and I would like to have your opinions about the way.
The new setting package make it possible to completely separate a setting value from the setting browser. In fact, the setting browser package should be removeable without any modification elsewhere.
As an example, let's consider the #annotationPanes preference. The only mandatory thing is that there is a class variable or an instance variable of a singleton in the package which owns the setting along with corresponding get/set accessors. For #annotationPanes, I define the #BrowsersHaveAnnotationPane class variable in CodeHolder. In addition, I define CodeHolder class>>browsersHaveAnnotationPane and CodeHolder class>>browsersHaveAnnotationPane:.
In order to be able to manage this setting from the setting browser, we have to define a setting declaration for it. Because the setting browser must be removeable, I would create a new package for it. Let's Tools-Base-Settings be this new package which then includes the CodeHolderSettings class with the following declaration:
CodeHolderSettings class>>browsersHaveAnnotationPaneSetting <setting> ^ (SettingManager newSetting: 'Show annotation pane' translated) parent: #codeBrowsingSettingNode; default: false; target: CodeHolder; setSelector: #browsersHaveAnnotationPane:; getSelector: #browsersHaveAnnotationPane; description: 'If checked then the annotation pane is shown in browsers; it is dynamically updated with useful informations about the code which is currently browsed' translated
Is it ok like that ?
Thanks Alain
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project