# Content Viewers

###### Identifier:

org.eclipse.compare.contentViewers

###### Description:

This extension point allows a plug-in to register viewers for specific content types. These viewers are used in the `EditionSelectionDialog` when presenting an edition of a resource or a subsection thereof. The viewer is expected to extend `org.eclipse.jface.viewers.Viewer`. However since viewers don't have a default constructor the extension point must implement the factory interface for viewers `org.eclipse.compare.IViewerCreator`.

###### Configuration Markup:

<!ELEMENT extension (viewer* , contentTypeBinding*)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED>

- point - a fully qualified identifier of the target extension point
- id - an optional identifier of the extension instance
- name - an optional name of the extension instance

<!ELEMENT viewer EMPTY>

<!ATTLIST viewer

id CDATA #REQUIRED

class CDATA #REQUIRED

extensions CDATA #IMPLIED>

- id - a unique identifier that can be used to reference the viewer
- class - a fully qualified name of a class that implements a factory for the content viewer and implements `org.eclipse.compare.IViewerCreator`
- extensions - a comma separated list of file extensions e.g. "java, gif"

<!ELEMENT contentTypeBinding EMPTY>

<!ATTLIST contentTypeBinding

contentTypeId IDREF #REQUIRED

contentViewerId IDREF #REQUIRED>

A `contentTypeBinding` binds a content viewer to a content type.

- contentTypeId - The id of a content type defined using the `org.eclipse.core.contenttype.contentTypes` extension point.
- contentViewerId - The id of a content viewer defined using the `viewer` element of this extension point (i.e. `org.eclipse.compare.contentViewers`)

###### Examples:

The following is an example of a viewer for text files (extension "txt"):

    <extension point = "org.eclipse.compare.contentViewers">
         <viewer
             id="org.eclipse.compare.internal.TextViewer"
             class="org.eclipse.compare.internal.TextViewerCreator"
             extensions="txt"
        />
    </extension>

###### API Information:

The contributed class must implement `org.eclipse.compare.IViewerCreator`

###### Supplied Implementation:

The Compare UI plugin defines content viewers for text and images.

Copyright (c) 2000, 2008 IBM Corporation and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html