KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > freemarker > eclipse > editors > AnnotationHover


1 package freemarker.eclipse.editors;
2
3
4 import java.util.Iterator JavaDoc;
5
6 import org.eclipse.core.resources.IMarker;
7 import org.eclipse.jface.text.source.IAnnotationHover;
8 import org.eclipse.jface.text.source.IAnnotationModel;
9 import org.eclipse.jface.text.source.ISourceViewer;
10 import org.eclipse.ui.texteditor.MarkerAnnotation;
11
12
13
14 /**
15  * @version $Id: AnnotationHover.java,v 1.2 2003/02/21 12:05:33 stephanmueller Exp $
16  * @author <a HREF="mailto:stephan@chaquotay.net">Stephan Mueller</a>
17  */

18 public class AnnotationHover implements IAnnotationHover {
19
20     public String JavaDoc getHoverInfo(ISourceViewer aViewer, int aLine) {
21         String JavaDoc info = null;
22         IMarker marker = getMarkerForLine(aViewer, aLine);
23         if (marker != null) {
24             String JavaDoc message = marker.getAttribute(IMarker.MESSAGE, (String JavaDoc)null);
25             if (message != null && message.trim().length() > 0) {
26                 info = message.trim();
27             }
28         }
29         return info;
30     }
31     
32     protected IMarker getMarkerForLine(ISourceViewer aViewer, int aLine) {
33         IMarker marker = null;
34         IAnnotationModel model = aViewer.getAnnotationModel();
35         if (model != null) {
36             Iterator JavaDoc e = model.getAnnotationIterator();
37             if(e.hasNext()) {
38                 Object JavaDoc o = e.next();
39                 if (o instanceof MarkerAnnotation) {
40                     MarkerAnnotation a = (MarkerAnnotation)o;
41                     marker = a.getMarker();
42                 }
43             }
44         }
45         return marker;
46     }
47
48 }
49
Popular Tags