1 package org.simantics.scl.ui.editor;
\r
3 import org.eclipse.jface.resource.ImageDescriptor;
\r
4 import org.eclipse.jface.resource.ImageRegistry;
\r
5 import org.eclipse.jface.text.source.Annotation;
\r
6 import org.eclipse.jface.text.source.IAnnotationAccess;
\r
7 import org.eclipse.jface.text.source.IAnnotationAccessExtension;
\r
8 import org.eclipse.jface.text.source.ImageUtilities;
\r
9 import org.eclipse.swt.SWT;
\r
10 import org.eclipse.swt.graphics.GC;
\r
11 import org.eclipse.swt.graphics.Image;
\r
12 import org.eclipse.swt.graphics.Rectangle;
\r
13 import org.eclipse.swt.widgets.Canvas;
\r
15 final class SCLAnnotationAccessNew implements IAnnotationAccess, IAnnotationAccessExtension {
\r
17 ImageRegistry registry;
\r
19 public SCLAnnotationAccessNew(ImageRegistry registry) {
\r
20 this.registry = registry;
\r
24 public Object getType(Annotation annotation) {
\r
25 return annotation.getType();
\r
29 public boolean isMultiLine(Annotation annotation) {
\r
34 public boolean isTemporary(Annotation annotation) {
\r
35 return !annotation.isPersistent();
\r
39 public String getTypeLabel(Annotation annotation) {
\r
40 return annotation.getType();
\r
44 public int getLayer(Annotation annotation) {
\r
49 public void paint(Annotation annotation, GC gc, Canvas canvas, Rectangle bounds) {
\r
50 Image image = registry.get("error");
\r
52 registry.put("error", ImageDescriptor.createFromFile(getClass(), "error_tsk.gif"));
\r
53 image = registry.get("error");
\r
55 ImageUtilities.drawImage(image, gc, canvas, bounds, SWT.CENTER, SWT.TOP);
\r
59 public boolean isPaintable(Annotation annotation) {
\r
64 public boolean isSubtype(Object annotationType, Object potentialSupertype) {
\r
65 return annotationType.equals(potentialSupertype);
\r
69 public Object[] getSupertypes(Object annotationType) {
\r
70 return new Object[0];
\r