UIHelpTool.st
changeset 1665 f6427f12f173
parent 1663 60bd14266560
child 1669 e6ea33c843a0
equal deleted inserted replaced
1664:782f3bda3c88 1665:f6427f12f173
   853     helpSpec := Dictionary new.
   853     helpSpec := Dictionary new.
   854 
   854 
   855     ((aClass class includesSelector: specSelector)
   855     ((aClass class includesSelector: specSelector)
   856     and: [(helpSpecSuperClass := aClass allSuperclasses detect: [:cls| cls class includesSelector: specSelector] ifNone: nil) notNil])
   856     and: [(helpSpecSuperClass := aClass allSuperclasses detect: [:cls| cls class includesSelector: specSelector] ifNone: nil) notNil])
   857     ifTrue:[                  
   857     ifTrue:[                  
   858         superHelpSpecKeys := helpSpecSuperClass helpSpec keys.
   858         superHelpSpecKeys := (helpSpecSuperClass perform:specSelector) keys.
   859 
   859 
   860         aClass helpSpec keysAndValuesDo:[:key :value |
   860         (aClass perform:specSelector) keysAndValuesDo:[:key :value |
   861             (superHelpSpecKeys includes:key) ifFalse: [
   861             (superHelpSpecKeys includes:key) ifFalse: [
   862                 helpSpec at:key put:value
   862                 helpSpec at:key put:value
   863             ]
   863             ]
   864         ].          
   864         ].          
   865     ].
   865     ].
   925     ifTrue: 
   925     ifTrue: 
   926     [
   926     [
   927         |superclassHelpKeys implementedHelpSpec hasChanged|
   927         |superclassHelpKeys implementedHelpSpec hasChanged|
   928         implementedHelpSpec := Dictionary new.
   928         implementedHelpSpec := Dictionary new.
   929         superclassHelpKeys := (cls superclass respondsTo: specSelector)
   929         superclassHelpKeys := (cls superclass respondsTo: specSelector)
   930             ifTrue:  [cls superclass helpSpec keys]
   930             ifTrue:  [(cls superclass perform:specSelector) keys]
   931             ifFalse: [Array new].
   931             ifFalse: [Array new].
   932 
   932 
   933         cls helpSpec associationsDo: [:h| (superclassHelpKeys includes: h key) 
   933         (cls perform:specSelector) associationsDo: [:h| (superclassHelpKeys includes: h key) 
   934             ifFalse: [implementedHelpSpec at: h key put: h value]].
   934             ifFalse: [implementedHelpSpec at: h key put: h value]].
   935 
   935 
   936         hasChanged := false.
   936         hasChanged := false.
   937         implementedHelpSpec associationsDo: [:h| (helpSpec            includesAssociation: h) ifFalse: [hasChanged := true]].
   937         implementedHelpSpec associationsDo: [:h| (helpSpec            includesAssociation: h) ifFalse: [hasChanged := true]].
   938         helpSpec            associationsDo: [:h| (implementedHelpSpec includesAssociation: h) ifFalse: [hasChanged := true]].
   938         helpSpec            associationsDo: [:h| (implementedHelpSpec includesAssociation: h) ifFalse: [hasChanged := true]].