Hi
I was reading Pluggable and friends
I identified some patterns.
The respondsTo plague
Examples:
color := self fillStyle asColor.
(self labelMorph respondsTo: #enabled:)
ifTrue: [self labelMorph enabled: self enabled].
(self labelMorph respondsTo: #interactionState:)
ifTrue: [self labelMorph interactionState: self
interactionState]
(self labelMorph respondsTo: #enabled:) ifTrue: [
self labelMorph enabled: aBoolean].
(self enabled not and: [self label isMorph and: [(self label respondsTo:
#enabled:) not]])
by construction a labelObject should be a morph and it should answer enabled:
and the case where this is not the case should be fixed.
Using submorphs to avoid one single inst var makes code quite ugly to read:
labelMorph
"Answer the actual label morph."
self hasSubmorphs ifFalse: [^nil].
self firstSubmorph hasSubmorphs ifFalse: [^nil].
^self firstSubmorph firstSubmorph
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project