Class EMFCompareStructureMergeViewer
- java.lang.Object
-
- org.eclipse.jface.viewers.Viewer
-
- org.eclipse.jface.viewers.ContentViewer
-
- org.eclipse.jface.viewers.StructuredViewer
-
- org.eclipse.emf.compare.ide.ui.internal.structuremergeviewer.AbstractStructuredViewerWrapper<org.eclipse.swt.custom.CTabFolder,WrappableTreeViewer>
-
- org.eclipse.emf.compare.ide.ui.internal.structuremergeviewer.EMFCompareStructureMergeViewer
-
- All Implemented Interfaces:
CommandStackListener
,org.eclipse.jface.viewers.IInputProvider
,org.eclipse.jface.viewers.IInputSelectionProvider
,org.eclipse.jface.viewers.IPostSelectionProvider
,org.eclipse.jface.viewers.ISelectionProvider
public class EMFCompareStructureMergeViewer extends AbstractStructuredViewerWrapper<org.eclipse.swt.custom.CTabFolder,WrappableTreeViewer> implements CommandStackListener
Implementation ofAbstractStructuredViewerWrapper
.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.emf.compare.ide.ui.internal.structuremergeviewer.AbstractStructuredViewerWrapper
AbstractStructuredViewerWrapper.ControlAndViewer<C extends org.eclipse.swt.widgets.Control,V extends org.eclipse.emf.compare.ide.ui.internal.structuremergeviewer.IWrappableStructuredViewer>
-
-
Field Summary
Fields Modifier and Type Field Description protected org.eclipse.jface.viewers.ISelection
currentSelection
The current selection.protected org.eclipse.jface.util.IPropertyChangeListener
preferenceChangeListener
Listener reacting to changes in thepreferenceStore
.protected org.eclipse.jface.preference.IPreferenceStore
preferenceStore
Preference store holding UI-related settings for this viewer.
-
Constructor Summary
Constructors Constructor Description EMFCompareStructureMergeViewer(org.eclipse.swt.widgets.Composite parent, EMFCompareConfiguration config)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener listener)
protected void
clearHighlightRelatedChanges()
Clears the highlighting of related changes for the current selection.void
colorChanged(IColorChangeEvent changeColorEvent)
void
commandStackChanged(EventObject event)
protected void
compareInputChanged(org.eclipse.compare.structuremergeviewer.ICompareInput input)
Triggered by fCompareInputChangeListener andinputChanged(Object, Object)
.protected void
compareInputChanged(org.eclipse.compare.structuremergeviewer.ICompareInput input, org.eclipse.core.runtime.IProgressMonitor monitor)
protected void
compareInputChanged(Comparison input, org.eclipse.core.runtime.IProgressMonitor monitor)
protected void
compareInputChanged(ComparisonScopeInput input, org.eclipse.core.runtime.IProgressMonitor monitor)
protected void
compareInputChanged(IComparisonScope scope, Comparison comparison, org.eclipse.core.runtime.IProgressMonitor monitor)
protected AbstractStructuredViewerWrapper.ControlAndViewer<org.eclipse.swt.custom.CTabFolder,WrappableTreeViewer>
createControlAndViewer(org.eclipse.swt.widgets.Composite parent)
Should call#setViewer(org.eclipse.jface.viewers.Viewer)
.protected CompareToolBar
createToolBar(org.eclipse.jface.action.ToolBarManager manager)
protected void
disposeResourceSet(ResourceSet resourceSet)
Disposes theResourceSet
.protected void
enableToolbar(org.eclipse.core.runtime.IProgressMonitor monitor)
protected void
expandTreeToLevel(int level, long timeout)
Expands thetree viewer
to the given level for at most the given number of milliseconds.protected void
fireSelectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent event)
EMFCompareStructureMergeViewerContentProvider
getContentProvider()
protected int
getDefaultTreeExpansionLevel()
Returns the default expansion level for the tree viewer.org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider
getLabelProvider()
Navigatable
getNavigatable()
Returns theNavigatable
for this structure merge viewer.protected CompareToolBar
getToolBar()
Returns the toolbar for this Structure merge viewer.protected long
getTreeExpandTimeout()
Returns the timeout limit for the number of seconds spent expanding the tree viewer.org.eclipse.jface.viewers.TreeViewer
getTreeViewer()
Returns the tree viewer.void
handleDifferenceFilterChange(IDifferenceFilterChange event)
void
handleDifferenceGroupProviderChange(IDifferenceGroupProviderChange event)
protected void
handleDispose(org.eclipse.swt.events.DisposeEvent event)
void
handleEditingDomainChange(ICompareEditingDomainChange event)
protected void
handlePreferenceChangedEvent(org.eclipse.jface.util.PropertyChangeEvent event)
Handles changes to the UI-related preferences in thepreferenceStore
.protected void
hookAdapters(org.eclipse.compare.structuremergeviewer.ICompareInput input, Comparison compareResult)
Hooks the adapters required for handling UI properly.protected ComposedAdapterFactory
initAdapterFactory(Comparison comparison)
Creates a new adapter factory based on the current compare configuration.protected void
initToolbar(org.eclipse.core.runtime.IProgressMonitor monitor)
The tool bar must be init after we know the editable state of left and right input.protected void
inputChanged(Object input, Object oldInput)
protected void
internalRefresh(Object element)
protected boolean
isHighlightRelatedChanges()
Returns whether we highlight changes related to the current selected change.protected boolean
isSelectFirstChange()
Returns whether the first change should be selected automatically after initialization.void
mergePreviewModeChange(IMergePreviewModeChange event)
protected void
preHookCreateControlAndViewer()
void
refresh()
void
removeSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener listener)
protected void
selectFirstDiffOrDisplayLabelViewer(Comparison comparison)
Select the first difference...if there are differences, otherwise, display appropriate content viewer (no differences or no visible differences)protected void
updateHighlightRelatedChanges(org.eclipse.jface.viewers.ISelection selection)
Updates the highlighting of related changes for the current selection, if it isenabled
.-
Methods inherited from class org.eclipse.emf.compare.ide.ui.internal.structuremergeviewer.AbstractStructuredViewerWrapper
addDragSupport, addDropSupport, addFilter, doFindInputItem, doFindItem, doUpdateItem, getComparator, getCompareConfiguration, getComparer, getControl, getFilters, getSelectionFromWidget, getSorter, getViewer, handleInvalidSelection, removeFilter, resetFilters, reveal, setComparator, setComparer, setContentProvider, setFilters, setLabelProvider, setSelectionToWidget, setSorter, setUseHashlookup
-
Methods inherited from class org.eclipse.jface.viewers.StructuredViewer
addDoubleClickListener, addOpenListener, addPostSelectionChangedListener, assertContentProviderType, assertElementsNotNull, associate, buildLabel, disassociate, equals, filter, findItem, findItems, fireDoubleClick, fireOpen, firePostSelectionChanged, getColorAndFontCollector, getFilteredChildren, getItem, getRawChildren, getRoot, getSelection, getSortedChildren, getStructuredSelection, handleDoubleSelect, handleLabelProviderChanged, handleOpen, handlePostSelect, handleSelect, hasFilters, hookControl, internalRefresh, internalUpdate, mapElement, needsRefilter, preservingSelection, refresh, refresh, refresh, refreshItem, removeDoubleClickListener, removeOpenListener, removePostSelectionChangedListener, setInput, setSelection, setSelectionToWidget, testFindItem, testFindItems, unmapAllElements, unmapElement, unmapElement, update, update, updateItem, updateSelection, usingElementMap
-
Methods inherited from class org.eclipse.jface.viewers.Viewer
addHelpListener, fireHelpRequested, getData, handleHelpRequest, removeHelpListener, scrollDown, scrollUp, setData, setSelection
-
-
-
-
Field Detail
-
preferenceStore
protected final org.eclipse.jface.preference.IPreferenceStore preferenceStore
Preference store holding UI-related settings for this viewer.
-
currentSelection
protected org.eclipse.jface.viewers.ISelection currentSelection
The current selection.
-
preferenceChangeListener
protected org.eclipse.jface.util.IPropertyChangeListener preferenceChangeListener
Listener reacting to changes in thepreferenceStore
.
-
-
Constructor Detail
-
EMFCompareStructureMergeViewer
public EMFCompareStructureMergeViewer(org.eclipse.swt.widgets.Composite parent, EMFCompareConfiguration config)
Constructor.- Parameters:
parent
- the SWT parent control under which to create the viewer's SWT control.config
- a compare configuration the newly created viewer might want to use.
-
-
Method Detail
-
createToolBar
protected CompareToolBar createToolBar(org.eclipse.jface.action.ToolBarManager manager)
-
initToolbar
protected void initToolbar(org.eclipse.core.runtime.IProgressMonitor monitor)
The tool bar must be init after we know the editable state of left and right input.
-
enableToolbar
protected void enableToolbar(org.eclipse.core.runtime.IProgressMonitor monitor)
-
getToolBar
protected CompareToolBar getToolBar()
Returns the toolbar for this Structure merge viewer.- Returns:
- The
CompareToolBar
.
-
getNavigatable
public Navigatable getNavigatable()
Returns theNavigatable
for this structure merge viewer.- Returns:
- The
Navigatable
.
-
preHookCreateControlAndViewer
protected void preHookCreateControlAndViewer()
- Overrides:
preHookCreateControlAndViewer
in classAbstractStructuredViewerWrapper<org.eclipse.swt.custom.CTabFolder,WrappableTreeViewer>
- See Also:
org.eclipse.emf.compare.ide.ui.internal.structuremergeviewer.AbstractViewerWrapper#preHookCreateControlAndViewer()
-
initAdapterFactory
protected ComposedAdapterFactory initAdapterFactory(Comparison comparison)
Creates a new adapter factory based on the current compare configuration.- Returns:
- adapter factory
-
colorChanged
public void colorChanged(IColorChangeEvent changeColorEvent)
-
createControlAndViewer
protected AbstractStructuredViewerWrapper.ControlAndViewer<org.eclipse.swt.custom.CTabFolder,WrappableTreeViewer> createControlAndViewer(org.eclipse.swt.widgets.Composite parent)
Should call#setViewer(org.eclipse.jface.viewers.Viewer)
.- Specified by:
createControlAndViewer
in classAbstractStructuredViewerWrapper<org.eclipse.swt.custom.CTabFolder,WrappableTreeViewer>
- Parameters:
parent
- the SWT control under which to create the viewer.- Returns:
- a composite control that will contains all sub-control of this wrapper.
-
getTreeViewer
public org.eclipse.jface.viewers.TreeViewer getTreeViewer()
Returns the tree viewer.- Returns:
- the tree viewer
-
getContentProvider
public EMFCompareStructureMergeViewerContentProvider getContentProvider()
- Overrides:
getContentProvider
in classorg.eclipse.jface.viewers.ContentViewer
- See Also:
ContentViewer.getContentProvider()
-
getLabelProvider
public org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider getLabelProvider()
- Overrides:
getLabelProvider
in classorg.eclipse.jface.viewers.ContentViewer
-
handleEditingDomainChange
public void handleEditingDomainChange(ICompareEditingDomainChange event)
-
mergePreviewModeChange
public void mergePreviewModeChange(IMergePreviewModeChange event)
-
handleDifferenceFilterChange
public void handleDifferenceFilterChange(IDifferenceFilterChange event)
-
refresh
public void refresh()
- Overrides:
refresh
in classorg.eclipse.jface.viewers.StructuredViewer
-
handleDifferenceGroupProviderChange
public void handleDifferenceGroupProviderChange(IDifferenceGroupProviderChange event)
-
inputChanged
protected void inputChanged(Object input, Object oldInput)
- Overrides:
inputChanged
in classorg.eclipse.jface.viewers.Viewer
- See Also:
Viewer.inputChanged(Object, Object)
-
handleDispose
protected void handleDispose(org.eclipse.swt.events.DisposeEvent event)
- Overrides:
handleDispose
in classAbstractStructuredViewerWrapper<org.eclipse.swt.custom.CTabFolder,WrappableTreeViewer>
- See Also:
org.eclipse.emf.compare.ide.ui.internal.structuremergeviewer.AbstractViewerWrapper#handleDispose(DisposeEvent)
-
commandStackChanged
public void commandStackChanged(EventObject event)
- Specified by:
commandStackChanged
in interfaceCommandStackListener
- See Also:
CommandStackListener.commandStackChanged(java.util.EventObject)
-
compareInputChanged
protected void compareInputChanged(org.eclipse.compare.structuremergeviewer.ICompareInput input)
Triggered by fCompareInputChangeListener andinputChanged(Object, Object)
.
-
compareInputChanged
protected void compareInputChanged(Comparison input, org.eclipse.core.runtime.IProgressMonitor monitor)
-
compareInputChanged
protected void compareInputChanged(ComparisonScopeInput input, org.eclipse.core.runtime.IProgressMonitor monitor)
-
compareInputChanged
protected void compareInputChanged(IComparisonScope scope, Comparison comparison, org.eclipse.core.runtime.IProgressMonitor monitor)
-
compareInputChanged
protected void compareInputChanged(org.eclipse.compare.structuremergeviewer.ICompareInput input, org.eclipse.core.runtime.IProgressMonitor monitor)
-
hookAdapters
protected void hookAdapters(org.eclipse.compare.structuremergeviewer.ICompareInput input, Comparison compareResult)
Hooks the adapters required for handling UI properly.- Parameters:
input
-compareResult
-
-
isSelectFirstChange
protected boolean isSelectFirstChange()
Returns whether the first change should be selected automatically after initialization.- Returns:
- true if the first change should be selected automatically, false otherwise.
- See Also:
selectFirstDiffOrDisplayLabelViewer(Comparison)
-
getDefaultTreeExpansionLevel
protected int getDefaultTreeExpansionLevel()
Returns the default expansion level for the tree viewer.- Returns:
- non-negative level, or
ALL_LEVELS
to expand all levels of the tree - See Also:
expandTreeToLevel(int, long)
-
getTreeExpandTimeout
protected long getTreeExpandTimeout()
Returns the timeout limit for the number of seconds spent expanding the tree viewer.- Returns:
- the maximum number of seconds to spend on expanding the tree viewer.
- See Also:
expandTreeToLevel(int, long)
-
expandTreeToLevel
protected void expandTreeToLevel(int level, long timeout)
Expands thetree viewer
to the given level for at most the given number of milliseconds.- Parameters:
level
- non-negative level, orALL_LEVELS
to expand all levels of the treetimeout
- the maximum number of milliseconds to spend on expanding the tree.- See Also:
AbstractTreeViewer.expandToLevel(int)
-
isHighlightRelatedChanges
protected boolean isHighlightRelatedChanges()
Returns whether we highlight changes related to the current selected change.- Returns:
- true if we highlight related changes, false otherwise.
- See Also:
updateHighlightRelatedChanges(ISelection)
-
updateHighlightRelatedChanges
protected void updateHighlightRelatedChanges(org.eclipse.jface.viewers.ISelection selection)
Updates the highlighting of related changes for the current selection, if it isenabled
.- Parameters:
selection
- selection
-
clearHighlightRelatedChanges
protected void clearHighlightRelatedChanges()
Clears the highlighting of related changes for the current selection.
-
selectFirstDiffOrDisplayLabelViewer
protected void selectFirstDiffOrDisplayLabelViewer(Comparison comparison)
Select the first difference...if there are differences, otherwise, display appropriate content viewer (no differences or no visible differences)- Parameters:
comparison
- the comparison used to know if there are differences.
-
disposeResourceSet
protected void disposeResourceSet(ResourceSet resourceSet)
Disposes theResourceSet
.- Parameters:
resourceSet
- that need to be disposed.
-
internalRefresh
protected void internalRefresh(Object element)
- Specified by:
internalRefresh
in classorg.eclipse.jface.viewers.StructuredViewer
- See Also:
StructuredViewer.internalRefresh(java.lang.Object)
-
handlePreferenceChangedEvent
protected void handlePreferenceChangedEvent(org.eclipse.jface.util.PropertyChangeEvent event)
Handles changes to the UI-related preferences in thepreferenceStore
.- Parameters:
event
- change event for a preference property
-
addSelectionChangedListener
public void addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener listener)
- Specified by:
addSelectionChangedListener
in interfaceorg.eclipse.jface.viewers.ISelectionProvider
- Overrides:
addSelectionChangedListener
in classorg.eclipse.jface.viewers.Viewer
-
removeSelectionChangedListener
public void removeSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener listener)
- Specified by:
removeSelectionChangedListener
in interfaceorg.eclipse.jface.viewers.ISelectionProvider
- Overrides:
removeSelectionChangedListener
in classorg.eclipse.jface.viewers.Viewer
-
fireSelectionChanged
protected void fireSelectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent event)
- Overrides:
fireSelectionChanged
in classorg.eclipse.jface.viewers.Viewer
-
-