# HG changeset patch # User Claus Gittinger # Date 1482348206 -3600 # Node ID 177a52729a2209a1248ed4823cd50e2cf35c2709 # Parent 4bd3866a0f4029c765960e36fa65d14f2da5b296 #FEATURE by cg class: UIHelpTool added: #alternativeSpecSelectors changed: #loadFromClass: check if there is no helpSpec method, but instead a flyByHelp. Then load/save into from/that spec method. diff -r 4bd3866a0f40 -r 177a52729a22 UIHelpTool.st --- a/UIHelpTool.st Mon Dec 12 23:28:30 2016 +0100 +++ b/UIHelpTool.st Wed Dec 21 20:23:26 2016 +0100 @@ -518,6 +518,12 @@ !UIHelpTool methodsFor:'accessing'! +alternativeSpecSelectors + "returns a set of alternative spec method selectors of the resource spec" + + ^ #( flyByHelpSpec tooltipSpec ) +! + helpKey "returns the helpKey (symbol) or nil " @@ -712,7 +718,7 @@ "reads the help dictionary from aClass and find remaining classes 'between' aClass and ApplicationModel " - |lastContents root list helpSpecSelector| + |lastContents root list helpSpecSelector alternativeSelector| (specClass notNil and:[specClass == aClass]) ifTrue:[ ^ self. @@ -721,6 +727,16 @@ helpSpecSelector := self specSelector. specClass := self getHelpSpecClassFromClass:aClass. + aClass notNil ifTrue:[ + (aClass theMetaclass implements:helpSpecSelector) ifFalse:[ + alternativeSelector := (self alternativeSpecSelectors ? #()) detect:[:sel | aClass theMetaclass implements:sel] ifNone:nil. + alternativeSelector notNil ifTrue:[ + helpSpecSelector := specSelector := alternativeSelector. + specClass := aClass. + ]. + ]. + ]. + list := OrderedCollection new. (specClass isClass and:[specClass isLoaded]) ifTrue:[