Class SourceViewerConfiguration

java.lang.Object
org.eclipse.jface.text.source.SourceViewerConfiguration
Direct Known Subclasses:
TextSourceViewerConfiguration

public class SourceViewerConfiguration extends Object
This class bundles the configuration space of a source viewer. Instances of this class are passed to the configure method of ISourceViewer.

Each method in this class get as argument the source viewer for which it should provide a particular configuration setting such as a presentation reconciler. Based on its specific knowledge about the returned object, the configuration might share such objects or compute them according to some rules.

Clients should subclass and override just those methods which must be specific to their needs.

See Also:
  • Constructor Details

    • SourceViewerConfiguration

      public SourceViewerConfiguration()
      Creates a new source viewer configuration that behaves according to specification of this class' methods.
  • Method Details

    • getTabWidth

      public int getTabWidth(ISourceViewer sourceViewer)
      Returns the visual width of the tab character. This implementation always returns 4.
      Parameters:
      sourceViewer - the source viewer to be configured by this configuration
      Returns:
      the tab width
    • getUndoManager

      public IUndoManager getUndoManager(ISourceViewer sourceViewer)
      Returns the undo manager for the given source viewer. This implementation always returns a new instance of DefaultUndoManager whose history length is set to 25.
      Parameters:
      sourceViewer - the source viewer to be configured by this configuration
      Returns:
      an undo manager or null if no undo/redo should not be supported
    • getReconciler

      public IReconciler getReconciler(ISourceViewer sourceViewer)
      Returns the reconciler ready to be used with the given source viewer. This implementation always returns null.
      Parameters:
      sourceViewer - the source viewer to be configured by this configuration
      Returns:
      a reconciler or null if reconciling should not be supported
    • getPresentationReconciler

      public IPresentationReconciler getPresentationReconciler(ISourceViewer sourceViewer)
      Returns the presentation reconciler ready to be used with the given source viewer.
      Parameters:
      sourceViewer - the source viewer
      Returns:
      the presentation reconciler or null if presentation reconciling should not be supported
    • getContentFormatter

      public IContentFormatter getContentFormatter(ISourceViewer sourceViewer)
      Returns the content formatter ready to be used with the given source viewer. This implementation always returns null.
      Parameters:
      sourceViewer - the source viewer to be configured by this configuration
      Returns:
      a content formatter or null if formatting should not be supported
    • getContentAssistant

      public IContentAssistant getContentAssistant(ISourceViewer sourceViewer)
      Returns the content assistant ready to be used with the given source viewer. This implementation always returns null.
      Parameters:
      sourceViewer - the source viewer to be configured by this configuration
      Returns:
      a content assistant or null if content assist should not be supported
    • getQuickAssistAssistant

      public IQuickAssistAssistant getQuickAssistAssistant(ISourceViewer sourceViewer)
      Returns the quick assist assistant ready to be used with the given source viewer. This implementation always returns null.
      Parameters:
      sourceViewer - the source viewer to be configured by this configuration
      Returns:
      a quick assist assistant or null if quick assist should not be supported
      Since:
      3.2
    • getAutoIndentStrategy

      @Deprecated public IAutoIndentStrategy getAutoIndentStrategy(ISourceViewer sourceViewer, String contentType)
      Deprecated.
      Returns the auto indentation strategy ready to be used with the given source viewer when manipulating text of the given content type. This implementation always returns an new instance of DefaultAutoIndentStrategy.
      Parameters:
      sourceViewer - the source viewer to be configured by this configuration
      contentType - the content type for which the strategy is applicable
      Returns:
      the auto indent strategy or null if automatic indentation is not to be enabled
    • getAutoEditStrategies

      public IAutoEditStrategy[] getAutoEditStrategies(ISourceViewer sourceViewer, String contentType)
      Returns the auto edit strategies ready to be used with the given source viewer when manipulating text of the given content type. For backward compatibility, this implementation always returns an array containing the result of getAutoIndentStrategy(ISourceViewer, String).
      Parameters:
      sourceViewer - the source viewer to be configured by this configuration
      contentType - the content type for which the strategies are applicable
      Returns:
      the auto edit strategies or null if automatic editing is not to be enabled
      Since:
      3.1
    • getDefaultPrefixes

      public String[] getDefaultPrefixes(ISourceViewer sourceViewer, String contentType)
      Returns the default prefixes to be used by the line-prefix operation in the given source viewer for text of the given content type. This implementation always returns null.
      Parameters:
      sourceViewer - the source viewer to be configured by this configuration
      contentType - the content type for which the prefix is applicable
      Returns:
      the default prefixes or null if the prefix operation should not be supported
      Since:
      2.0
    • getDoubleClickStrategy

      public ITextDoubleClickStrategy getDoubleClickStrategy(ISourceViewer sourceViewer, String contentType)
      Returns the double-click strategy ready to be used in this viewer when double clicking onto text of the given content type. This implementation always returns a new instance of DefaultTextDoubleClickStrategy.
      Parameters:
      sourceViewer - the source viewer to be configured by this configuration
      contentType - the content type for which the strategy is applicable
      Returns:
      a double-click strategy or null if double clicking should not be supported
    • getIndentPrefixes

      public String[] getIndentPrefixes(ISourceViewer sourceViewer, String contentType)
      Returns the prefixes to be used by the line-shift operation. This implementation always returns new String[] { "\t", " ", "" }.

      Note: This default is incorrect but cannot be changed in order not to break any existing clients. Subclasses should overwrite this method and use getIndentPrefixesForTab(int) if applicable.

      Parameters:
      sourceViewer - the source viewer to be configured by this configuration
      contentType - the content type for which the prefix is applicable
      Returns:
      the prefixes or null if the prefix operation should not be supported
    • getIndentPrefixesForTab

      protected String[] getIndentPrefixesForTab(int tabWidth)
      Computes and returns the indent prefixes for tab indentation which is represented as tabSizeInSpaces.
      Parameters:
      tabWidth - the display tab width
      Returns:
      the indent prefixes
      Since:
      3.3
      See Also:
    • getAnnotationHover

      public IAnnotationHover getAnnotationHover(ISourceViewer sourceViewer)
      Returns the annotation hover which will provide the information to be shown in a hover popup window when requested for the given source viewer. This implementation always returns null.
      Parameters:
      sourceViewer - the source viewer to be configured by this configuration
      Returns:
      an annotation hover or null if no hover support should be installed
    • getOverviewRulerAnnotationHover

      public IAnnotationHover getOverviewRulerAnnotationHover(ISourceViewer sourceViewer)
      Returns the annotation hover which will provide the information to be shown in a hover popup window when requested for the overview ruler of the given source viewer.This implementation always returns the general annotation hover returned by getAnnotationHover.
      Parameters:
      sourceViewer - the source viewer to be configured by this configuration
      Returns:
      an annotation hover or null if no hover support should be installed
      Since:
      3.0
    • getConfiguredTextHoverStateMasks

      public int[] getConfiguredTextHoverStateMasks(ISourceViewer sourceViewer, String contentType)
      Returns the SWT event state masks for which text hover are configured for the given content type.
      Parameters:
      sourceViewer - the source viewer to be configured by this configuration
      contentType - the content type
      Returns:
      an int array with the configured SWT event state masks or null if text hovers are not supported for the given content type
      Since:
      2.1
    • getTextHover

      public ITextHover getTextHover(ISourceViewer sourceViewer, String contentType, int stateMask)
      Returns the text hover which will provide the information to be shown in a text hover popup window when requested for the given source viewer and the given content type. This implementation always returns null.
      Parameters:
      sourceViewer - the source viewer to be configured by this configuration
      contentType - the content type
      stateMask - the SWT event state mask
      Returns:
      a text hover or null if no hover support should be installed
      Since:
      2.1
    • getTextHover

      public ITextHover getTextHover(ISourceViewer sourceViewer, String contentType)
      Returns the text hover which will provide the information to be shown in a text hover popup window when requested for the given source viewer and the given content type. This implementation always returns null.
      Parameters:
      sourceViewer - the source viewer to be configured by this configuration
      contentType - the content type
      Returns:
      a text hover or null if no hover support should be installed
    • getInformationControlCreator

      public IInformationControlCreator getInformationControlCreator(ISourceViewer sourceViewer)
      Returns the information control creator. The creator is a factory creating information controls for the given source viewer. This implementation always returns a creator for DefaultInformationControl instances.
      Parameters:
      sourceViewer - the source viewer to be configured by this configuration
      Returns:
      the information control creator or null if no information support should be installed
      Since:
      2.0
    • getInformationPresenter

      public IInformationPresenter getInformationPresenter(ISourceViewer sourceViewer)
      Returns the information presenter which will determine and shown information requested for the current cursor position. This implementation always returns null.
      Parameters:
      sourceViewer - the source viewer to be configured by this configuration
      Returns:
      an information presenter null if no information presenter should be installed
      Since:
      2.0
    • getConfiguredContentTypes

      public String[] getConfiguredContentTypes(ISourceViewer sourceViewer)
      Returns all configured content types for the given source viewer. This list tells the caller which content types must be configured for the given source viewer, i.e. for which content types the given source viewer's functionalities must be specified. This implementation always returns new String[] { IDocument.DEFAULT_CONTENT_TYPE }.
      Parameters:
      sourceViewer - the source viewer to be configured by this configuration
      Returns:
      the configured content types for the given viewer
    • getConfiguredDocumentPartitioning

      public String getConfiguredDocumentPartitioning(ISourceViewer sourceViewer)
      Returns the configured partitioning for the given source viewer. The partitioning is used when the querying content types from the source viewer's input document. This implementation always returns IDocumentExtension3.DEFAULT_PARTITIONING.
      Parameters:
      sourceViewer - the source viewer to be configured by this configuration
      Returns:
      the configured partitioning
      Since:
      3.0
      See Also:
    • getHyperlinkDetectors

      public IHyperlinkDetector[] getHyperlinkDetectors(ISourceViewer sourceViewer)
      Returns the hyperlink detectors which be used to detect hyperlinks in the given source viewer. This implementation always returns an array with an URL hyperlink detector.
      Parameters:
      sourceViewer - the source viewer to be configured by this configuration
      Returns:
      an array with hyperlink detectors or null if no hyperlink support should be installed
      Since:
      3.1
    • getHyperlinkPresenter

      public IHyperlinkPresenter getHyperlinkPresenter(ISourceViewer sourceViewer)
      Returns the hyperlink presenter for the given source viewer. This implementation always returns the DefaultHyperlinkPresenter.
      Parameters:
      sourceViewer - the source viewer to be configured by this configuration
      Returns:
      the hyperlink presenter or null if no hyperlink support should be installed
      Since:
      3.1
    • getHyperlinkStateMask

      public int getHyperlinkStateMask(ISourceViewer sourceViewer)
      Returns the SWT event state mask which in combination with the left mouse button activates hyperlinking. This implementation always returns the SWT.MOD1.
      Parameters:
      sourceViewer - the source viewer to be configured by this configuration
      Returns:
      the SWT event state mask to activate hyperlink mode
      Since:
      3.1
    • getCodeMiningProviders

      public org.eclipse.jface.text.codemining.ICodeMiningProvider[] getCodeMiningProviders(ISourceViewer sourceViewer)
      Returns the code mining providers which be used to draw code minings in the given source viewer. This implementation always returns null.
      Parameters:
      sourceViewer - the source viewer to be configured by this configuration
      Returns:
      an array with code mining providers or null if no code mining support should be installed
      Since:
      3.13