# Refactoring Status Context Viewers

###### Identifier:

org.eclipse.ltk.ui.refactoring.statusContextViewers

###### Since:

3.0

###### Description:

This extension point is used to define a special viewer capable to present the context of a refactoring status entry to the user.

This extension point supports the `<enablement>` element. The default variable is the refactoring status context.
Defined variables for `<with>` expressions are:

- "context": type `org.eclipse.ltk.core.refactoring.RefactoringStatusContext`; the context object managed by the refactoring status entry that is to be presented in the user interface (same as the default variable)

###### Configuration Markup:

<!ELEMENT extension (statusContextViewer*)>

<!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 statusContextViewer (enablement)>

<!ATTLIST statusContextViewer

id CDATA #REQUIRED

class CDATA #REQUIRED>

- id - unique identifier for the status context viewer.
- class - the name of the class that provides the implementation.

###### Examples:

The example below contributes a status context viewer for FileStatusContext objects.

       <extension point="org.eclipse.ltk.ui.refactoring.statusContextViewers">
          <statusContextViewer
                class="org.eclipse.ltk.internal.ui.refactoring.FileStatusContextViewer"
                id="org.eclipse.ltk.internal.ui.refactoring.fileStatusContextViewer">
             <enablement>
                <instanceof value="org.eclipse.ltk.core.refactoring.FileStatusContext"/>
             </enablement>
          </statusContextViewer>
       </extension>

###### API Information:

The contributed class must extend `org.eclipse.ltk.ui.refactoring.IStatusContextViewer`

Copyright (c) 2001, 2013 IBM Corporation and others.
This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-v20.html/ SPDX-License-Identifier: EPL-2.0