CLIM mail archive

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

Mouse documentation inside a TRACKING-POINTER



I can't figure out a way to provide mouse documentation to the user
while running inside a TRACKING-POINTER form.

On page 360 of the CLIM manual, it says that
CLIM:*POINTER-DOCUMENTATION-OUTPUT* is bound to "a stream to which
pointer documentation should be written".  Inside my application frame
command loop, it is bound to T, which defaults to one of the
application panes in my frame (not the mouse doc stream).  I've also
tried to use the :POINTER-DOCUMENTATION pane type, without success (I
get some error about DUMMY-MOUSE-DOC-PANE, or something like that ---
I can check this out more carefully if needed).

I can get around this by defining my own mouse-doc pane, but I'd
rather not.

I'm not sure, but I think I could solve my problem by using the
:POINTER-DOCUMENTATION keyword to 
DEFINE-PRESENTATION-TO-COMMAND-TRANSLATOR, as follows:

(define-xxx-command (foo) ()
   (tracking-pointer
      <body>))

(define-presentation-type bar ())

(define-presentation-to-command-translator
  foo
  (bar foo application-frame-class
		   :gesture :select
		   :menu nil
		   :echo nil
		   :pointer-documentation ((object stream)
					   (format stream <whatever>)))
  (object)
  `(,object))

but the problem with this is that I need the context of the
TRACKING-POINTER, (i.e. what clause I'm in, local variables, etc) to
decide what to put in the mouse-doc line.  I could possibly (?)
communicate this back to the presentation-to-command-translator 
:POINTER-DOCUMENTATION code with global variables (:-0), but...

Any suggestions?  Can someone suggest a better/alternative/correct way
to do this?

-- Rodney

Rodney Daughtrey           E-mail: rodney@hsvaic.boeing.com
Huntsville AI Center               {major site}!uw-beaver!bcsaic!hsvaic!rodney
Boeing Computer Services   Voice:  (205)-464-4931  Fax: (205)-464-4930



0,,

Follow-Ups:

Main Index | Thread Index