CLIM mail archive

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

TRACKING-POINTER :PRESENTATION-BUTTON-PRESS bug?



   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?


0,,

Follow-Ups: References:

Main Index | Thread Index