Mantis - tweak
Viewing Issue Advanced Details
1469 Any minor always 07-15-05 02:02 07-22-05 22:09
0001469: mouse still considered in croquet window when over a tweak window
this one's a bit hard to describe -

the mouse's current position in the croquet window is still reported to the croquet scenegraph even when the mouse is over a Tweak window.

this is not that big a deal,
except that if there are things going on in the croquet scene which pay attention to mouse movement it's a bit unexpected.

for example i have an MP3 player control widget with 3 buttons
which respond to mouse-over.
if the buttons are partially obscured by a Tweak window,
they still respond to mouse-over, even tho they won't respond to mouse-down.

see screenshots: [^] [^]

07-15-05 02:23   
.. another ramification of this is that the controls change the cursor in response to mouseEnter/mouseLeave, which can happen when the cursor is well within the bounds of the Tweak dialog. this is confusing because the cursor is responding to a mouse-over of an item which can't be seen.
07-15-05 05:37   
Hm... not sure if I like the correct solution. Try this:

    | evt top proj |
    top := self tweakHand playersUnder first asPlayer.
    proj := self tweakWorld activeProject project.
    top == proj ifFalse:[^self].
    evt := self lastEventAsMorphic.
    self mouseMove: evt.
    self mouseOver: evt.

If you like the effect (I didn't) I can make it accessible via preference or so.
07-22-05 01:28   
when i try that,
self tweakWorld activeProject
is nil.

Another example of when this issue can seriously confuse the user
is if you have a menu bar (or other tweak elements) along the top of the croquet window,
and then shift-yellow button to adjust the direction the camera is looking.

if you're trying to look at high up as possible,
you move the mouse into the menu bar, where the camera continues to track it,
but when you release the mouse, the event is lost and you're stuck in camera adjust mode until you do some more clicking.
07-22-05 22:09   
.. just noticed that yellow mouse buttons events are being passed thru as well.

so for example in the croquet0.2 TweakTeapot,
if you open a tweak window on top of croquet and yellow-click in it,
the avatar starts driving.