[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