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
public class DiffTreeViewer extends TreeViewer
A tree viewer that works on objects implementing theIDiffContainerandIDiffElementinterfaces.This class may be instantiated; it is not intended to be subclassed outside of this package.
- See Also:
IDiffContainer,IDiffElement- 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
-
Fields inherited from class org.eclipse.jface.viewers.Viewer
WIDGET_DATA_KEY
-
-
Constructor Summary
Constructors Constructor Description DiffTreeViewer(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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcopyOne(ICompareInput node, boolean leftToRight)Called to copy one side of the given node to the other.protected voidcopySelected(boolean leftToRight)Copies one side of allDiffNodes in the current selection to the other side.protected voidcreateToolItems(ToolBarManager toolbarManager)This factory method is called after the viewer's controls have been created.protected booleandontExpand(Object o)This hook method is called from withininternalExpandToLevelto control whether a given model node should be expanded or not.protected voidexpandSelection()Expands to infinity all items in the selection.protected voidfillContextMenu(IMenuManager manager)This method is called to add actions to the viewer's context menu.protected ResourceBundlegetBundle()Returns the resource bundle.CompareConfigurationgetCompareConfiguration()Returns the compare configuration of this viewer.StringgetTitle()Returns the viewer's name.protected voidhandleDispose(DisposeEvent event)Called on the viewer disposal.protected voidinitialSelection()This hook method is called from withininputChangedafter a new input has been set but before any controls are updated.protected voidinputChanged(Object in, Object oldInput)Internal hook method called when the input to this viewer is initially set or subsequently changed.protected voidinternalExpandToLevel(Widget node, int level)Overridden to avoid expandingDiffNodes that shouldn't expand.protected voidnavigate(boolean next)Selects the next (or previous) node of the current selection.protected voidpropertyChange(PropertyChangeEvent event)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, createChildren, createTreeItem, doFindInputItem, doFindItem, doUpdateItem, doUpdateItem, expandAll, expandAll, expandToLevel, expandToLevel, expandToLevel, expandToLevel, fireTreeCollapsed, fireTreeExpanded, getAutoExpandLevel, 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, setExpandedElements, setExpandedState, setExpandedTreePaths, setExpandPreCheckFilters, setSelectionToWidget, setSelectionToWidget, updateChildren
-
Methods inherited from class org.eclipse.jface.viewers.ColumnViewer
applyEditorValue, cancelEditing, checkBusy, getCell, getCellEditors, getCellModifier, getColumnProperties, getColumnViewerEditor, getItem, getLabelProvider, getViewerRow, hookEditingSupport, isBusy, isCellEditorActive, refresh, refresh, setBusy, setCellEditors, setCellModifier, setColumnProperties, setColumnViewerEditor, setLabelProvider, triggerEditorActivationEvent, update
-
Methods inherited from class org.eclipse.jface.viewers.StructuredViewer
addDoubleClickListener, addDragSupport, addDropSupport, addFilter, addOpenListener, addPostSelectionChangedListener, assertElementsNotNull, equals, filter, findItem, findItems, fireDoubleClick, fireOpen, firePostSelectionChanged, 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, unmapAllElements, unmapElement, unmapElement, update, updateItem, updateSelection, 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 Detail
-
DiffTreeViewer
public DiffTreeViewer(Tree tree, CompareConfiguration configuration)
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
public DiffTreeViewer(Composite parent, CompareConfiguration configuration)
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 Detail
-
getTitle
public String getTitle()
Returns the viewer's name.- Returns:
- the viewer's name
-
getBundle
protected ResourceBundle getBundle()
Returns the resource bundle.- Returns:
- the viewer's resource bundle
-
getCompareConfiguration
public CompareConfiguration getCompareConfiguration()
Returns the compare configuration of this viewer.- Returns:
- the compare configuration of this viewer
-
handleDispose
protected void handleDispose(DisposeEvent event)
Called on the viewer disposal. Unregisters from the compare configuration. Clients may extend if they have to do additional cleanup.- Overrides:
handleDisposein classColumnViewer- Parameters:
event- dispose event that triggered call to this method
-
propertyChange
protected void propertyChange(PropertyChangeEvent event)
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
protected void inputChanged(Object in, Object oldInput)
Description copied from class:ViewerInternal 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:
inputChangedin classAbstractTreeViewer- Parameters:
in- the new input of this viewer, ornullif noneoldInput- the old input element ornullif there was previously no input
-
initialSelection
protected void initialSelection()
This hook method is called from withininputChangedafter 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
protected void internalExpandToLevel(Widget node, int level)
Overridden to avoid expandingDiffNodes that shouldn't expand.- Overrides:
internalExpandToLevelin classAbstractTreeViewer- Parameters:
node- the node to expandlevel- non-negative level, orALL_LEVELSto collapse all levels of the tree
-
dontExpand
protected boolean dontExpand(Object o)
This hook method is called from withininternalExpandToLevelto control whether a given model node should be expanded or not. This default implementation checks whether the object is aDiffNodeand 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:
falseif a node should be expanded,trueto prevent expanding- Since:
- 2.0
-
createToolItems
protected void createToolItems(ToolBarManager toolbarManager)
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 aDiffNodeto 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
protected void fillContextMenu(IMenuManager manager)
This method is called to add actions to the viewer's context menu. It installs actions for expanding tree nodes, copying one side of aDiffNodeto 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 allDiffNodes in the current selection to the other side. Called from the (internal) actions for copying the sides of aDiffNode. Clients may override.- Parameters:
leftToRight- iftruethe left side is copied to the right side. Iffalsethe right side is copied to the left side
-
copyOne
protected void copyOne(ICompareInput node, boolean leftToRight)
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- iftruethe left side is copied to the right side. Iffalsethe right side is copied to the left side
-
navigate
protected void navigate(boolean next)
Selects the next (or previous) node of the current selection. If there is no current selection the first (last) node in the tree is selected. Wraps around at end or beginning. Clients may override.- Parameters:
next- iftruethe next node is selected, otherwise the previous node
-
-