<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> | |
<html> | |
<head> | |
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | |
<meta name="Author" content="IBM"> | |
<meta name="GENERATOR" content="Mozilla/4.51 [en] (WinNT; I) [Netscape]"> | |
<title>Package-level Javadoc</title> | |
</head> | |
<body> | |
Provides a framework for creating, manipulating, displaying | |
and editing text documents. | |
<h2> | |
Package Specification</h2> | |
The packages is divided into two parts. The first part defines and implements | |
the notion of text documents, whereas the second part defines and implements | |
a viewer for text documents. | |
<h3> | |
Text Model</h3> | |
<tt>IDocument</tt> is the major text model abstraction. It provides content | |
management, position management using position categories, document partition | |
management, searching, and change notification. In order to be notified | |
about document changes, an object must implements <tt>IDocumentListener</tt> | |
and must be registered with the document. Position updating in responds | |
to a document change is performed by implementers of <tt>IDocumentPositionUpdater</tt>. | |
Partition updating in responds to a document change is performed by implements | |
of <tt>IDocumentPartitioner</tt>. In order to be notified about document | |
partition changes, objects must implement <tt>IDocumentParititoningListener</tt> | |
and must be registered with the document. | |
<p>The package contains default implementations for document position updaters | |
and for documents. <tt>AbstractDocument</tt> uses <tt>ITextStorage</tt> | |
for storing and managing its content and <tt>ILineTracker</tt> to maintain | |
a line structure of its content. As defaults a gap text implementation | |
of <tt>ITextStore</tt> is provided, together with a line tracker understanding | |
the three standard line delimiters ("\r", "\n", "\r\n") and a line | |
tracker which can be freely configured to consider any given set of strings | |
as valid line delimiters. | |
<h3> | |
Text Viewer</h3> | |
<tt>ITextViewer</tt> defines the concept of a document based, editiable | |
viewer. <tt>ITextViewer</tt> offers the following functionality: | |
<ul> | |
<li> | |
present a document</li> | |
<li> | |
event consumption (<tt>IEventConsumer</tt>)</li> | |
<li> | |
viewport tracking and notification (<tt>IIViewportListener</tt>)</li> | |
<li> | |
change notification (<tt>ITextListener</tt>, <tt>ITextInputListener</tt>)</li> | |
<li> | |
listeners (combined view/model notification, input document)</li> | |
<li> | |
standard text editing functions plus text hover support</li> | |
<li> | |
visual region support</li> | |
</ul> | |
An ITextViewer supports the following plugins | |
<ul> | |
<li> | |
<tt>IUndoManager</tt> for the undo/redo mechanism</li> | |
<li> | |
<tt>IDoubleClickStrategy</tt> for partition type specific behavior on mouse | |
double click</li> | |
<li> | |
<tt>IAutoIndentStrategy</tt> for content type specific behavior on | |
inserting a line break</li> | |
<li> | |
<tt>ITextHover</tt> for content type specific behavior when overing over | |
text</li> | |
</ul> | |
The package provides default implementations for all these interfaces. | |
</body> | |
</html> |