LinkButton.st
changeset 5111 ce09771c85a9
parent 5110 dd99c089bf65
child 5115 a12ef0cc7ce0
child 5478 ac5fa8f12f47
--- a/LinkButton.st	Mon May 16 14:59:15 2016 +0200
+++ b/LinkButton.st	Tue May 17 00:01:55 2016 +0200
@@ -114,7 +114,7 @@
 !LinkButton methodsFor:'accessing'!
 
 actionAt:aPoint
-    |pressAction emphasis|
+    |pressAction emphasis pointInLabel|
 
     pressAction := self pressAction ifNil:[ self releaseAction ].
     pressAction isNil ifTrue:[
@@ -123,7 +123,19 @@
     labelsAndActions isNil ifTrue:[
         "take action from logo, which is normally a text with an action-emphasis"
         logo notNil ifTrue:[
-            emphasis := logo emphasisAtPoint:(aPoint - (labelOriginX@labelOriginY)) on:self. 
+            pointInLabel := (aPoint - (labelOriginX@labelOriginY)).
+            logo isStringCollection ifTrue:[
+                |lineIndex line pointInLine|
+
+                lineIndex := (pointInLabel y // self font height) + 1.
+                line := logo at:lineIndex ifAbsent:nil.
+                line notNil ifTrue:[
+                    pointInLine := pointInLabel - (0 @ ((lineIndex - 1) * self font height)).
+                    emphasis := line emphasisAtPoint:pointInLine on:self. 
+                ].    
+            ] ifFalse:[    
+                emphasis := logo emphasisAtPoint:pointInLabel on:self. 
+            ].
             (emphasis isNil or:[emphasis isSymbol]) ifTrue:[
                 ^ pressAction.
             ].