Class BestMatchEObjectTextHover

  • All Implemented Interfaces:
    org.eclipse.jface.text.ITextHover, org.eclipse.jface.text.ITextHoverExtension, org.eclipse.jface.text.ITextHoverExtension2, org.eclipse.xtext.ui.editor.ISourceViewerAware

    public class BestMatchEObjectTextHover
    extends Object
    implements org.eclipse.jface.text.ITextHover, org.eclipse.jface.text.ITextHoverExtension, org.eclipse.jface.text.ITextHoverExtension2, org.eclipse.xtext.ui.editor.ISourceViewerAware
    DispatchingEObjectTextHover-facade text hover, that includes all registered text hovers for specific language through Extension Point 'com._1c.g5.v8.dt.lcore.ui.hovers' and provides best match text hover any time.

    If registered hover implements ITextHoverExtension3 it will be filtered according ITextHoverExtension3#isEnabled(ITextViewer)

    Best hover will be calculated at any time by:

    See Also:
    ITextHoverExtension3
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected org.eclipse.xtext.ui.editor.hover.AnnotationWithQuickFixesHover annotationHover  
      protected org.eclipse.jface.text.ITextHover currentHover  
      protected List<org.eclipse.jface.text.ITextHover> hovers  
      protected org.eclipse.xtext.ui.editor.hover.IEObjectHover htmlHover  
    • Field Detail

      • annotationHover

        @Inject
        protected org.eclipse.xtext.ui.editor.hover.AnnotationWithQuickFixesHover annotationHover
      • htmlHover

        @Inject
        protected org.eclipse.xtext.ui.editor.hover.IEObjectHover htmlHover
      • hovers

        protected List<org.eclipse.jface.text.ITextHover> hovers
      • currentHover

        protected org.eclipse.jface.text.ITextHover currentHover
    • Constructor Detail

      • BestMatchEObjectTextHover

        public BestMatchEObjectTextHover()
    • Method Detail

      • setSourceViewer

        public void setSourceViewer​(org.eclipse.jface.text.source.ISourceViewer sourceViewer)
        Specified by:
        setSourceViewer in interface org.eclipse.xtext.ui.editor.ISourceViewerAware
      • getHoverRegion

        public org.eclipse.jface.text.IRegion getHoverRegion​(org.eclipse.jface.text.ITextViewer textViewer,
                                                             int offset)
        Specified by:
        getHoverRegion in interface org.eclipse.jface.text.ITextHover
      • getHoverInfo

        @Deprecated
        public String getHoverInfo​(org.eclipse.jface.text.ITextViewer textViewer,
                                   org.eclipse.jface.text.IRegion hoverRegion)
        Deprecated.
        Specified by:
        getHoverInfo in interface org.eclipse.jface.text.ITextHover
      • getHoverInfo2

        public Object getHoverInfo2​(org.eclipse.jface.text.ITextViewer textViewer,
                                    org.eclipse.jface.text.IRegion hoverRegion)
        Specified by:
        getHoverInfo2 in interface org.eclipse.jface.text.ITextHoverExtension2
      • getHoverControlCreator

        public org.eclipse.jface.text.IInformationControlCreator getHoverControlCreator()
        Specified by:
        getHoverControlCreator in interface org.eclipse.jface.text.ITextHoverExtension
      • getHovers

        protected Iterable<org.eclipse.jface.text.ITextHover> getHovers​(org.eclipse.jface.text.ITextViewer textViewer,
                                                                        int offset)
        Returns filtered list of hovers.
        Parameters:
        textViewer - ITextViewer
        offset - offset to check enablement of this hover in current context or -1 if information about offset is absent
        Returns:
        filtered list of hovers
      • createHovers

        protected List<org.eclipse.jface.text.ITextHover> createHovers​(String language)
        Creates initial hovers list which includes all registered text hovers for specific language through Extension Point 'com._1c.g5.v8.dt.lcore.ui.hovers', AnnotationWithQuickFixesHover and registered IEObjectHover for language.
        Parameters:
        language - language of hovers to get hovers list for, cannot be null
        Returns:
        the list of registered text hovers for language, never null
      • filterEnabledHovers

        protected Iterable<org.eclipse.jface.text.ITextHover> filterEnabledHovers​(List<org.eclipse.jface.text.ITextHover> hovers,
                                                                                  org.eclipse.jface.text.ITextViewer textViewer,
                                                                                  int offset)
        Filters enabled registered hovers.
        Parameters:
        textViewer - the active text viewer (may be null)
        hoverRegion - the hover region
        offset - offset to check enablement of this hover in current context or -1 if information about offset is absent
        Returns:
        filtered hovers
      • loadRegisteredHovers

        protected static Map<String,​List<org.eclipse.jface.text.ITextHover>> loadRegisteredHovers()
        Get registered in 'Extension Points' hovers.
        Returns map of providers, where key is language and value is list of registered hovers for this language, sorted by priority.
        Returns:
        map of providers, where key is language and value is list of registered hovers for this language, sorted by priority, never null