On May 11, 2009, at 11:44 AM, Alain Plantec wrote:
Stéphane Ducasse a écrit :
Thanks this is cool to have such an evaluation. I would love that we start to refactor the system so that at the end we could unload preferences (this would show that the flow of a program does use a preference but does not rely on the class Preference) ok this is exactly the goal here. Replace global preferences by local settings. Setting of the #browsing group can be defined locally in the CodeHolder class or in a new ToolsSetting class created in the Tools package.
good question. I have the impression that local would mean in codeHolder package so may be in CodeHolder
what do you prefer ? alain
Stef
Below are listed all old preferences of the #browsing group. For each one, its name is shown with the comment that we can read from the preference browser. Then I've added and 'action' (remove or keep it). If kept, I've also added a possible new setting declaration.
Could you read it carefully and give your point of view about the desired action. Thanks Alain
------------------------------------------------ ------------------------------------------------
alternativeBrowseIt : "if true cmd-b offers a list of class names matching selection"
action: remove it because this feature is always desired
-----------------------------------
annotationPanes: "if true, a thin horizontal pane is used in browsers"
action: don't know because the annotation pane seems not correctly updated by browsers. However, it is correctly updated by MessageSet.
if kept:
CodeHolder class>>annotationPane
<setting>
^ AnnotationPane ifNil: [AnnotationPane := (SettingManager newSetting: 'Annotation pane') default: false; parent: #browsing; description: 'If true, a thin horizontal annotation pane is used in browsers. When a method is selected, then the pane is updated with useful informations about the method']
-----------------------------------
balloonHelpInMessageLists: "If true, then message-list browsers in Morphic will show balloon help, consisting of the first comment of the method or of a superclass"
action: would remove it. didn't succeed in making it work. Serves as a value for a Morph property #balloonTextSelectorForSubMorphs. This property is used by PluggableListMorph>>list: which has following comment:
"lex doesn't think this is used any longer, but is not yet brave enough to remove it. It should be removed eventually"
------------------------------------
browseWithPrettyPrint "If true, browsers will automatically format their contents"
action: keep it ? CodeHolder class>>browseWithPrettyPrint <setting> ^BrowseWithPrettyPrint ifNil: [BrowseWithPrettyPrint := (SettingManager newSetting: 'Pretty print') default: false; parent: #browsing; description: 'If true, browsers will automatically format their contents']
question: do we really need style for code file out ? (problem: used by Text>>askIfAddStyle: priorMethod req: requestor send by ClassDescription and TraitDescription) ->would introduce a dependence from Text to CodeHolder).
------------------------------------
colorWhenPrettyPrinting:"If true, then when browseWithPrettyPrint is in effect, the pretty-printing will be presented in color" action: remove it ?
No effect anymore on pharo-core browsers
------------------------------------
decorateBrowserButtons: "Governs whether certain buttons, such as the Inheritance button, should bear colors that provide user feedback on their applicability" action: maybe remove it ?
such a feedback is now provided by OB-browser with its icon set.
------------------------------------
diffsInChangeList: "If true, changeList browsers and Versions browsers will open up by default showing diffs, i.e. revealing the differences between successive versions or between the in-memory code and the code on disk"
action: keep it ?
CodeHolder class>>showDifferencesInChangeList <setting> ^ ShowDifferencesInChangeList ifNil: [ShowDifferencesInChangeList := (SettingManager newSetting: 'Show differences in ChangeList') default: true; parent: #browsing; description: 'If true, changeList browsers and Versions browsers will open up by default showing diffs, i.e. revealing the differences between successive versions or between the in-memory code and the code on disk']
------------------------------------
diffsWithPrettyPrint: "if true, displays of source code differences will be pretty-printed first" action: keep it ?
CodeHolder class>>prettyPrintDifferences <setting> ^ PrettyPrintDifferences ifNil: [PrettyPrintDifferences := (SettingManager newSetting: 'Pretty print differences') default: false; parent: #browsing; description: 'if true, displays of source code differences will be pretty-printed first']
------------------------------------
optionalButtons: "If true, then optional buttons will be used in certain standard tools, including browsers, message lists, fileLists, changeLists, and debuggers" action: remove it ? because it is always used
------------------------------------
smartUpdating: "If true, then morphic tools such as browsers and inspectors will keep their contents up to date automatically, so that if something changes anywhere, the change will be reflected everywhere." action: keep it ?
true by default, when do we set this to false ? CodeHolder class>>smartUpdating <setting> ^ SmartUpdating ifNil: [SmartUpdating := (SettingManager newSetting: 'Smart updating') default: true; parent: #browsing; description: 'If true, then morphic tools such as browsers and inspectors will keep their contents up to date automatically, so that if something changes anywhere, the change will be reflected everywhere.']
------------------------------------
useNewDiffToolsForMC: "When enabled the Polymorph diff tools will be used with Monticello. When diabled, the original tools are used." action: remove it ?
Should it be a setting ? What is wrong with the new diff tool ?
------------------------------------
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project