Next Prev Up Top Contents Index

16.1.1 Operators for Input Editing

interactive-stream-p [Generic Function]

Arguments: object

Summary: Returns t if object is an interactive stream, that is, a bidirectional stream intended for user interactions. Otherwise it returns nil . This is exactly the same function as in X3J13 Common Lisp, except that in CLIM it is a generic function.

The input editor is only fully implemented for interactive streams.

input-editing-stream [Protocol Class]	

Summary: The protocol class that corresponds to an input editing stream. If you want to create a new class that behaves like an input editing stream, it should be a subclass of input-editing-stream . Subclasses of input-editing-stream must obey the input editing stream protocol.

input-editing-stream-p [Function]	

Arguments: object

Summary: Returns t if object is an input editing stream (that is, a stream of the sort created by a call to with-input-editing ), otherwise returns nil .

standard-input-editing-stream

Summary: The class that implements CLIM's standard input editor. This is the class of stream created by calling with-input-editing .

Members of this class are mutable.

with-input-editing [Macro]	

Arguments: ( &optional stream &key input-sensitizer initial-contents) &body body

Summary: Establishes a context in which the user can edit the input typed in on the interactive stream stream . body is then executed in this context, and the values returned by body are returned as the values of with-input-editing . body may have zero or more declarations as its first forms.

The stream argument is not evaluated, and must be a symbol that is bound to an input stream. If stream is t (the default), *query-io* is used. If stream is a stream that is not an interactive stream, then with-input-editing is equivalent to progn .

input-sensitizer , if supplied, is a function of two arguments, a stream and a continuation function; the function has dynamic extent. The continuation, supplied by CLIM, is responsible for displaying output corresponding to the user's input on the stream. The input-sensitizer function will typically call with-output-as-presentation in order to make the output produced by the continuation sensitive.

If initial-contents is supplied, it must be either a string or a list of two elements, an object and a presentation type. If it is a string, it will be inserted into the input

buffer using replace-input . If it is a list, the printed representation of the object will be inserted into the input buffer using presentation-replace-input .

with-input-editor-typeout [Macro]	

Arguments: ( &optional stream) &body body

Summary: Establishes a context inside of with-input-editing in which output can be done by body to the input editing stream stream . with-input-editor-typeout should call fresh-line before and after evaluating the body. body may have zero or more declarations as its first forms.

The stream argument is not evaluated, and must be a symbol that is bound to a stream. If stream is t (the default), *query-io* is used. If stream is a stream that is not an input editing stream, then with-input-editor-typeout is equivalent to calling fresh-line , evaluating the body, and then calling fresh-line again.


CommonLisp Interface Manager 2.0 User's Guide - 8 Aug 2003

Next Prev Up Top Contents Index