package test.prefs.example;
/**
* An abstract compare and merge viewer with two side-by-side content areas
* and an optional content area for the ancestor. The implementation makes no
* assumptions about the content type.
* <p>
* <code>ContentMergeViewer</code>
* <ul>
* <li>implements the overall layout and defines hooks so that subclasses
* can easily provide an implementation for a specific content type,
* <li>implements the UI for making the areas resizable,
* <li>has an action for controlling whether the ancestor area is visible or not,
* <li>has actions for copying one side of the input to the other side,
* <li>tracks the dirty state of the left and right sides and send out notification
* on state changes.
* </ul>
* A <code>ContentMergeViewer</code> accesses its
* model by means of a content provider which must implement the
* <code>IMergeViewerContentProvider</code> interface.
* </p>
* <p>
* Clients may wish to use the standard concrete subclass <code>TextMergeViewer</code>,
* or define their own subclass.
*
* @see IMergeViewerContentProvider
* @see TextMergeViewer
*/
public class X10 {
}