@Override protected void computeInformation() { fAllowMouseExit= false; MouseEvent event= getHoverEvent(); if ((event.stateMask & SWT.BUTTON_MASK) != 0) { setInformation(null, null); return; } IAnnotationHover hover= getHover(event); if (hover == null) { setInformation(null, null); return; } int line= getHoverLine(event); if (hover instanceof IAnnotationHoverExtension) { IAnnotationHoverExtension extension= (IAnnotationHoverExtension) hover; ILineRange range= extension.getHoverLineRange(fSourceViewer, line); setCustomInformationControlCreator(extension.getHoverControlCreator()); range= adaptLineRange(range, line); if (range != null) setInformation(extension.getHoverInfo(fSourceViewer, range, computeNumberOfVisibleLines()), computeArea(range)); else setInformation(null, null); } else { setCustomInformationControlCreator(null); setInformation(hover.getHoverInfo(fSourceViewer, line), computeArea(line)); } }
@Override protected Point computeInformationControlLocation(Rectangle subjectArea, Point controlSize) { MouseEvent event= getHoverEvent(); IAnnotationHover hover= getHover(event); if (hover instanceof IAnnotationHoverExtension) { IAnnotationHoverExtension extension= (IAnnotationHoverExtension) hover; boolean allowMouseExit= extension.canHandleMouseCursor(); if (allowMouseExit) { return computeLocation(subjectArea, controlSize, ANCHOR_RIGHT); } } return super.computeInformationControlLocation(subjectArea, controlSize); }
@Override protected void computeInformation() { Point location= getHoverEventLocation(); int line= getVerticalRulerInfo().toDocumentLineNumber(location.y); IAnnotationHover hover= getAnnotationHover(); IInformationControlCreator controlCreator= null; if (hover instanceof IAnnotationHoverExtension) controlCreator= ((IAnnotationHoverExtension)hover).getHoverControlCreator(); setCustomInformationControlCreator(controlCreator); setInformation(hover.getHoverInfo(getSourceViewer(), line), computeArea(location.y)); }
@Override protected void computeInformation() { Point location= getHoverEventLocation(); int line= getVerticalRulerInfo().toDocumentLineNumber(location.y); IAnnotationHover hover= getAnnotationHover(); IInformationControlCreator controlCreator= null; if (hover instanceof IAnnotationHoverExtension) controlCreator= ((IAnnotationHoverExtension)hover).getHoverControlCreator(); setCustomInformationControlCreator(controlCreator); setInformation(hover.getHoverInfo(getSourceViewer(), line), computeArea(location.y)); }
if (annotationHover instanceof IAnnotationHoverExtension) { IAnnotationHoverExtension extension= (IAnnotationHoverExtension) annotationHover; ILineRange hoverLineRange= extension.getHoverLineRange(fSourceViewer, line); if (hoverLineRange == null) return false; final int maxVisibleLines= Integer.MAX_VALUE; // allow any number of lines being displayed, as we support scrolling hoverInfo= extension.getHoverInfo(fSourceViewer, hoverLineRange, maxVisibleLines); } else { hoverInfo= annotationHover.getHoverInfo(fSourceViewer, line); controlCreator= ((IInformationProviderExtension2) annotationHover).getInformationPresenterControlCreator(); else if (annotationHover instanceof IAnnotationHoverExtension) controlCreator= ((IAnnotationHoverExtension) annotationHover).getHoverControlCreator();
@Override protected Point computeInformationControlLocation(Rectangle subjectArea, Point controlSize) { MouseEvent event= getHoverEvent(); IAnnotationHover hover= getHover(event); if (hover instanceof IAnnotationHoverExtension) { IAnnotationHoverExtension extension= (IAnnotationHoverExtension) hover; boolean allowMouseExit= extension.canHandleMouseCursor(); if (allowMouseExit) { return computeLocation(subjectArea, controlSize, ANCHOR_RIGHT); } } return super.computeInformationControlLocation(subjectArea, controlSize); }
if (annotationHover instanceof IAnnotationHoverExtension) { IAnnotationHoverExtension extension= (IAnnotationHoverExtension) annotationHover; ILineRange hoverLineRange= extension.getHoverLineRange(fSourceViewer, line); if (hoverLineRange == null) return false; final int maxVisibleLines= Integer.MAX_VALUE; // allow any number of lines being displayed, as we support scrolling hoverInfo= extension.getHoverInfo(fSourceViewer, hoverLineRange, maxVisibleLines); } else { hoverInfo= annotationHover.getHoverInfo(fSourceViewer, line); controlCreator= ((IInformationProviderExtension2) annotationHover).getInformationPresenterControlCreator(); else if (annotationHover instanceof IAnnotationHoverExtension) controlCreator= ((IAnnotationHoverExtension) annotationHover).getHoverControlCreator();
@Override protected Point computeLocation(Rectangle subjectArea, Point controlSize, Anchor anchor) { MouseEvent event= getHoverEvent(); IAnnotationHover hover= getHover(event); boolean allowMouseExit= false; if (hover instanceof IAnnotationHoverExtension) { IAnnotationHoverExtension extension= (IAnnotationHoverExtension) hover; allowMouseExit= extension.canHandleMouseCursor(); } boolean hideOnMouseWheel= true; if (hover instanceof IAnnotationHoverExtension2) { IAnnotationHoverExtension2 extension= (IAnnotationHoverExtension2) hover; hideOnMouseWheel= !extension.canHandleMouseWheel(); } fHideOnMouseWheel= hideOnMouseWheel; if (allowMouseExit) { fAllowMouseExit= true; Control subjectControl= getSubjectControl(); // return a location that just overlaps the annotation on the bar if (anchor == AbstractInformationControlManager.ANCHOR_RIGHT) return subjectControl.toDisplay(subjectArea.x - 4, subjectArea.y - 2); else if (anchor == AbstractInformationControlManager.ANCHOR_LEFT) return subjectControl.toDisplay(subjectArea.x + subjectArea.width - controlSize.x + 4, subjectArea.y - 2); } fAllowMouseExit= false; return super.computeLocation(subjectArea, controlSize, anchor); }
@Override protected void computeInformation() { fAllowMouseExit= false; MouseEvent event= getHoverEvent(); if ((event.stateMask & SWT.BUTTON_MASK) != 0) { setInformation(null, null); return; } IAnnotationHover hover= getHover(event); if (hover == null) { setInformation(null, null); return; } int line= getHoverLine(event); if (hover instanceof IAnnotationHoverExtension) { IAnnotationHoverExtension extension= (IAnnotationHoverExtension) hover; ILineRange range= extension.getHoverLineRange(fSourceViewer, line); setCustomInformationControlCreator(extension.getHoverControlCreator()); range= adaptLineRange(range, line); if (range != null) setInformation(extension.getHoverInfo(fSourceViewer, range, computeNumberOfVisibleLines()), computeArea(range)); else setInformation(null, null); } else { setCustomInformationControlCreator(null); setInformation(hover.getHoverInfo(fSourceViewer, line), computeArea(line)); } }
@Override protected Point computeLocation(Rectangle subjectArea, Point controlSize, Anchor anchor) { MouseEvent event= getHoverEvent(); IAnnotationHover hover= getHover(event); boolean allowMouseExit= false; if (hover instanceof IAnnotationHoverExtension) { IAnnotationHoverExtension extension= (IAnnotationHoverExtension) hover; allowMouseExit= extension.canHandleMouseCursor(); } boolean hideOnMouseWheel= true; if (hover instanceof IAnnotationHoverExtension2) { IAnnotationHoverExtension2 extension= (IAnnotationHoverExtension2) hover; hideOnMouseWheel= !extension.canHandleMouseWheel(); } fHideOnMouseWheel= hideOnMouseWheel; if (allowMouseExit) { fAllowMouseExit= true; Control subjectControl= getSubjectControl(); // return a location that just overlaps the annotation on the bar if (anchor == AbstractInformationControlManager.ANCHOR_RIGHT) return subjectControl.toDisplay(subjectArea.x - 4, subjectArea.y - 2); else if (anchor == AbstractInformationControlManager.ANCHOR_LEFT) return subjectControl.toDisplay(subjectArea.x + subjectArea.width - controlSize.x + 4, subjectArea.y - 2); } fAllowMouseExit= false; return super.computeLocation(subjectArea, controlSize, anchor); }
if (annotationHover instanceof IAnnotationHoverExtension) { IAnnotationHoverExtension extension= (IAnnotationHoverExtension) annotationHover; ILineRange hoverLineRange= extension.getHoverLineRange(sourceViewer, line); if (hoverLineRange == null) return false; final int maxVisibleLines= Integer.MAX_VALUE; // allow any number of lines being displayed, as we support scrolling hoverInfo= extension.getHoverInfo(sourceViewer, hoverLineRange, maxVisibleLines); } else { hoverInfo= annotationHover.getHoverInfo(sourceViewer, line); controlCreator= ((IInformationProviderExtension2) annotationHover).getInformationPresenterControlCreator(); else if (annotationHover instanceof IAnnotationHoverExtension) controlCreator= ((IAnnotationHoverExtension) annotationHover).getHoverControlCreator();
if (annotationHover instanceof IAnnotationHoverExtension) { IAnnotationHoverExtension extension= (IAnnotationHoverExtension) annotationHover; ILineRange hoverLineRange= extension.getHoverLineRange(sourceViewer, line); if (hoverLineRange == null) return false; final int maxVisibleLines= Integer.MAX_VALUE; // allow any number of lines being displayed, as we support scrolling hoverInfo= extension.getHoverInfo(sourceViewer, hoverLineRange, maxVisibleLines); } else { hoverInfo= annotationHover.getHoverInfo(sourceViewer, line); controlCreator= ((IInformationProviderExtension2) annotationHover).getInformationPresenterControlCreator(); else if (annotationHover instanceof IAnnotationHoverExtension) controlCreator= ((IAnnotationHoverExtension) annotationHover).getHoverControlCreator();