Package 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:
IAdaptable
,IDoubleClickListener
,IOpenListener
,ISelectionChangedListener
,ISelectionProvider
,Drawable
public abstract class CompareViewerSwitchingPane extends CompareViewerPane
A customCompareViewerPane
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 theCompareViewerPane
's title bar.- Since:
- 2.0
-
-
Field Summary
-
Fields inherited from class org.eclipse.swt.custom.ViewForm
borderInsideRGB, borderMiddleRGB, borderOutsideRGB, horizontalSpacing, marginHeight, marginWidth, verticalSpacing
-
-
Constructor Summary
Constructors Constructor Description CompareViewerSwitchingPane(Composite parent, int style)
Creates aCompareViewerSwitchingPane
as a child of the given parent and with the specified SWT style bits.CompareViewerSwitchingPane(Composite parent, int style, boolean visibility)
Creates aCompareViewerSwitchingPane
as a child of the given parent and with the specified SWT style bits.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description <T> T
getAdapter(Class<T> adapter)
Returns an object which is an instance of the given class associated with this object.ISelection
getSelection()
Returns the current selection for this provider.String
getTitleArgument()
Returns the optional title argument that has been set withsetTitelArgument
ornull
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.protected boolean
inputChanged(Object input)
boolean
isEmpty()
Returnstrue
if no viewer is installed or if the current viewer is aNullViewer
.boolean
setFocus()
Causes the receiver to have the keyboard focus, such that all keyboard events will be delivered to it.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
addDoubleClickListener, addOpenListener, addSelectionChangedListener, clearToolBar, createTopLeft, doubleClick, getInput, getToolBarManager, open, removeDoubleClickListener, removeOpenListener, removeSelectionChangedListener, selectionChanged, setImage, setText
-
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, setLayoutDeferred, setTabList
-
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, toString
-
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
-
CompareViewerSwitchingPane
public CompareViewerSwitchingPane(Composite parent, int style)
Creates aCompareViewerSwitchingPane
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 aCompareViewerSwitchingPane
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 constructvisibility
- 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 withsetTitelArgument
ornull
if no optional title argument has been set.- Returns:
- the optional title argument or
null
- Restriction:
- This method is for internal use only. Clients should not call this method.
- Restriction:
- This method is not intended to be re-implemented or extended by clients.
-
isEmpty
public boolean isEmpty()
Returnstrue
if no viewer is installed or if the current viewer is aNullViewer
.- Returns:
true
if no viewer is installed or if the current viewer is aNullViewer
-
getSelection
public ISelection getSelection()
Description copied from interface:ISelectionProvider
Returns the current selection for this provider.- Specified by:
getSelection
in interfaceISelectionProvider
- Overrides:
getSelection
in classCompareViewerPane
- 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 interfaceISelectionProvider
- Overrides:
setSelection
in classCompareViewerPane
- Parameters:
s
- the new selection
-
inputChanged
protected boolean inputChanged(Object input)
- Parameters:
input
- the input- Returns:
- true, if the input is considered as changed
- 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.
-
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 methodgetViewer(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 itssetInput(Object)
method. If new and old viewer don't differ no new viewer is installed but justsetInput(Object)
is called. If the input isnull
the pane is cleared, that is the current viewer is disposed.- Overrides:
setInput
in classCompareViewerPane
- Parameters:
input
- the new input object ornull
-
setTitleArgument
public void setTitleArgument(String argument)
Sets an additional and optional argument for the pane's title.- Parameters:
argument
- an optional argument for the pane's title- Restriction:
- This method is for internal use only. Clients should not call this method.
- Restriction:
- This method is not intended to be re-implemented or extended by clients.
-
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. Returnsnull
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 interfaceIAdaptable
- Overrides:
getAdapter
in classCompareViewerPane
- 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
-
setFocus
public boolean setFocus()
Description copied from class:Control
Causes the receiver to have the keyboard focus, such that all keyboard events will be delivered to it. Focus reassignment will respect applicable platform constraints.- Overrides:
setFocus
in classComposite
- Returns:
true
if the control got focus, andfalse
if it was unable to.- See Also:
Control.forceFocus()
-
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 (ornull
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 ornull
input
- the input object for which a viewer must be determined ornull
- Returns:
- a viewer for the given input, or
null
if no viewer can be determined
-
-