Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.compare
Class CompareViewerSwitchingPane

    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
                              org.eclipse.compare.CompareViewerSwitchingPane

All Implemented Interfaces:
  Drawable, IDoubleClickListener, ISelectionChangedListener, ISelectionProvider

public abstract class CompareViewerSwitchingPane
extends CompareViewerPane
implements ISelectionChangedListener, ISelectionProvider, IDoubleClickListener

A custom `CompareViewerPane` that supports dynamic viewer switching.

Clients must implement the viewer switching strategy by implementing the `getViewer(Viewer, Object)` method.

If a property with the name `CompareUI.COMPARE_VIEWER_TITLE` is set on the top level SWT control of a viewer, it is used as a title in the `CompareViewerPane`'s title bar.

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
`CompareViewerSwitchingPane(Composite parent, int style)` Creates a `CompareViewerSwitchingPane` as a child of the given parent and with the specified SWT style bits.
`CompareViewerSwitchingPane(Composite parent, int style, boolean visibility)` Creates a `CompareViewerSwitchingPane` as a child of the given parent and with the specified SWT style bits.

Method Summary
`void` | `addDoubleClickListener(IDoubleClickListener l)`
`void` | `addOpenListener(IOpenListener l)`
`void` | `addSelectionChangedListener(ISelectionChangedListener l)` Adds a listener for selection changes in this selection provider.
`void` | `doubleClick(DoubleClickEvent event)` Notifies of a double click.
`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.
`String` | `getTitleArgument()` Returns the optional title argument that has been set with `setTitelArgument` or `null` if no optional title argument has been set.
`Viewer` | `getViewer()` Returns the current viewer.
`protected abstract Viewer` | `getViewer(Viewer oldViewer, Object input)` Returns a viewer which is able to display the given input.
`boolean` | `isEmpty()` Returns `true` if no viewer is installed or if the current viewer is a `NullViewer`.
`void` | `removeDoubleClickListener(IDoubleClickListener l)`
`void` | `removeOpenListener(IOpenListener l)`
`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` | `setInput(Object input)` Sets the input object of this pane.
`void` | `setSelection(ISelection s)` Sets the current selection for this selection provider.
`void` | `setTitleArgument(String argument)` Sets an additional and optional argument for the pane's title.

Methods inherited from class org.eclipse.compare.CompareViewerPane
`clearToolBar, getToolBarManager, setImage, setText`

Methods inherited from class org.eclipse.swt.custom.ViewForm
`computeSize, computeTrim, getClientArea, getContent, getTopCenter, getTopLeft, getTopRight, layout, setBorderVisible, setContent, setFont, setLayout, setTopCenter, setTopCenterSeparate, setTopLeft, setTopRight`

Methods inherited from class org.eclipse.swt.widgets.Composite
`checkSubclass, getChildren, getLayout, getTabList, layout, setFocus, setTabList`

Methods inherited from class org.eclipse.swt.widgets.Scrollable
`getHorizontalBar, getVerticalBar`

Methods inherited from class org.eclipse.swt.widgets.Control
`addControlListener, addFocusListener, addHelpListener, addKeyListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addPaintListener, addTraverseListener, computeSize, forceFocus, getAccessible, getBackground, getBorderWidth, getBounds, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getParent, getShell, getSize, getToolTipText, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, redraw, redraw, removeControlListener, removeFocusListener, removeHelpListener, removeKeyListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removePaintListener, removeTraverseListener, setBackground, setBounds, setBounds, setCapture, setCursor, setEnabled, setForeground, setLayoutData, setLocation, setLocation, setMenu, setParent, setRedraw, setSize, setSize, setToolTipText, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, update`

Methods inherited from class org.eclipse.swt.widgets.Widget
`addDisposeListener, addListener, checkWidget, dispose, getData, getData, getDisplay, getStyle, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, setData, setData, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### CompareViewerSwitchingPane

    public CompareViewerSwitchingPane(Composite parent,
                                      int style)

  Creates a `CompareViewerSwitchingPane` as a child of the given parent and with the specified SWT style bits.

Parameters:
  `parent` - a widget which will be the parent 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

### CompareViewerSwitchingPane

    public CompareViewerSwitchingPane(Composite parent,
                                      int style,
                                      boolean visibility)

  Creates a `CompareViewerSwitchingPane` as a child of the given parent and with the specified SWT style bits.

Parameters:
  `parent` - a widget which will be the parent of the new instance (cannot be null)
  `style` - the style of widget to construct
  `visibility` - the initial visibility of the CompareViewerSwitchingPane
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

### getViewer

    public Viewer getViewer()

  Returns the current viewer.

  Returns:
    the current viewer

### getTitleArgument

    public String getTitleArgument()

  Returns the optional title argument that has been set with `setTitelArgument` or `null` if no optional title argument has been set.

  Note: this method is for internal use only. Clients should not call this method.

  Returns:
    the optional title argument or `null`

### isEmpty

    public boolean isEmpty()

  Returns `true` if no viewer is installed or if the current viewer is a `NullViewer`.

  Returns:
    `true` if no viewer is installed or if the current viewer is a `NullViewer`

### 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 affect if an identical listener is not registered.

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

### addDoubleClickListener

    public void addDoubleClickListener(IDoubleClickListener l)

### removeDoubleClickListener

    public void removeDoubleClickListener(IDoubleClickListener l)

### addOpenListener

    public void addOpenListener(IOpenListener l)

### removeOpenListener

    public void removeOpenListener(IOpenListener l)

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

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

### setInput

    public void setInput(Object input)

  Sets the input object of this pane. For this input object a suitable viewer is determined by calling the abstract method `getViewer(Viewer, Object)`. If the returned viewer differs from the current one, the old viewer is disposed and the new one installed. Then the input object is fed into the newly installed viewer by calling its `setInput(Object)` method. If new and old viewer don't differ no new viewer is installed but just `setInput(Object)` is called. If the input is `null` the pane is cleared, that is the current viewer is disposed.

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

### setTitleArgument

    public void setTitleArgument(String argument)

  Sets an additional and optional argument for the pane's title. Note: this method is for internal use only. Clients should not call this method.

  Parameters:
    `argument` - an optional argument for the pane's title

### 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.

### getViewer

    protected abstract Viewer getViewer(Viewer oldViewer,
                                        Object input)

  Returns a viewer which is able to display the given input. If no viewer can be found, `null` is returned. The additional argument oldViewer represents the viewer currently installed in the pane (or `null` if no viewer is installed). It can be returned from this method if the current viewer can deal with the input (and no new viewer must be created).

  Parameters:
    `oldViewer` - the currently installed viewer or `null`
    `input` - the input object for which a viewer must be determined or `null`
  Returns:
    a viewer for the given input, or `null` if no viewer can be determined

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.