CLIM mail archive

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

Problem using Handle-event



   Date:     Thu, 7 Jul 94 12:43:08 EDT
   From: Nichael Cramer <ncramer@BBN.COM>

   >Subject: Problem using Handle-event
   >Date: Thu, 07 Jul 94 11:39:42 -0400
   >From: martin@cs.rochester.edu
   >
   >CLIM 2.0
   >SUN ACL 4.2
   >
   >We are trying to capture the keyboard input so we can build a string
   >while CLIM is displaying information it reads from the stream.  From
   >reading the manual it looks like we want to specialize handle-event so
   >that it builds the string in addition to whatever else it is doing.
   >The problem is that handle-event does not sem to process anything
   >except pointer-exit and pointer-enter events.  We built a small test
   >application which specialized handle-event to print the type of the
   >event on the window.  The code follows.
   >
   >Does anyone have any suggestions about how to gather up the keyboard
   >input while processing clim commands from another source?  Also, does
   >anyone know what handle-event is supposed to do?
   >
   >	Thanks
   >		Nat

   Martin

   In short you _can't_ get at the events.  The problem is that the
   APPLICATION-PANE that you are using is built on top of the various Clim
   STREAM-ish mixins.  These mixins apparently snatch all the events at a very
   low level.  (The documentation is very vague on this point.)

   If you want to do any of the event-handling you need to build up your own
   gadgets, basically starting with something like SILICA::LEAF-PANE (which is
   crudely analogous to something like tv:WINDOW on the SMBX machines --i.e. a
   raw window that you can draw on and not much else.)

For CLIM stream panes, I think you can probably safely wrap an :AROUND
method on the CLIM-INTERNALS::RECEIVE-GESTURE method.



Main Index | Thread Index