CLIM mail archive


presentations in temporary windows

    Date: Tue, 24 Nov 1992 06:58 EST
    From: Thomas Ruedesheim <>

    I need to display some information in temporary windows, which should
    allow the user to invoke further actions (e.g. by mouse gestures on
    presentations).  The temporary window should be closed when the user
    moves the pointer out of the window.  Commands and presentation actions
    are defined in the command table of *my-frame*.  I tried to implement
    this as follows:

I don't personally think this is good user interface design.  A
preferable technique would be to have an exit box to click on.  That's
just my opinion, although most modern UI toolkits have this behavior.

       (with-menu (s (get-frame-pane *my-frame* 'interactor))
	  (... do the output to stream s ...)
	  (... give the window the right size and expose it ...)
	  (tracking-pointer (s)
	     (... clauses ...))

    1. Is the WITH-MENU macro the right way to build temporary windows that
    allow user interaction via presentations?

Yes, WITH-MENU is fine.

    2. Is the TRACKING-POINTER macro the right way to dispatch user

That's fine, too.

    3. If yes, which tracking-pointer clause would implement the
    pointer-out behavior?

There is no such clause per se.  However, you can probably use the
:MULTIPLE-WINDOWS T option to TRACKING-POINTER, and then write a
:POINTER-MOTION clause that detects when the current window under the
pointer is different from the window S.

In CLIM 2.0, one would probably do this by subclassing CLIM-STREAM-PANE,
creating a window of that type, and writing a HANDLE-EVENT method on the
POINTER-EXIT-EVENT class for the new window type.


Main Index | Thread Index