A string or
t, nil or
A list specifying the modes of the editor buffer.
A string, an editor buffer or the keyword
A flag determining whether the editor pane has an Echo Area.
An integer specifying the fill length, or
A non-keyword symbol.
t or the keyword
Changes the editor face that is used by editor-pane-default-composition-callback to display the composition string. The default value is
controls how user input affects the
editor-pane. If enabled is
nil, all input from the mouse and keyboard is ignored. When enabled is
t, all input is processed according to the
:read-only, input to the pane by keyboard or mouse gestures cannot change the text. More accurately, input via the default
of editor-pane cannot change the text. The
menu entries are also disabled. When a user tries to change the text, the operation quietly aborts. Programmatic modifications of the text are still allowed (see Notes below for more detail).
The pane stores text in buffers which are uniquely named, and so to create an
editor-pane using an existing buffer you should pass the
. To create an
editor-pane with a new buffer, use either
or a non-empty
string or a
that does not match any existing buffer.
can also be the keyword
:temp. In this case the
editor-pane will be created with a temporary buffer that will go away when the
editor-pane is Garbage Collected (it is created by
A non-empty string value of
specifies the initial text displayed and forces the creation of a new buffer. The accessor
editor-pane-text is provided to read and write the text in the editor buffer.
allows you to specify the initial major mode and minor modes of the
editor-pane's buffer. It should be a list of the form
). See the
LispWorks Editor User Guide
for a description of major and minor modes in the LispWorks editor.
is used only when the CAPI creates the buffer, and not when it reuses a buffer.
is non-nil, the editor pane tries to form lines of length close to, but no more than,
. It does this by forcing line breaks at spaces between words.
The cursor in an
editor-pane blinks on and off by the mechanism described in editor-pane-blink-rate.
if non-nil, should be a function which is called whenever the editor buffer under the
editor-pane changes. For the details see Editor pane callbacks.
specifies the marker to display at the end of a line that is wrapped to the next line, or truncated if
nil. The value must be a
nil (which is interpreted as
#\Space). The default value is the value of *default-editor-pane-line-wrap-marker*. The value can be read by
specifies a face to use when displaying the
. The argument can be
editor:face object (the result of a call to
editor:make-face), or a symbol naming a face (that is, the first argument to
The default value of
is an internal symbol naming a face. The value can be accessed by
editor-pane-line-wrap-face. The default face can be modified in the LispWorks IDE via
Tools > Preferences... > Environment > Styles > Colors and Attributes
, style name
Line Wrap Marker
Normal wrapping. Display as many characters as possible in the
Do not wrap. Text lines that are too long are truncated.
The input behavior of an
editor-pane is determined by its
(inherited from output-pane). By default, an
editor-pane has an
that implements the functionality of the Editor tool in the LispWorks IDE, and always does it via call-editor. You can replace this behavior by supplying
:input-model when you call
make-instance or by
(setf capi:output-pane-input-model), though this has an effect only if called before the pane is displayed. It is possible to achieve a minor modification to the default input behavior by prepending the modification (see the example below). Note that functions performing editor operations must do this via call-editor.
Editor panes support GNU Emacs keys on all platforms. Additionally on Microsoft Windows they support Windows editor keys, on GTK+ and Motif they support KDE/Gnome keys, and on Cocoa they support Mac OS X editor keys. Exactly one style of emulation is active at any one time for each editor pane. By default, editor panes in the LispWorks IDE use Emacs emulation on all platforms. By default, editor panes in delivered applications use Windows emulation on Microsoft Windows, Mac OS X editor emulation on Cocoa, and Emacs emulation on GTK+ and Motif. To alter the choice of emulation, see interface-keys-style or the
:editor-style, described in the
LispWorks Delivery User Guide
:drawing-modecontrols anti-aliasing of the text displayed in an
editor-paneon Microsoft Windows and GTK+.
:read-only, Editor commands (predefined, and user-defined by
editor:defcommand) may or may not be able to change the text, depending on how they are called. When executed by a key sequence they cannot change the text directly. However Editor commands can also be called via
editor:process-characteror call-editor, and then are programmatic input and so can change the text.
:read-onlyis on the
editor-pane. It does not affect the underlying Editor buffer, which can still be modified from other panes. The buffer that is displayed can be changed, and this does not affect the enabled state of the
:buffer-nametb , where tb is created by
t). This prevents auto-saving and sharing buffers unintentionally.
:use-native-input-methodor call set-default-use-native-input-method.
In LispWorks 6.1 and later versions, variable-width fonts can be used on Microsoft Windows, GTK+ and Motif. In LispWorks 7.0 and later, variable-width fonts can also be used on Cocoa. Specify the font via the
:font initarg (see simple-pane).
Displaying and entering text
CAPI User Guide and Reference Manual (Windows version) - 3 Aug 2017