Package org.eclipse.compare

## Class CompareViewerPane

- java.lang.Object
- - org.eclipse.swt.widgets.Widget
  - - org.eclipse.swt.widgets.Control
    - - org.eclipse.swt.widgets.Scrollable
      - - org.eclipse.swt.widgets.Composite
        - - org.eclipse.swt.custom.ViewForm
          - - org.eclipse.compare.CompareViewerPane

All Implemented Interfaces:
  `IAdaptable`, `IDoubleClickListener`, `IOpenListener`, `ISelectionChangedListener`, `ISelectionProvider`, `Drawable`

Direct Known Subclasses:
  `CompareViewerSwitchingPane`

    public class CompareViewerPane
    extends ViewForm
    implements ISelectionProvider, IDoubleClickListener, ISelectionChangedListener, IOpenListener, IAdaptable

A `CompareViewerPane` is a convenience class which installs a `CLabel` and a `Toolbar` in a `ViewForm`.

Double clicking onto the `CompareViewerPane`'s title bar maximizes the `CompareViewerPane` to the size of an enclosing `Splitter` (if there is one). If more `Splitters` are nested maximizing walks up and maximizes to the outermost `Splitter`.

Since:
  2.0

### Field Summary

### Fields inherited from class org.eclipse.swt.custom.ViewForm

`borderInsideRGB, borderMiddleRGB, borderOutsideRGB, horizontalSpacing, marginHeight, marginWidth, verticalSpacing`

### Fields inherited from class org.eclipse.swt.widgets.Control

`handle`

### Constructor Summary

Constructors
`CompareViewerPane​(Composite container, int style)` Constructs a new instance of this class given its parent and a style value describing its behavior and appearance.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`void` `addDoubleClickListener​(IDoubleClickListener listener)` Add a double-click listener to the pane.
`void` `addOpenListener​(IOpenListener listener)` Add an open listener to the pane.
`void` `addSelectionChangedListener​(ISelectionChangedListener l)` Adds a listener for selection changes in this selection provider.
`static void` `clearToolBar​(Composite parent)` Clears tool items in the `CompareViewerPane`'s control bar.
`protected Control` `createTopLeft​(Composite parent)`
`void` `doubleClick​(DoubleClickEvent event)` Notifies of a double click.
`<T> T` `getAdapter​(Class<T> adapter)` Returns an object which is an instance of the given class associated with this object.
`Object` `getInput()` Returns the current input of this pane or null if the pane has no input.
`ISelection` `getSelection()` Returns the current selection for this provider.
`static ToolBarManager` `getToolBarManager​(Composite parent)` Returns a `ToolBarManager` if the given parent is a `CompareViewerPane` or `null` otherwise.
`void` `open​(OpenEvent event)` Notifies of an open event.
`void` `removeDoubleClickListener​(IDoubleClickListener listener)` Remove a double-click listener.
`void` `removeOpenListener​(IOpenListener listener)` Remove an open listener.
`void` `removeSelectionChangedListener​(ISelectionChangedListener l)` Removes the given selection change listener from this selection provider.
`void` `selectionChanged​(SelectionChangedEvent ev)` Notifies that the selection has changed.
`void` `setImage​(Image image)` Set the pane's title Image.
`void` `setInput​(Object input)` Sets the input object of this pane.
`void` `setSelection​(ISelection s)` Sets the current selection for this selection provider.
`void` `setText​(String label)` Set the pane's title text.

### Methods inherited from class org.eclipse.swt.custom.ViewForm

`computeTrim, getClientArea, getContent, getTopCenter, getTopLeft, getTopRight, setBorderVisible, setContent, setLayout, setTopCenter, setTopCenterSeparate, setTopLeft, setTopRight`

### Methods inherited from class org.eclipse.swt.widgets.Composite

`changed, checkSubclass, drawBackground, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, layout, setBackgroundMode, setFocus, setLayoutDeferred, setTabList, toString`

### Methods inherited from class org.eclipse.swt.widgets.Scrollable

`getHorizontalBar, getScrollbarsMode, getVerticalBar`

### Methods inherited from class org.eclipse.swt.widgets.Control

`addControlListener, addDragDetectListener, addFocusListener, addGestureListener, addHelpListener, addKeyListener, addMenuDetectListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addMouseWheelListener, addPaintListener, addTouchListener, addTraverseListener, computeSize, computeSize, dragDetect, dragDetect, forceFocus, getAccessible, getBackground, getBackgroundImage, getBorderWidth, getBounds, getCursor, getDragDetect, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getOrientation, getParent, getRegion, getShell, getSize, getTextDirection, getToolTipText, getTouchEnabled, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTouchListener, removeTraverseListener, requestLayout, setBackground, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setFont, setForeground, setLayoutData, setLocation, setLocation, setMenu, setOrientation, setParent, setRedraw, setRegion, setSize, setSize, setTextDirection, setToolTipText, setTouchEnabled, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, traverse, traverse, update`

### Methods inherited from class org.eclipse.swt.widgets.Widget

`addDisposeListener, addListener, checkWidget, dispose, getData, getData, getDisplay, getListeners, getStyle, isAutoDirection, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, reskin, setData, setData`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.eclipse.swt.graphics.Drawable

`isAutoScalable`

### Constructor Detail

#### CompareViewerPane

    public CompareViewerPane​(Composite container,
                             int style)

Constructs a new instance of this class given its parent and a style value describing its behavior and appearance.

Parameters:
  `container` - a widget which will be the container of the new instance (cannot be null)
  `style` - the style of widget to construct
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the parent is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent

### Method Detail

#### createTopLeft

    protected Control createTopLeft​(Composite parent)

Parameters:
  `parent` - a widget which will be the parent of the control (cannot be null)
Returns:
  the control to be placed in the top left corner of the pane
Restriction:
  This method is not intended to be referenced by clients.
Restriction:
  This method is not intended to be re-implemented or extended by clients.

#### setText

    public void setText​(String label)

Set the pane's title text. The value `null` clears it.

Parameters:
  `label` - the text to be displayed in the pane or null

#### setImage

    public void setImage​(Image image)

Set the pane's title Image. The value `null` clears it.

Parameters:
  `image` - the image to be displayed in the pane or null

#### getToolBarManager

    public static ToolBarManager getToolBarManager​(Composite parent)

Returns a `ToolBarManager` if the given parent is a `CompareViewerPane` or `null` otherwise.

Parameters:
  `parent` - a `Composite` or `null`
Returns:
  a `ToolBarManager` if the given parent is a `CompareViewerPane` otherwise `null`

#### clearToolBar

    public static void clearToolBar​(Composite parent)

Clears tool items in the `CompareViewerPane`'s control bar.

Parameters:
  `parent` - a `Composite` or `null`

#### getInput

    public Object getInput()

Returns the current input of this pane or null if the pane has no input.

Returns:
  an `Object` that is the input to this pane or null if the pane has no input.
Since:
  3.3

#### setInput

    public void setInput​(Object input)

Sets the input object of this pane.

Parameters:
  `input` - the new input object or `null`
Since:
  3.3

#### addSelectionChangedListener

    public void addSelectionChangedListener​(ISelectionChangedListener l)

Description copied from interface: `ISelectionProvider`
Adds a listener for selection changes in this selection provider. Has no effect if an identical listener is already registered.

Specified by:
  `addSelectionChangedListener` in interface `ISelectionProvider`
Parameters:
  `l` - a selection changed listener

#### removeSelectionChangedListener

    public void removeSelectionChangedListener​(ISelectionChangedListener l)

Description copied from interface: `ISelectionProvider`
Removes the given selection change listener from this selection provider. Has no effect if an identical listener is not registered.

Specified by:
  `removeSelectionChangedListener` in interface `ISelectionProvider`
Parameters:
  `l` - a selection changed listener

#### getSelection

    public ISelection getSelection()

Description copied from interface: `ISelectionProvider`
Returns the current selection for this provider.

Specified by:
  `getSelection` in interface `ISelectionProvider`
Returns:
  the current selection

#### setSelection

    public void setSelection​(ISelection s)

Description copied from interface: `ISelectionProvider`
Sets the current selection for this selection provider.

Specified by:
  `setSelection` in interface `ISelectionProvider`
Parameters:
  `s` - the new selection

#### selectionChanged

    public void selectionChanged​(SelectionChangedEvent ev)

Description copied from interface: `ISelectionChangedListener`
Notifies that the selection has changed.

Specified by:
  `selectionChanged` in interface `ISelectionChangedListener`
Parameters:
  `ev` - event object describing the change

#### doubleClick

    public void doubleClick​(DoubleClickEvent event)

Description copied from interface: `IDoubleClickListener`
Notifies of a double click.

Specified by:
  `doubleClick` in interface `IDoubleClickListener`
Parameters:
  `event` - event object describing the double-click

#### addDoubleClickListener

    public void addDoubleClickListener​(IDoubleClickListener listener)

Add a double-click listener to the pane. The listener will get invoked when the contents of the pane are double-clicked. Adding a listener that is already registered has no effect.

Parameters:
  `listener` - the listener
Since:
  3.3

#### removeDoubleClickListener

    public void removeDoubleClickListener​(IDoubleClickListener listener)

Remove a double-click listener. Removing a listener that is not registered has no effect.

Parameters:
  `listener` - the listener
Since:
  3.3

#### addOpenListener

    public void addOpenListener​(IOpenListener listener)

Add an open listener to the pane. The listener will get invoked when the contents of the pane are double-clicked. Adding a listener that is already registered has no effect.

Parameters:
  `listener` - the listener
Since:
  3.3

#### removeOpenListener

    public void removeOpenListener​(IOpenListener listener)

Remove an open listener. Removing a listener that is not registered has no effect.

Parameters:
  `listener` - the listener
Since:
  3.3

#### open

    public void open​(OpenEvent event)

Description copied from interface: `IOpenListener`
Notifies of an open event.

Specified by:
  `open` in interface `IOpenListener`
Parameters:
  `event` - event object describing the open event

#### getAdapter

    public <T> T getAdapter​(Class<T> adapter)

Description copied from interface: `IAdaptable`
Returns an object which is an instance of the given class associated with this object. Returns `null` if no such object can be found.

Clients may implement this method but should generally call `Adapters.adapt(Object, Class, boolean)` rather than invoking it directly.

Specified by:
  `getAdapter` in interface `IAdaptable`
Type Parameters:
  `T` - the class type
Parameters:
  `adapter` - the adapter class to look up
Returns:
  a object of the given class, or `null` if this object does not have an adapter for the given class