CLIM mail archive

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

Re: stopping echoing of accepting?



    Date: Fri, 6 Dec 1991 18:25 EST
    From: David Neves <neves@ils.nwu.edu>

    >
    >ACCEPT in development version of CLIM has a :REPLACE-INPUT keyword to
    >which you can supply a value of NIL to prevent echoing when you click
    >on something.  There is no way to cause CLIM not to echo typed input
    >to ACCEPT.
    >
    >
    We wrote our own simple version of accept to get around this problem using
    read-gesture and find-innermost-applicable-presentation. 
    find-innermost-applicable-presentation wants an input context whose
    structure or creation isn't documentated very well in the manual.  The only
    way we could think of creating it was to wrap
    find-innermost-applicable-presentation within with-input-context and using
    the variable *input-context* for the input context.  Is there a better way?

So complicated!  I am surprised you managed to figure out about
*INPUT-CONTEXT* and FIND-INNERMOST-APPLICABLE-PRESENTATION without
noticing that WITH-INPUT-CONTEXT does exactly what you want without
all of this extra hair.  Could you describe what led you to your
implementation, since I have to assume that the documentation must
be very weak here.

Anyway, how about this instead:

(defun accept-no-echo (stream type)
  (with-input-context (type) (object presentation-type)
       ;; If we return from here, it was a non-translator gesture
       (return-from accept-no-echo
	 (values (read-gesture :stream stream) :non-translator))
     (t 
       ;; If we return from here, a it was because of a presentation translator
       (return-from accept-no-echo
	 (values object presentation-type)))))

Not that this is not what I thought you were asking for, since this
doesn't simply "not echo", but rather does not process any keyboard
input in any useful way whatsoever.


0,,

References:

Main Index | Thread Index