### Eclipse Workspace Patch 1.0
#P org.eclipse.jface.text
Index: src/org/eclipse/jface/text/source/AnnotationBarHoverManager.java
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.jface.text/src/org/eclipse/jface/text/source/AnnotationBarHoverManager.java,v
retrieving revision 1.55
diff -u -r1.55 AnnotationBarHoverManager.java
--- src/org/eclipse/jface/text/source/AnnotationBarHoverManager.java 25 Feb 2010 11:28:07 -0000 1.55
+++ src/org/eclipse/jface/text/source/AnnotationBarHoverManager.java 25 Feb 2010 14:03:33 -0000
@@ -653,9 +653,9 @@
* Returns the annotation hover for this hover manager.
*
* @return the annotation hover for this hover manager or null
if none
- * @since 3.6 public, was protected since 2.1
+ * @since 2.1
*/
- public IAnnotationHover getAnnotationHover() {
+ protected IAnnotationHover getAnnotationHover() {
return fAnnotationHover;
}
Index: src/org/eclipse/jface/text/source/ISourceViewerExtension5.java
===================================================================
RCS file: src/org/eclipse/jface/text/source/ISourceViewerExtension5.java
diff -N src/org/eclipse/jface/text/source/ISourceViewerExtension5.java
--- src/org/eclipse/jface/text/source/ISourceViewerExtension5.java 24 Feb 2010 19:05:36 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jface.text.source;
-
-
-/**
- * Extension interface for {@link org.eclipse.jface.text.source.ISourceViewer}.
- *
- * It provides access to the annotation hover. - *
- * - * @since 3.6 - */ -public interface ISourceViewerExtension5 { - - /** - * Returns the annotation hover if any,null
otherwise.
- *
- * @return the annotation hover or null
- * @since 3.6
- */
- IAnnotationHover getAnnotationHover();
-
-}
Index: src/org/eclipse/jface/text/source/SourceViewer.java
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.jface.text/src/org/eclipse/jface/text/source/SourceViewer.java,v
retrieving revision 1.91
diff -u -r1.91 SourceViewer.java
--- src/org/eclipse/jface/text/source/SourceViewer.java 24 Feb 2010 19:05:36 -0000 1.91
+++ src/org/eclipse/jface/text/source/SourceViewer.java 25 Feb 2010 14:03:33 -0000
@@ -80,7 +80,7 @@
* * Clients may subclass this class but should expect some breakage by future releases.
*/ -public class SourceViewer extends TextViewer implements ISourceViewer, ISourceViewerExtension, ISourceViewerExtension2, ISourceViewerExtension3, ISourceViewerExtension4, ISourceViewerExtension5 { +public class SourceViewer extends TextViewer implements ISourceViewer, ISourceViewerExtension, ISourceViewerExtension2, ISourceViewerExtension3, ISourceViewerExtension4 { /** @@ -1190,14 +1190,4 @@ return null; return fVerticalRulerHoveringController.getCurrentAnnotationHover(); } - - /** - * @see org.eclipse.jface.text.source.ISourceViewerExtension5#getAnnotationHover() - * @since 3.6 - */ - public IAnnotationHover getAnnotationHover() { - if (fVerticalRulerHoveringController == null) - return null; - return fVerticalRulerHoveringController.getAnnotationHover(); - } } #P org.eclipse.ui.editors Index: src/org/eclipse/ui/texteditor/AbstractDecoratedTextEditor.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/AbstractDecoratedTextEditor.java,v retrieving revision 1.138 diff -u -r1.138 AbstractDecoratedTextEditor.java --- src/org/eclipse/ui/texteditor/AbstractDecoratedTextEditor.java 24 Feb 2010 19:05:39 -0000 1.138 +++ src/org/eclipse/ui/texteditor/AbstractDecoratedTextEditor.java 25 Feb 2010 14:03:34 -0000 @@ -84,8 +84,8 @@ import org.eclipse.jface.text.hyperlink.IHyperlinkDetector; import org.eclipse.jface.text.revisions.IRevisionRulerColumn; import org.eclipse.jface.text.revisions.IRevisionRulerColumnExtension; -import org.eclipse.jface.text.revisions.RevisionInformation; import org.eclipse.jface.text.revisions.IRevisionRulerColumnExtension.RenderingMode; +import org.eclipse.jface.text.revisions.RevisionInformation; import org.eclipse.jface.text.source.Annotation; import org.eclipse.jface.text.source.AnnotationRulerColumn; import org.eclipse.jface.text.source.ChangeRulerColumn; @@ -100,7 +100,6 @@ import org.eclipse.jface.text.source.ISourceViewer; import org.eclipse.jface.text.source.ISourceViewerExtension; import org.eclipse.jface.text.source.ISourceViewerExtension3; -import org.eclipse.jface.text.source.ISourceViewerExtension5; import org.eclipse.jface.text.source.IVerticalRuler; import org.eclipse.jface.text.source.IVerticalRulerColumn; import org.eclipse.jface.text.source.LineChangeHover; @@ -1251,7 +1250,7 @@ action= new ResourceAction(TextEditorMessages.getBundleForConstructedKeys(), "Editor.ShowChangeRulerInformation.", IAction.AS_PUSH_BUTTON) { //$NON-NLS-1$ public void run() { - showRulerInformation(true); + showChangeRulerInformation(); } }; action.setActionDefinitionId(ITextEditorActionDefinitionIds.SHOW_CHANGE_RULER_INFORMATION_ID); @@ -1259,7 +1258,7 @@ action= new ResourceAction(TextEditorMessages.getBundleForConstructedKeys(), "Editor.ShowRulerAnnotationInformation.", IAction.AS_PUSH_BUTTON) { //$NON-NLS-1$ public void run() { - showRulerInformation(false); + showRulerAnnotationInformation(); } }; action.setActionDefinitionId(ITextEditorActionDefinitionIds.SHOW_RULER_ANNOTATION_INFORMATION_ID); @@ -1267,14 +1266,12 @@ } /** - * Opens a sticky ruler hover for the caret line. Does nothing if no hover is available. + * Opens a sticky change ruler hover for the caret line. Does nothing if no change hover is + * available. * - * @param changeHovertrue
to show change hover, false
to show
- * annotation hover
- *
- * @since 3.6
+ * @since 3.5
*/
- private void showRulerInformation(boolean changeHover) {
+ private void showChangeRulerInformation() {
IVerticalRuler ruler= getVerticalRuler();
if (!(ruler instanceof CompositeRuler) || fLineColumn == null)
return;
@@ -1292,14 +1289,35 @@
compositeRuler.setLocationOfLastMouseButtonActivity(x, y);
- IAnnotationHover hover= null;
- if (changeHover) {
- hover= fLineColumn.getHover();
- } else {
- if (sourceViewer instanceof ISourceViewerExtension5) {
- hover= ((ISourceViewerExtension5)sourceViewer).getAnnotationHover();
- }
- }
+ IAnnotationHover hover= fLineColumn.getHover();
+ showFocusedRulerHover(hover, sourceViewer, caretOffset);
+ }
+
+ /**
+ * Opens a sticky annotation ruler hover for the caret line. Does nothing if no annotation hover
+ * is available.
+ *
+ * @since 3.6
+ */
+ private void showRulerAnnotationInformation() {
+ ISourceViewer sourceViewer= getSourceViewer();
+ IAnnotationHover hover= getSourceViewerConfiguration().getAnnotationHover(sourceViewer);
+ int caretOffset= sourceViewer.getTextWidget().getCaretOffset();
+
+ showFocusedRulerHover(hover, sourceViewer, caretOffset);
+ }
+
+ /**
+ * Shows a focused hover at the specified offset.
+ * Does nothing if hover
is null
or cannot be shown.
+ *
+ * @param hover the hover to be shown, can be null
+ * @param sourceViewer the source viewer
+ * @param caretOffset the caret offset
+ *
+ * @since 3.6
+ */
+ private void showFocusedRulerHover(IAnnotationHover hover, ISourceViewer sourceViewer, int caretOffset) {
if (hover == null)
return;
@@ -1320,7 +1338,7 @@
} catch (BadLocationException e) {
return;
}
- }
+ }
/**
* Creates and registers the print action.