CLIM mail archive

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

Re: Right-click on gadgets



    Date: Wed, 17 Nov 1993 10:54 EST
    From: Rick Duffy <duffy@pogo.den.mmc.com>

    >> 
    >> What is the simplest CLIM mechanism I can use to allow a
    >> right-click on a gadget in an accept-values pane to trigger
    >> some other command (such as help)?
    >> 
    >
    >CLIM 2.0 does not provide a mechanism to modify the behavior of gadgets
    >implemented by toolkits such as Motif.
    >I am curious to know what sort of functionality (other than help) you want
    >to implement.
    >I wonder how style guide conformance fits in with this.
    >For example, Motif already defines a way of getting help
    >
    >-chris

    I wanted to try to display some stuff to the user via gadgets.  Besides
    being able to change the values, I want to allow the user to gesture to the
    value in some way to express approval or concern.  Right-clicking on the
    gadget itself seemed a direct way to do this.  Though portability and
    conformance to style is a concern, I am experimenting with different, maybe
    new, HCI ideas, so the ability to play with these ideas is really the top
    priority.

    I'm not really trying to change the behavior of the gadget (at least, I
    don't think so).  I just want to provide a menu of choices or something like 
    that when the user right-clicks over a gadget.  I can do all this with a simple
    object, but I liked the idea of being able to see and change values easily,
    and provide other options as well.

I think we all agree that what you want is reasonable, and would be
nice.  But as Chris says, CLIM 2.0 just doesn't provide any such
mechanism.  I can imagine that for many toolkits, it will not be easy
(and may even be impossible) to do so.

One thig you might try is writing an :AROUND method of the HANDLE-EVENT
method for the gadget class you want to specialize:

 (defmethod clim:handle-event :around
	    ((gadget <gadget class>) (event clim:pointer-button-press-event))
   (if (eql (clim:pointer-event-button event) clim:+pointer-right-button+)
       <your stuff here>
       (call-next-method)))
 
I cannot guarantee that this will work for every gadget or on every
platform.  Indeed it may not work at all, but it is worth a try.

References:

Main Index | Thread Index