[BUG] MouseClickState
Peace Jerome
peace_the_dreamer at yahoo.com
Mon Jul 26 05:16:16 UTC 2004
The comment in one of the method to handle click,
doubleClick, and drag states:
"Wait until the difference between click,
double-click, or drag gesture is
known, then inform the given morph what transpired.
This message is
sent when the given morph first receives a mouse-down
event. If the
mouse button goes up, then down again within
DoubleClickTime, then
'doubleClick: evt' is sent to the morph. If the mouse
button goes up but
not down again within DoubleClickTime, then the
message 'click: evt' is
sent to the morph. Finally, if the button does not go
up within
DoubleClickTime, then 'drag: evt' is sent to the
morph. In all cases, the
event supplied is the original mouseDown event that
initiated the
gesture. mouseMove: and mouseUp: events are not sent
to the morph
until it becomes the mouse focus, which is typically
done by the client
in its click:, doubleClick:, or drag: methods."
This is NOT what happens. A click is always sent
before a double click event.
DoubleClickTimeout selectors are never sent.
The proof of this is demonstrated by
DoubleClickExampleMorph. Try as hard as you like you
can not get a doubleclick to occur w/o a click
happening first.
Particularly Dramatic is pressing mouse down, up,
down (pause) up. At the pause the mouse click has
registered in the example and then the doulbleckick
registers with the following mouse up. This is not
according to contract or I believe intention. Mouse
click state is doing something wrong,
I've been looking at these methods and trying to
figure whats going on but the logic seem wonderfully
tortured and complex. As Sherlock would say a three
pipe problem.
Yours in service, Jerome Peace
__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - Send 10MB messages!
http://promotions.yahoo.com/new_mail
More information about the Squeak-dev
mailing list
|