Class EMFCompareContentMergeViewer
- java.lang.Object
-
- org.eclipse.jface.viewers.Viewer
-
- org.eclipse.jface.viewers.ContentViewer
-
- org.eclipse.compare.contentmergeviewer.ContentMergeViewer
-
- org.eclipse.emf.compare.ide.ui.internal.contentmergeviewer.EMFCompareContentMergeViewer
-
- All Implemented Interfaces:
org.eclipse.compare.contentmergeviewer.IFlushable,org.eclipse.compare.internal.IFlushable2,org.eclipse.compare.IPropertyChangeNotifier,org.eclipse.core.runtime.IAdaptable,CommandStackListener,ICompareColor.Provider,org.eclipse.jface.viewers.IInputProvider,org.eclipse.jface.viewers.IInputSelectionProvider,org.eclipse.jface.viewers.ISelectionChangedListener,org.eclipse.jface.viewers.ISelectionProvider
- Direct Known Subclasses:
AbstractTreeContentMergeViewer,TableContentMergeViewer
public abstract class EMFCompareContentMergeViewer extends org.eclipse.compare.contentmergeviewer.ContentMergeViewer implements org.eclipse.jface.viewers.ISelectionChangedListener, ICompareColor.Provider, org.eclipse.core.runtime.IAdaptable, CommandStackListener
-
-
Field Summary
Fields Modifier and Type Field Description protected static intCENTER_WIDTHWidth of center bar
-
Constructor Summary
Constructors Modifier Constructor Description protectedEMFCompareContentMergeViewer(int style, ResourceBundle bundle, EMFCompareConfiguration cc)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidcolorChanged(IColorChangeEvent changeColorEvent)voidcommandStackChanged(EventObject event)protected voidcopy(boolean leftToRight)protected org.eclipse.swt.widgets.ControlcreateCenterControl(org.eclipse.swt.widgets.Composite parent)protected voidcreateControls(org.eclipse.swt.widgets.Composite composite)protected abstract IMergeViewercreateMergeViewer(org.eclipse.swt.widgets.Composite parent, IMergeViewer.MergeViewerSide side)Creates the merge viewer for the given parent and the given side.protected voidcreateToolItems(org.eclipse.jface.action.ToolBarManager toolBarManager)protected booleandoSave(Object newInput, Object oldInput)Inhibits this method to avoid asking to save on each input change!!protected voideditingDomainChange(ICompareEditingDomain oldValue, ICompareEditingDomain newValue)protected voidflushContent(Object input, org.eclipse.core.runtime.IProgressMonitor monitor)ObjectgetAdapter(Class adapter)protected IMergeViewergetAncestorMergeViewer()protected intgetCenterWidth()ICompareColorgetCompareColor()Returns the ICompareColor.protected EMFCompareConfigurationgetCompareConfiguration()org.eclipse.swt.widgets.CompositegetControl()protected com.google.common.base.Predicate<? super EObject>getDifferenceFilterPredicate()protected IDifferenceGroupProvidergetDifferenceGroupProvider()protected DiffgetDiffFrom(IMergeViewer viewer)Checks the element selected in the given viewer in order to determine whether it can be adapted into a Diff.protected IMergeViewer.MergeViewerSidegetEffectiveSide(IMergeViewer.MergeViewerSide side)Returns the effective side taking into accountCompareConfiguration.isMirrored()to switch left and right.protected org.eclipse.compare.internal.CompareHandlerServicegetHandlerService()protected IMergeViewergetLeftMergeViewer()protected IMergeViewergetRightMergeViewer()voidhandleAdapterFactoryChange(IAdapterFactoryChange event)voidhandleDifferenceFiltersChange(IDifferenceFilterChange event)voidhandleDifferenceGroupProviderChange(IDifferenceGroupProviderChange event)protected voidhandleDispose(org.eclipse.swt.events.DisposeEvent event)voidhandleEditingDomainChange(ICompareEditingDomainChange event)protected voidhandleMirroredChanged()This does the processingprotected voidhandlePropertyChangeEvent(org.eclipse.jface.util.PropertyChangeEvent event)protected voidhandleResizeAncestor(int x, int y, int width, int height)protected voidhandleResizeLeftRight(int x, int y, int width1, int centerWidth, int width2, int height)protected abstract voidpaintCenter(org.eclipse.swt.graphics.GC g)protected voidredrawCenterControl()voidselectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent event)voidsetContentProvider(org.eclipse.jface.viewers.IContentProvider contentProvider)protected voidupdateContent(Object ancestor, Object left, Object right)-
Methods inherited from class org.eclipse.compare.contentmergeviewer.ContentMergeViewer
addPropertyChangeListener, buildControl, flush, flushLeft, flushRight, getCenterControl, getContents, getResourceBundle, getSelection, getTitle, getToolBarManager, handleCompareInputChange, handleSetFocus, hookControl, inputChanged, internalIsLeftDirty, internalIsRightDirty, isAncestorVisible, isLeftDirty, isLeftEditable, isRightDirty, isRightEditable, isThreeWay, refresh, removePropertyChangeListener, save, setConfirmSave, setLeftDirty, setRightDirty, setSelection, updateHeader, updateToolItems
-
Methods inherited from class org.eclipse.jface.viewers.ContentViewer
getContentProvider, getInput, getLabelProvider, handleLabelProviderChanged, labelProviderChanged, setInput, setLabelProvider
-
-
-
-
Field Detail
-
CENTER_WIDTH
protected static final int CENTER_WIDTH
Width of center bar- See Also:
- Constant Field Values
-
-
Constructor Detail
-
EMFCompareContentMergeViewer
protected EMFCompareContentMergeViewer(int style, ResourceBundle bundle, EMFCompareConfiguration cc)- Parameters:
style-bundle-cc-
-
-
Method Detail
-
setContentProvider
public void setContentProvider(org.eclipse.jface.viewers.IContentProvider contentProvider)
- Overrides:
setContentProviderin classorg.eclipse.compare.contentmergeviewer.ContentMergeViewer
-
handleAdapterFactoryChange
public void handleAdapterFactoryChange(IAdapterFactoryChange event)
-
colorChanged
public void colorChanged(IColorChangeEvent changeColorEvent)
-
handleEditingDomainChange
public void handleEditingDomainChange(ICompareEditingDomainChange event)
- See Also:
org.eclipse.emf.compare.ide.ui.internal.configuration.EMFCompareConfiguration#editingDomainChange(org.eclipse.emf.compare.domain.ICompareEditingDomain, org.eclipse.emf.compare.domain.ICompareEditingDomain)
-
editingDomainChange
protected void editingDomainChange(ICompareEditingDomain oldValue, ICompareEditingDomain newValue)
-
handleDifferenceFiltersChange
public void handleDifferenceFiltersChange(IDifferenceFilterChange event)
-
getDifferenceFilterPredicate
protected final com.google.common.base.Predicate<? super EObject> getDifferenceFilterPredicate()
- Returns:
- the differenceFilterPredicate
-
handleDifferenceGroupProviderChange
public void handleDifferenceGroupProviderChange(IDifferenceGroupProviderChange event)
-
getDifferenceGroupProvider
protected final IDifferenceGroupProvider getDifferenceGroupProvider()
- Returns:
- the differenceGroupProvider
-
getCompareColor
public ICompareColor getCompareColor()
Returns the ICompareColor.- Specified by:
getCompareColorin interfaceICompareColor.Provider- Returns:
- the ICompareColor.
- See Also:
org.eclipse.emf.compare.rcp.ui.internal.mergeviewer.ICompareColorProvider#getCompareColor()
-
updateContent
protected void updateContent(Object ancestor, Object left, Object right)
- Specified by:
updateContentin classorg.eclipse.compare.contentmergeviewer.ContentMergeViewer- See Also:
ContentMergeViewer.updateContent(java.lang.Object, java.lang.Object, java.lang.Object)
-
doSave
protected boolean doSave(Object newInput, Object oldInput)
Inhibits this method to avoid asking to save on each input change!!- Overrides:
doSavein classorg.eclipse.compare.contentmergeviewer.ContentMergeViewer- See Also:
ContentMergeViewer.doSave(java.lang.Object, java.lang.Object)
-
createControls
protected void createControls(org.eclipse.swt.widgets.Composite composite)
- Specified by:
createControlsin classorg.eclipse.compare.contentmergeviewer.ContentMergeViewer- See Also:
ContentMergeViewer.createControls(org.eclipse.swt.widgets.Composite)
-
getEffectiveSide
protected IMergeViewer.MergeViewerSide getEffectiveSide(IMergeViewer.MergeViewerSide side)
Returns the effective side taking into accountCompareConfiguration.isMirrored()to switch left and right.- Parameters:
side-- Returns:
- the effective side with respect to mirroring.
-
createToolItems
protected void createToolItems(org.eclipse.jface.action.ToolBarManager toolBarManager)
- Overrides:
createToolItemsin classorg.eclipse.compare.contentmergeviewer.ContentMergeViewer- See Also:
ContentMergeViewer.createToolItems(org.eclipse.jface.action.ToolBarManager)
-
commandStackChanged
public void commandStackChanged(EventObject event)
- Specified by:
commandStackChangedin interfaceCommandStackListener
-
copy
protected void copy(boolean leftToRight)
- Specified by:
copyin classorg.eclipse.compare.contentmergeviewer.ContentMergeViewer- See Also:
ContentMergeViewer.copy(boolean)
-
handleResizeAncestor
protected void handleResizeAncestor(int x, int y, int width, int height)- Specified by:
handleResizeAncestorin classorg.eclipse.compare.contentmergeviewer.ContentMergeViewer- See Also:
ContentMergeViewer.handleResizeAncestor(int, int, int, int)
-
handleResizeLeftRight
protected void handleResizeLeftRight(int x, int y, int width1, int centerWidth, int width2, int height)- Specified by:
handleResizeLeftRightin classorg.eclipse.compare.contentmergeviewer.ContentMergeViewer- See Also:
ContentMergeViewer.handleResizeLeftRight(int, int, int, int, int, int)
-
createMergeViewer
protected abstract IMergeViewer createMergeViewer(org.eclipse.swt.widgets.Composite parent, IMergeViewer.MergeViewerSide side)
Creates the merge viewer for the given parent and the given side.- Parameters:
parent- composite in which to create the merge viewer.side- the side of the new viewer.- Returns:
- a new merge viewer.
-
getCenterWidth
protected final int getCenterWidth()
- Overrides:
getCenterWidthin classorg.eclipse.compare.contentmergeviewer.ContentMergeViewer
-
getHandlerService
protected final org.eclipse.compare.internal.CompareHandlerService getHandlerService()
-
getControl
public org.eclipse.swt.widgets.Composite getControl()
- Overrides:
getControlin classorg.eclipse.compare.contentmergeviewer.ContentMergeViewer- See Also:
ContentMergeViewer.getControl()
-
createCenterControl
protected org.eclipse.swt.widgets.Control createCenterControl(org.eclipse.swt.widgets.Composite parent)
- Overrides:
createCenterControlin classorg.eclipse.compare.contentmergeviewer.ContentMergeViewer- See Also:
ContentMergeViewer.createCenterControl(org.eclipse.swt.widgets.Composite)
-
paintCenter
protected abstract void paintCenter(org.eclipse.swt.graphics.GC g)
-
getAdapter
public Object getAdapter(Class adapter)
- Specified by:
getAdapterin interfaceorg.eclipse.core.runtime.IAdaptable
-
getAncestorMergeViewer
protected IMergeViewer getAncestorMergeViewer()
- Returns:
- the fAncestor
-
getLeftMergeViewer
protected IMergeViewer getLeftMergeViewer()
- Returns:
- the fLeft
-
getRightMergeViewer
protected IMergeViewer getRightMergeViewer()
- Returns:
- the fRight
-
selectionChanged
public void selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent event)
- Specified by:
selectionChangedin interfaceorg.eclipse.jface.viewers.ISelectionChangedListener- See Also:
ISelectionChangedListener.selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
-
getDiffFrom
protected Diff getDiffFrom(IMergeViewer viewer)
Checks the element selected in the given viewer in order to determine whether it can be adapted into a Diff.- Parameters:
viewer- The viewer which selection is to be checked.- Returns:
- The first of the Diffs selected in the given viewer, if any.
-
handleDispose
protected void handleDispose(org.eclipse.swt.events.DisposeEvent event)
- Overrides:
handleDisposein classorg.eclipse.compare.contentmergeviewer.ContentMergeViewer- See Also:
ContentMergeViewer.handleDispose(org.eclipse.swt.events.DisposeEvent)
-
redrawCenterControl
protected final void redrawCenterControl()
-
getCompareConfiguration
protected EMFCompareConfiguration getCompareConfiguration()
- Overrides:
getCompareConfigurationin classorg.eclipse.compare.contentmergeviewer.ContentMergeViewer- See Also:
ContentMergeViewer.getCompareConfiguration()
-
flushContent
protected void flushContent(Object input, org.eclipse.core.runtime.IProgressMonitor monitor)
- Overrides:
flushContentin classorg.eclipse.compare.contentmergeviewer.ContentMergeViewer
-
handlePropertyChangeEvent
protected void handlePropertyChangeEvent(org.eclipse.jface.util.PropertyChangeEvent event)
This override uses a
MirrorManagerto intercept switches to the swap preference for controlling the mirror mode. When that preference property changes,handleMirroredChanged()is called.- Overrides:
handlePropertyChangeEventin classorg.eclipse.compare.contentmergeviewer.ContentMergeViewer
-
handleMirroredChanged
protected void handleMirroredChanged()
This does the processing
-
-