Class CompareUI


  • public final class CompareUI
    extends Object
    The class CompareUI defines the entry point to initiate a configurable compare operation on arbitrary resources. The result of the compare is opened into a compare editor where the details can be browsed and edited in dynamically selected structure and content viewers.

    The Compare UI provides a registry for content and structure compare viewers, which is initialized from extensions contributed to extension points declared by this plug-in.

    Restriction:
    This class is not intended to be instantiated by clients.
    • Field Detail

      • PLUGIN_ID

        public static final String PLUGIN_ID
        Compare Plug-in ID (value "org.eclipse.compare").
        Since:
        2.0
        See Also:
        Constant Field Values
      • PREFERENCE_PAGE_ID

        public static final String PREFERENCE_PAGE_ID
        The id of the Compare Preference Page (value "org.eclipse.compare.internal.ComparePreferencePage").
        Since:
        3.1
        See Also:
        Constant Field Values
      • DESC_DTOOL_NEXT

        public static final ImageDescriptor DESC_DTOOL_NEXT
        Image descriptor for the disabled icon of the 'Next' tool bar button.
        Since:
        2.0
      • DESC_CTOOL_NEXT

        public static final ImageDescriptor DESC_CTOOL_NEXT
        Image descriptor for the normal icon of the 'Next' tool bar button.
        Since:
        2.0
      • DESC_ETOOL_NEXT

        public static final ImageDescriptor DESC_ETOOL_NEXT
        Image descriptor for the roll-over icon of the 'Next' tool bar button.
        Since:
        2.0
      • DESC_DTOOL_PREV

        public static final ImageDescriptor DESC_DTOOL_PREV
        Image descriptor for the disabled icon of the 'Previous' tool bar button.
        Since:
        2.0
      • DESC_CTOOL_PREV

        public static final ImageDescriptor DESC_CTOOL_PREV
        Image descriptor for the normal icon of the 'Previous' tool bar button.
        Since:
        2.0
      • DESC_ETOOL_PREV

        public static final ImageDescriptor DESC_ETOOL_PREV
        Image descriptor for the roll-over icon of the 'Previous' tool bar button.
        Since:
        2.0
      • COMPARE_VIEWER_TITLE

        public static final String COMPARE_VIEWER_TITLE
        Name of the title property of a compare viewer. If a property with this name is set on the top level SWT control of a viewer, it is used as a title in the pane's title bar.
        See Also:
        Constant Field Values
    • Method Detail

      • getResourceBundle

        public static ResourceBundle getResourceBundle()
        Returns this plug-in's resource bundle.
        Returns:
        the plugin's resource bundle
      • openCompareEditor

        public static void openCompareEditor​(CompareEditorInput input)
        Performs the comparison described by the given input and opens a compare editor on the result in the currently active workbench page.
        Parameters:
        input - the input on which to open the compare editor
      • openCompareEditor

        public static void openCompareEditor​(CompareEditorInput input,
                                             boolean activate)
        Performs the comparison described by the given input and opens a compare editor on the result in the currently active workbench page.
        Parameters:
        input - the input on which to open the compare editor
        activate - if true the editor will be activated
        Since:
        3.5
        See Also:
        IWorkbenchPage.openEditor(org.eclipse.ui.IEditorInput, String, boolean)
      • openCompareEditorOnPage

        public static void openCompareEditorOnPage​(CompareEditorInput input,
                                                   IWorkbenchPage page)
        Performs the comparison described by the given input and opens a compare editor on the result in the given workbench page.
        Parameters:
        input - the input on which to open the compare editor
        page - the workbench page in which to open the compare editor
        Since:
        2.1
      • reuseCompareEditor

        public static void reuseCompareEditor​(CompareEditorInput input,
                                              IReusableEditor editor)
        Performs the comparison described by the given input and shows the result in the given editor.
        Parameters:
        input - the input on which to open the compare editor
        editor - the compare editor to reuse or null to create a new one
        Since:
        3.0
      • openCompareDialog

        public static void openCompareDialog​(CompareEditorInput input)
        Performs the comparison described by the given input and opens a modal compare dialog on the result.
        Parameters:
        input - the input on which to open the compare dialog
      • registerImageDescriptor

        public static void registerImageDescriptor​(String type,
                                                   ImageDescriptor descriptor)
        Registers an image descriptor for the given type.
        Parameters:
        type - the type
        descriptor - the image descriptor
      • getImage

        public static Image getImage​(String type)
        Returns a shared image for the given type, or a generic image if none has been registered for the given type.

        Note: Images returned from this method will be automatically disposed of when this plug-in shuts down. Callers must not dispose of these images themselves.

        Parameters:
        type - the type
        Returns:
        the image
      • disposeOnShutdown

        public static void disposeOnShutdown​(Image image)
        Registers the given image for being disposed when this plug-in is shutdown.
        Parameters:
        image - the image to register for disposal
      • getImage

        public static Image getImage​(IAdaptable adaptable)
        Returns a shared image for the given adaptable. This convenience method queries the given adaptable for its IWorkbenchAdapter.getImageDescriptor, which it uses to create an image if it does not already have one.

        Note: Images returned from this method will be automatically disposed of when this plug-in shuts down. Callers must not dispose of these images themselves.

        Parameters:
        adaptable - the adaptable for which to find an image
        Returns:
        an image
      • createStreamMerger

        @Deprecated
        public static IStreamMerger createStreamMerger​(IContentType type)
        Deprecated.
        Clients should obtain an org.eclipse.team.core.mapping.IStorageMerger from the org.eclipse.team.core.Team#createMerger(IContentType) method.
        Creates a stream merger for the given content type. If no stream merger is registered for the given content type null is returned.
        Parameters:
        type - the type for which to find a stream merger
        Returns:
        a stream merger for the given type, or null if no stream merger has been registered
      • createStreamMerger

        @Deprecated
        public static IStreamMerger createStreamMerger​(String type)
        Deprecated.
        Clients should obtain an org.eclipse.team.core.mapping.IStorageMerger from the org.eclipse.team.core.Team#createMerger(String) method.
        Creates a stream merger for the given file extension. If no stream merger is registered for the file extension null is returned.
        Parameters:
        type - the type for which to find a stream merger
        Returns:
        a stream merger for the given type, or null if no stream merger has been registered
      • findStructureViewer

        public static Viewer findStructureViewer​(Viewer oldViewer,
                                                 ICompareInput input,
                                                 Composite parent,
                                                 CompareConfiguration configuration)
        Returns a structure compare viewer based on an old viewer and an input object. If the old viewer is suitable for showing the input, the old viewer is returned. Otherwise, the input's type is used to find a viewer descriptor in the registry which in turn is used to create a structure compare viewer under the given parent composite. If no viewer descriptor can be found null is returned.
        Parameters:
        oldViewer - a new viewer is only created if this old viewer cannot show the given input
        input - the input object for which to find a structure viewer
        parent - the SWT parent composite under which the new viewer is created
        configuration - a configuration which is passed to a newly created viewer
        Returns:
        the compare viewer which is suitable for the given input object or null
      • findContentViewer

        public static Viewer findContentViewer​(Viewer oldViewer,
                                               ICompareInput input,
                                               Composite parent,
                                               CompareConfiguration configuration)
        Returns a content compare viewer based on an old viewer and an input object. If the old viewer is suitable for showing the input the old viewer is returned. Otherwise the input's type is used to find a viewer descriptor in the registry which in turn is used to create a content compare viewer under the given parent composite. If no viewer descriptor can be found null is returned.
        Parameters:
        oldViewer - a new viewer is only created if this old viewer cannot show the given input
        input - the input object for which to find a content viewer
        parent - the SWT parent composite under which the new viewer is created
        configuration - a configuration which is passed to a newly created viewer
        Returns:
        the compare viewer which is suitable for the given input object or null
      • findContentViewer

        public static Viewer findContentViewer​(Viewer oldViewer,
                                               Object input,
                                               Composite parent,
                                               CompareConfiguration configuration)
        Returns a content compare viewer based on an old viewer and an input object. If the old viewer is suitable for showing the input the old viewer is returned. Otherwise the input's type is used to find a viewer descriptor in the registry which in turn is used to create a content compare viewer under the given parent composite. In order to determine the input's type, the input must either implement IStreamContentAccessor and ITypedElement or ICompareInput. If no viewer descriptor can be found null is returned.
        Parameters:
        oldViewer - a new viewer is only created if this old viewer cannot show the given input
        input - the input object for which to find a content viewer. Must implement either IStreamContentAccessor and ITypedElement or ICompareInput.
        parent - the SWT parent composite under which the new viewer is created
        configuration - a configuration which is passed to a newly created viewer
        Returns:
        the compare viewer which is suitable for the given input object or null
      • addStructureViewerAlias

        public static void addStructureViewerAlias​(String type,
                                                   String alias)
        Adds an alias for the given type. Subsequent calls to findStructureViewer treat alias as a synonym for type and return the same viewer.
        Parameters:
        type - a type name for which a viewer has been registered
        alias - a type name which should be treated as a synonym of type
        Since:
        2.0
        Restriction:
        This method is for internal use only. Clients should not call this method.
      • removeAllStructureViewerAliases

        public static void removeAllStructureViewerAliases​(String type)
        Remove all aliases for the given type. This method does not affect the initial binding between type and viewer. If no aliases exist for the given type this method does nothing.
        Parameters:
        type - the type name for which all synonyms are removed.
        Since:
        2.0
        Restriction:
        This method is for internal use only. Clients should not call this method.
      • getDocument

        public static IDocument getDocument​(Object input)
        Retrieve a document for the given input or return null if no document has been registered for the input.
        Parameters:
        input - the object for which to retrieve a document
        Returns:
        a document or null if no document was registered for the input
        Since:
        3.1
      • registerDocument

        public static void registerDocument​(Object input,
                                            IDocument document)
        Register a document for the given input.
        Parameters:
        input - the object for which to register a document
        document - the document to register
        Since:
        3.1
      • unregisterDocument

        public static void unregisterDocument​(IDocument document)
        Unregister the given document.
        Parameters:
        document - the document to unregister
        Since:
        3.1
      • createStructureCreator

        public static IStructureCreator createStructureCreator​(ITypedElement element)
        Create and return a structure creator for the given typed element. Return null if an appropriate structure creator could not be obtained.
        Parameters:
        element - the typed element
        Returns:
        structure creator for the given typed element or null
        Since:
        3.4