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 Details

  • Constructor Details

  • Method Details

    • setContentProvider

      public void setContentProvider​(org.eclipse.jface.viewers.IContentProvider contentProvider)
      Overrides:
      setContentProvider in class org.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:
      getCompareColor in interface ICompareColor.Provider
      Returns:
      the ICompareColor.
      See Also:
      org.eclipse.emf.compare.rcp.ui.internal.mergeviewer.ICompareColorProvider#getCompareColor()
    • updateContent

      protected void updateContent​(java.lang.Object ancestor, java.lang.Object left, java.lang.Object right)
      Specified by:
      updateContent in class org.eclipse.compare.contentmergeviewer.ContentMergeViewer
      See Also:
      ContentMergeViewer.updateContent(java.lang.Object, java.lang.Object, java.lang.Object)
    • doSave

      protected boolean doSave​(java.lang.Object newInput, java.lang.Object oldInput)
      Inhibits this method to avoid asking to save on each input change!!
      Overrides:
      doSave in class org.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:
      createControls in class org.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 account CompareConfiguration.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:
      createToolItems in class org.eclipse.compare.contentmergeviewer.ContentMergeViewer
      See Also:
      ContentMergeViewer.createToolItems(org.eclipse.jface.action.ToolBarManager)
    • commandStackChanged

      public void commandStackChanged​(java.util.EventObject event)
      Specified by:
      commandStackChanged in interface CommandStackListener
    • copy

      protected void copy​(boolean leftToRight)
      Specified by:
      copy in class org.eclipse.compare.contentmergeviewer.ContentMergeViewer
      See Also:
      ContentMergeViewer.copy(boolean)
    • handleResizeAncestor

      protected void handleResizeAncestor​(int x, int y, int width, int height)
      Specified by:
      handleResizeAncestor in class org.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:
      handleResizeLeftRight in class org.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:
      getCenterWidth in class org.eclipse.compare.contentmergeviewer.ContentMergeViewer
    • getHandlerService

      protected final org.eclipse.compare.internal.CompareHandlerService getHandlerService()
    • getControl

      public org.eclipse.swt.widgets.Composite getControl()
      Overrides:
      getControl in class org.eclipse.compare.contentmergeviewer.ContentMergeViewer
      See Also:
      ContentMergeViewer.getControl()
    • createCenterControl

      protected org.eclipse.swt.widgets.Control createCenterControl​(org.eclipse.swt.widgets.Composite parent)
      Overrides:
      createCenterControl in class org.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 java.lang.Object getAdapter​(java.lang.Class adapter)
      Specified by:
      getAdapter in interface org.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:
      selectionChanged in interface org.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:
      handleDispose in class org.eclipse.compare.contentmergeviewer.ContentMergeViewer
      See Also:
      ContentMergeViewer.handleDispose(org.eclipse.swt.events.DisposeEvent)
    • redrawCenterControl

      protected final void redrawCenterControl()
    • getCompareConfiguration

      protected EMFCompareConfiguration getCompareConfiguration()
      Overrides:
      getCompareConfiguration in class org.eclipse.compare.contentmergeviewer.ContentMergeViewer
      See Also:
      ContentMergeViewer.getCompareConfiguration()
    • flushContent

      protected void flushContent​(java.lang.Object input, org.eclipse.core.runtime.IProgressMonitor monitor)
      Overrides:
      flushContent in class org.eclipse.compare.contentmergeviewer.ContentMergeViewer
    • handlePropertyChangeEvent

      protected void handlePropertyChangeEvent​(org.eclipse.jface.util.PropertyChangeEvent event)

      This override uses a MirrorManager to intercept switches to the swap preference for controlling the mirror mode. When that preference property changes, handleMirroredChanged() is called.

      Overrides:
      handlePropertyChangeEvent in class org.eclipse.compare.contentmergeviewer.ContentMergeViewer
    • handleMirroredChanged

      protected void handleMirroredChanged()
      This does the processing