CLIM mail archive

[Prev][Next][Index][Thread]

TRACKING-POINTER :PRESENTATION-BUTTON-PRESS bug?



    Date: Thu, 24 Sep 1992 19:36 EDT
    From: Bill York <york%oakland-hills@lucid.com>

       Date: Thu, 24 Sep 1992 18:42-0400
       From: Scott McKay <SWM@stony-brook.scrc.symbolics.com>

	   Date: Thu, 24 Sep 1992 16:09 EDT
	   From: Rodney Daughtrey <rodney@hsvaic.boeing.com>

	   Running CLIM 1.1, Genera 8.1.1, it seems that the
	   :PRESENTATION-BUTTON-PRESS clause of CLIM:TRACKING-POINTER works for
	   left and right mouse button clicks, but *misses* mouse-middle clicks.

       The :PRESENTATION-BUTTON-PRESS clause goes through the normal
       presentation translator mechanism.  What this means is that the
       sensitivity for a presentation is controlled by the so-called "identity"
       translator, which is the default translator you get for the left mouse
       button.  You also get right button clicks because the "menu" translator
       is applicable whenever "identity"is applicable.

       I know this explanation is probably not very satisfying, but I don't
       really know what to do about it.

	   Evaluating the code below and running (run-test) illustrates the
	   problem.  First click on "Generate A Presentation", and then click on
	   "Track Mouse".  Clicking the mouse-left or mouse-right buttons while
	   the mouse is over the presentation executes the code in the
	   :PRESENTATION-BUTTON-PRESS clause, but mouse-middle clicks are passed
	   on to the :POINTER-BUTTON-PRESS clause.

	   Am I missing something, or is this a bug?  If so, any suggested fixes?

       It's a bug.  I'm not sure exactly how to fix it, although I think I am
       having an idea...

    I think that tracking-pointer should (at least with :context-type t)
    search for the innermost presentation instead of the innermost
    applicable presentation.  That way all presentations would highlight
    and be clickable regardless of the translators that happen to be
    defined.  Scott, if you are looking at this, try changing the three
    calls to frame-find-innermost-applicable-presentation in
    tracking-pointer-internal to calls to (a not-yet-written-but-simple)
    function that just hunts down the output record tree to the lowest
    presentation under the mouse.  What do you think?

Yup, that's exactly what I was going to do.

0,,

References:

Main Index | Thread Index