+++ /dev/null
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package net.sourceforge.phpeclipse.phpeditor;
-
-import java.util.Iterator;
-
-import net.sourceforge.phpdt.core.ICompilationUnit;
-import net.sourceforge.phpdt.core.IJavaElement;
-import net.sourceforge.phpdt.core.IJavaModelMarker;
-import net.sourceforge.phpdt.core.JavaCore;
-import net.sourceforge.phpdt.internal.corext.util.JavaModelUtil;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.texteditor.MarkerAnnotation;
-
-public class JavaMarkerAnnotation extends MarkerAnnotation implements
- IJavaAnnotation {
-
- public static final String JAVA_MARKER_TYPE_PREFIX = "net.sourceforge.phpdt"; //$NON-NLS-1$
-
- public static final String ERROR_ANNOTATION_TYPE = "net.sourceforge.phpdt.ui.error"; //$NON-NLS-1$
-
- public static final String WARNING_ANNOTATION_TYPE = "net.sourceforge.phpdt.ui.warning"; //$NON-NLS-1$
-
- public static final String INFO_ANNOTATION_TYPE = "net.sourceforge.phpdt.ui.info"; //$NON-NLS-1$
-
- public static final String TASK_ANNOTATION_TYPE = "org.eclipse.ui.workbench.texteditor.task"; //$NON-NLS-1$
-
- private IJavaAnnotation fOverlay;
-
- public JavaMarkerAnnotation(IMarker marker) {
- super(marker);
- }
-
- /*
- * @see net.sourceforge.phpdt.internal.ui.javaeditor.IJavaAnnotation#getImage(org.eclipse.swt.widgets.Display)
- */
- public Image getImage(Display display) {
- return super.getImage(display);
- }
-
- /*
- * @see IJavaAnnotation#getArguments()
- */
- public String[] getArguments() {
- IMarker marker = getMarker();
- if (marker != null && marker.exists() && isProblem())
- return JavaModelUtil.getProblemArgumentsFromMarker(marker
- .getAttribute(IJavaModelMarker.ARGUMENTS, "")); //$NON-NLS-1$
- return null;
- }
-
- /*
- * @see IJavaAnnotation#getId()
- */
- public int getId() {
- IMarker marker = getMarker();
- if (marker == null || !marker.exists())
- return -1;
-
- if (isProblem())
- return marker.getAttribute(IJavaModelMarker.ID, -1);
-
- // if (TASK_ANNOTATION_TYPE.equals(getAnnotationType())) {
- // try {
- // if (marker.isSubtypeOf(IJavaModelMarker.TASK_MARKER)) {
- // return IProblem.Task;
- // }
- // } catch (CoreException e) {
- // JavaPlugin.log(e); // should no happen, we test for marker.exists
- // }
- // }
-
- return -1;
- }
-
- /*
- * @see IJavaAnnotation#isProblem()
- */
- public boolean isProblem() {
- String type = getType();
- return WARNING_ANNOTATION_TYPE.equals(type)
- || ERROR_ANNOTATION_TYPE.equals(type);
- }
-
- /**
- * Overlays this annotation with the given javaAnnotation.
- *
- * @param javaAnnotation
- * annotation that is overlaid by this annotation
- */
- public void setOverlay(IJavaAnnotation javaAnnotation) {
- if (fOverlay != null)
- fOverlay.removeOverlaid(this);
-
- fOverlay = javaAnnotation;
- if (!isMarkedDeleted())
- markDeleted(fOverlay != null);
-
- if (fOverlay != null)
- fOverlay.addOverlaid(this);
- }
-
- /*
- * @see IJavaAnnotation#hasOverlay()
- */
- public boolean hasOverlay() {
- return fOverlay != null;
- }
-
- /*
- * @see net.sourceforge.phpdt.internal.ui.javaeditor.IJavaAnnotation#getOverlay()
- */
- public IJavaAnnotation getOverlay() {
- return fOverlay;
- }
-
- /*
- * @see IJavaAnnotation#addOverlaid(IJavaAnnotation)
- */
- public void addOverlaid(IJavaAnnotation annotation) {
- // not supported
- }
-
- /*
- * @see IJavaAnnotation#removeOverlaid(IJavaAnnotation)
- */
- public void removeOverlaid(IJavaAnnotation annotation) {
- // not supported
- }
-
- /*
- * @see IJavaAnnotation#getOverlaidIterator()
- */
- public Iterator getOverlaidIterator() {
- // not supported
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see net.sourceforge.phpdt.internal.ui.javaeditor.IJavaAnnotation#getCompilationUnit()
- */
- public ICompilationUnit getCompilationUnit() {
- IJavaElement element = JavaCore.create(getMarker().getResource());
- if (element instanceof ICompilationUnit) {
- ICompilationUnit cu = (ICompilationUnit) element;
- ICompilationUnit workingCopy = EditorUtility.getWorkingCopy(cu);
- if (workingCopy != null) {
- return workingCopy;
- }
- return cu;
- }
- return null;
- }
-}