--- a/ActiveHelp.st Mon Nov 02 15:54:16 2009 +0100
+++ b/ActiveHelp.st Wed Nov 04 10:57:39 2009 +0100
@@ -355,8 +355,12 @@
buttonMotion:buttonAndModifierState x:x y:y view:aView
"handle motion events - prepare to show help"
+ |realViewUnderCursor realP|
+
buttonAndModifierState == 0 ifTrue:[
- self handleMouseIn:aView x:x y:y.
+ realViewUnderCursor := aView device viewFromPoint:(aView pointerPosition).
+ realP := aView device translatePoint:(x@y) fromView:aView toView:realViewUnderCursor.
+ self handleMouseIn:realViewUnderCursor x:realP x y:realP y.
].
^ false
!
@@ -393,12 +397,13 @@
].
"/ if there is a sensor, let the view do it itself (in its process)
- sensor := aView sensor.
- sensor notNil ifTrue:[
- sensor flushEventsFor:self withType:#initiateHelpFor:at:.
- sensor
- pushUserEvent:#initiateHelpFor:at: for:self
- withArguments:(Array with:aView with:(x @ y)).
+ (self targetViewInitiatesHelpViaSensor
+ and:[ (sensor := aView sensor) notNil ])
+ ifTrue:[
+ sensor flushEventsFor:self withType:#initiateHelpFor:at:.
+ sensor
+ pushUserEvent:#initiateHelpFor:at: for:self
+ withArguments:(Array with:aView with:(x @ y)).
] ifFalse:[
self initiateHelpFor:aView at:(x @ y).
]
@@ -580,6 +585,13 @@
"Created: / 26.10.1997 / 23:28:52 / cg"
"Modified: / 8.8.1998 / 13:36:19 / cg"
+!
+
+targetViewInitiatesHelpViaSensor
+ "true if the target view is asked to show the help via the sensor;
+ false, if I do it myself synchronously."
+
+ ^ true
! !
!ActiveHelp methodsFor:'queries'!
@@ -723,11 +735,11 @@
!ActiveHelp class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libview2/ActiveHelp.st,v 1.64 2009-11-02 12:59:30 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libview2/ActiveHelp.st,v 1.65 2009-11-04 09:57:39 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libview2/ActiveHelp.st,v 1.64 2009-11-02 12:59:30 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libview2/ActiveHelp.st,v 1.65 2009-11-04 09:57:39 cg Exp $'
! !
ActiveHelp initialize!