| <!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> |