64 lines
2.6 KiB
Plaintext
64 lines
2.6 KiB
Plaintext
.NH 2
|
|
Customizing the Text Widget
|
|
.LP
|
|
.XS
|
|
Customizing the Text Widget
|
|
.XE
|
|
.IN "Text widget" "customizing" "@DEF@"
|
|
.LP
|
|
The remainder of this chapter will describe customizing the Text
|
|
widget. The Text widget may be customized by subclassing, or by
|
|
creating new sources and sinks. Subclassing is described in
|
|
detail in Chapter 7; this section will describe only those things that
|
|
are specific to the Text widget. Attributes of the Text widget base
|
|
class and creating new sources and sinks will be discussed.
|
|
.LP
|
|
The Text widget is made up of a number of different pieces, with the
|
|
Text widget as the base widget class. It and the AsciiText widget are
|
|
the only true "widgets" in the Text widget family. The other pieces
|
|
(sources and sinks) are X Toolkit objects and have no window
|
|
associated with them. No source or sink is useful unless assigned to
|
|
a Text widget.
|
|
.LP
|
|
Each of the following pieces of the Text widget has a specific purpose,
|
|
and will be, or has been, discussed in detail in this chapter:
|
|
.IN "Text widget" ""
|
|
.IP \fBText\fP 15
|
|
This is the glue that binds everything else together. This widget reads
|
|
the text data from the source, and displays the information in the sink.
|
|
All translations and actions are handled in the Text widget itself.
|
|
.IN "TextSink object" ""
|
|
.IP \fBTextSink\fP 15
|
|
This object is responsible for displaying and clearing the drawing area.
|
|
It also reports the configuration of the window that contains the
|
|
drawing area. The TextSink does not have its own window; instead it does
|
|
its drawing on the Text widget's window.
|
|
.IN "TextSrc object" ""
|
|
.IP \fBTextSrc\fP 15
|
|
This object is responsible for reading, editing and searching through the
|
|
text buffer.
|
|
.IN "AsciiSink object" ""
|
|
.IP \fBAsciiSink\fP 15
|
|
This object is a subclass of the TextSink and knows how to display
|
|
ASCII text. Support has been added to display any 8-bit character set, given
|
|
the font.
|
|
.IN "MultiSink object" ""
|
|
.IP \fBMultiSink\fP 15
|
|
This object is a subclass of the TextSink and knows how to display
|
|
font sets.
|
|
.IN "AsciiSrc object" ""
|
|
.IP \fBAsciiSrc\fP 15
|
|
This object is a subclass of the TextSrc and knows how to read strings
|
|
and files.
|
|
.IN "MultiSrc object" ""
|
|
.IP \fBMultiSrc\fP 15
|
|
This object is a subclass of the TextSrc and knows how to read strings
|
|
and multibyte files, converting them to wide characters based on locale.
|
|
.IN "AsciiText widget" ""
|
|
.IP \fBAsciiText\fP 15
|
|
This widget is a subclass of the Text widget. When created, the AsciiText
|
|
automatically creates and attaches either an AsciiSrc and AsciiSink, or a
|
|
MultiSrc and MultiSink, to itself. The AsciiText provides the simplest
|
|
interface to the Athena Text widgets.
|
|
|