Package com._1c.g5.v8.dt.lcore.hover
Class BestMatchEObjectTextHover
- java.lang.Object
-
- com._1c.g5.v8.dt.lcore.hover.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 accordingITextHoverExtension3#isEnabled(ITextViewer)
Best hover will be calculated at any time by:
- method {
getHoverRegion(ITextViewer, int)
returns notnull
- best priority
- 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
-
Constructor Summary
Constructors Constructor Description BestMatchEObjectTextHover()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description 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 registeredIEObjectHover
for language.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.org.eclipse.jface.text.IInformationControlCreator
getHoverControlCreator()
String
getHoverInfo(org.eclipse.jface.text.ITextViewer textViewer, org.eclipse.jface.text.IRegion hoverRegion)
Deprecated.Object
getHoverInfo2(org.eclipse.jface.text.ITextViewer textViewer, org.eclipse.jface.text.IRegion hoverRegion)
org.eclipse.jface.text.IRegion
getHoverRegion(org.eclipse.jface.text.ITextViewer textViewer, int offset)
protected Iterable<org.eclipse.jface.text.ITextHover>
getHovers(org.eclipse.jface.text.ITextViewer textViewer, int offset)
Returns filtered list of hovers.protected static Map<String,List<org.eclipse.jface.text.ITextHover>>
loadRegisteredHovers()
Get registered in 'Extension Points' hovers.void
setSourceViewer(org.eclipse.jface.text.source.ISourceViewer sourceViewer)
-
-
-
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
-
-
Method Detail
-
setSourceViewer
public void setSourceViewer(org.eclipse.jface.text.source.ISourceViewer sourceViewer)
- Specified by:
setSourceViewer
in interfaceorg.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 interfaceorg.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 interfaceorg.eclipse.jface.text.ITextHover
-
getHoverInfo2
public Object getHoverInfo2(org.eclipse.jface.text.ITextViewer textViewer, org.eclipse.jface.text.IRegion hoverRegion)
- Specified by:
getHoverInfo2
in interfaceorg.eclipse.jface.text.ITextHoverExtension2
-
getHoverControlCreator
public org.eclipse.jface.text.IInformationControlCreator getHoverControlCreator()
- Specified by:
getHoverControlCreator
in interfaceorg.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 registeredIEObjectHover
for language.- Parameters:
language
- language of hovers to get hovers list for, cannot benull
- 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 benull
)hoverRegion
- the hover regionoffset
- 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
-
-