Class DiffTreeViewer
java.lang.Object
org.eclipse.jface.viewers.Viewer
org.eclipse.jface.viewers.ContentViewer
org.eclipse.jface.viewers.StructuredViewer
org.eclipse.jface.viewers.ColumnViewer
org.eclipse.jface.viewers.AbstractTreeViewer
org.eclipse.jface.viewers.TreeViewer
org.eclipse.compare.structuremergeviewer.DiffTreeViewer
- All Implemented Interfaces:
IInputProvider
,IInputSelectionProvider
,IPostSelectionProvider
,ISelectionProvider
- Direct Known Subclasses:
StructureDiffViewer
A tree viewer that works on objects implementing
the
IDiffContainer
and IDiffElement
interfaces.
This class may be instantiated; it is not intended to be subclassed outside of this package.
- See Also:
- Restriction:
- This class is not intended to be subclassed by clients.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.jface.viewers.StructuredViewer
StructuredViewer.ColorAndFontCollector, StructuredViewer.ColorAndFontCollectorWithProviders
-
Field Summary
Fields inherited from class org.eclipse.jface.viewers.AbstractTreeViewer
ALL_LEVELS, NO_EXPAND
Fields inherited from class org.eclipse.jface.viewers.Viewer
WIDGET_DATA_KEY
-
Constructor Summary
ConstructorDescriptionDiffTreeViewer
(Composite parent, CompareConfiguration configuration) Creates a new viewer under the given SWT parent and with the specified configuration.DiffTreeViewer
(Tree tree, CompareConfiguration configuration) Creates a new viewer for the given SWT tree control with the specified configuration. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
copyOne
(ICompareInput node, boolean leftToRight) Called to copy one side of the given node to the other.protected void
copySelected
(boolean leftToRight) Copies one side of allDiffNode
s in the current selection to the other side.protected void
createToolItems
(ToolBarManager toolbarManager) This factory method is called after the viewer's controls have been created.protected boolean
dontExpand
(Object o) This hook method is called from withininternalExpandToLevel
to control whether a given model node should be expanded or not.protected void
Expands to infinity all items in the selection.protected void
fillContextMenu
(IMenuManager manager) This method is called to add actions to the viewer's context menu.protected ResourceBundle
Returns the resource bundle.Returns the compare configuration of this viewer.getTitle()
Returns the viewer's name.protected void
handleDispose
(DisposeEvent event) Called on the viewer disposal.protected void
This hook method is called from withininputChanged
after a new input has been set but before any controls are updated.protected void
inputChanged
(Object in, Object oldInput) Internal hook method called when the input to this viewer is initially set or subsequently changed.protected void
internalExpandToLevel
(Widget node, int level) Overridden to avoid expandingDiffNode
s that shouldn't expand.protected void
navigate
(boolean next) Selects the next (or previous) node of the current selection.protected void
Tracks property changes of the configuration object.Methods inherited from class org.eclipse.jface.viewers.TreeViewer
addTreeListener, assertContentProviderType, createViewerEditor, disassociate, doGetColumnCount, editElement, getChild, getChildren, getColumnViewerOwner, getControl, getExpanded, getItemAt, getItemCount, getItemCount, getItems, getLabelProvider, getParentElement, getParentItem, getRawChildren, getSelection, getTree, getViewerRowFromItem, handleTreeCollapse, handleTreeExpand, hookControl, internalAdd, internalInitializeTree, internalRefreshStruct, isExpandable, mapElement, newItem, remove, removeAll, replace, setChildCount, setContentProvider, setExpanded, setHasChildren, setSelection, setSelection, showItem, updatePlus
Methods inherited from class org.eclipse.jface.viewers.AbstractTreeViewer
add, add, addSelectionListener, addTreeListener, associate, buildLabel, collapseAll, collapseToLevel, contains, createChildren, createTreeItem, doFindInputItem, doFindItem, doUpdateItem, doUpdateItem, expandAll, expandAll, expandToLevel, expandToLevel, expandToLevel, expandToLevel, fireTreeCollapsed, fireTreeExpanded, getAutoExpandLevel, getAutoExpandOnSingleChildLevels, getChildren, getExpandedElements, getExpandedState, getExpandedTreePaths, getNextItem, getPreviousItem, getSelection, getSelectionFromWidget, getSortedChildren, getStructuredSelection, getTreePathFromItem, getVisibleExpandedElements, handleDoubleSelect, indexForElement, insert, internalCollapseToLevel, internalExpand, internalFindItems, internalGetWidgetToSelect, internalIsInputOrEmptyPath, internalRefresh, internalRefresh, internalRefresh, internalRemove, internalRemove, isSameSelection, labelProviderChanged, remove, remove, remove, removeTreeListener, reveal, scrollDown, scrollUp, setAutoExpandLevel, setAutoExpandOnSingleChildLevels, setExpandedElements, setExpandedState, setExpandedStateWithAutoExpandOnSingleChild, setExpandedTreePaths, setExpandPreCheckFilters, setSelectionToWidget, setSelectionToWidget, updateChildren
Methods inherited from class org.eclipse.jface.viewers.ColumnViewer
applyEditorValue, cancelEditing, checkBusy, firePostSelectionChanged, getCell, getCellEditors, getCellModifier, getColumnProperties, getColumnViewerEditor, getItem, getLabelProvider, getViewerRow, hookEditingSupport, isBusy, isCellEditorActive, isExpandableNode, refresh, refresh, setBusy, setCellEditors, setCellModifier, setColumnProperties, setColumnViewerEditor, setDisplayIncrementally, setLabelProvider, triggerEditorActivationEvent, unmapAllElements, update, updateSelection
Methods inherited from class org.eclipse.jface.viewers.StructuredViewer
addDoubleClickListener, addDragSupport, addDropSupport, addFilter, addOpenListener, addPostSelectionChangedListener, assertElementsNotNull, equals, filter, findItem, findItems, fireDoubleClick, fireOpen, getColorAndFontCollector, getComparator, getComparer, getFilteredChildren, getFilters, getRoot, getSorter, handleInvalidSelection, handleLabelProviderChanged, handleOpen, handlePostSelect, handleSelect, hasFilters, internalUpdate, needsRefilter, preservingSelection, refresh, refresh, refreshItem, removeDoubleClickListener, removeFilter, removeOpenListener, removePostSelectionChangedListener, resetFilters, setComparator, setComparer, setFilters, setInput, setSorter, setUseHashlookup, testFindItem, testFindItems, unmapElement, unmapElement, update, updateItem, usingElementMap
Methods inherited from class org.eclipse.jface.viewers.ContentViewer
getContentProvider, getInput
Methods inherited from class org.eclipse.jface.viewers.Viewer
addHelpListener, addSelectionChangedListener, fireHelpRequested, fireSelectionChanged, getData, handleHelpRequest, removeHelpListener, removeSelectionChangedListener, setData, setSelection
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.eclipse.jface.viewers.ISelectionProvider
addSelectionChangedListener, removeSelectionChangedListener, setSelection
-
Constructor Details
-
DiffTreeViewer
Creates a new viewer for the given SWT tree control with the specified configuration.- Parameters:
tree
- the tree controlconfiguration
- the configuration for this viewer
-
DiffTreeViewer
Creates a new viewer under the given SWT parent and with the specified configuration.- Parameters:
parent
- the SWT control under which to create the viewerconfiguration
- the configuration for this viewer
-
-
Method Details
-
getTitle
Returns the viewer's name.- Returns:
- the viewer's name
-
getBundle
Returns the resource bundle.- Returns:
- the viewer's resource bundle
-
getCompareConfiguration
Returns the compare configuration of this viewer.- Returns:
- the compare configuration of this viewer
-
handleDispose
Called on the viewer disposal. Unregisters from the compare configuration. Clients may extend if they have to do additional cleanup.- Overrides:
handleDispose
in classColumnViewer
- Parameters:
event
- dispose event that triggered call to this method
-
propertyChange
Tracks property changes of the configuration object. Clients may extend to track their own property changes. In this case they must call the inherited method.- Parameters:
event
- property change event that triggered call to this method
-
inputChanged
Description copied from class:Viewer
Internal hook method called when the input to this viewer is initially set or subsequently changed.The default implementation does nothing. Subclassers may override this method to do something when a viewer's input is set. A typical use is populate the viewer.
- Overrides:
inputChanged
in classAbstractTreeViewer
- Parameters:
in
- the new input of this viewer, ornull
if noneoldInput
- the old input element ornull
if there was previously no input
-
initialSelection
protected void initialSelection()This hook method is called from withininputChanged
after a new input has been set but before any controls are updated. This default implementation callsnavigate(true)
to select and expand the first leaf node. Clients can override this method and are free to decide whether they want to call the inherited method.- Since:
- 2.0
-
internalExpandToLevel
Overridden to avoid expandingDiffNode
s that shouldn't expand.- Overrides:
internalExpandToLevel
in classAbstractTreeViewer
- Parameters:
node
- the node to expandlevel
- non-negative level, orALL_LEVELS
to collapse all levels of the tree
-
dontExpand
This hook method is called from withininternalExpandToLevel
to control whether a given model node should be expanded or not. This default implementation checks whether the object is aDiffNode
and callsdontExpand()
on it. Clients can override this method and are free to decide whether they want to call the inherited method.- Parameters:
o
- the model object to be expanded- Returns:
false
if a node should be expanded,true
to prevent expanding- Since:
- 2.0
-
createToolItems
This factory method is called after the viewer's controls have been created. It installs four actions in the givenToolBarManager
. Two actions allow for copying one side of aDiffNode
to the other side. Two other actions are for navigating from one node to the next (previous).Clients can override this method and are free to decide whether they want to call the inherited method.
- Parameters:
toolbarManager
- the toolbar manager for which to add the actions
-
fillContextMenu
This method is called to add actions to the viewer's context menu. It installs actions for expanding tree nodes, copying one side of aDiffNode
to the other side. Clients can override this method and are free to decide whether they want to call the inherited method.- Parameters:
manager
- the menu manager for which to add the actions
-
expandSelection
protected void expandSelection()Expands to infinity all items in the selection.- Since:
- 2.0
-
copySelected
protected void copySelected(boolean leftToRight) Copies one side of allDiffNode
s in the current selection to the other side. Called from the (internal) actions for copying the sides of aDiffNode
. Clients may override.- Parameters:
leftToRight
- iftrue
the left side is copied to the right side. Iffalse
the right side is copied to the left side
-
copyOne
Called to copy one side of the given node to the other. This default implementation delegates the call toICompareInput.copy(...)
. Clients may override.- Parameters:
node
- the node to copyleftToRight
- iftrue
the left side is copied to the right side. Iffalse
the right side is copied to the left side
-