A massive organize imports and formatting of the sources using default Eclipse code...
[phpeclipse.git] / net.sourceforge.phpeclipse.ui / src / net / sourceforge / phpeclipse / ui / views / outline / ProblemsLabelDecorator.java
index 72a211b..598ce41 100644 (file)
@@ -8,7 +8,7 @@
  * Contributors:
  *     Christopher Lenz - initial implementation
  * 
- * $Id: ProblemsLabelDecorator.java,v 1.1 2004-09-02 18:26:28 jsurfer Exp $
+ * $Id: ProblemsLabelDecorator.java,v 1.3 2006-10-21 23:13:54 pombredanne Exp $
  */
 
 package net.sourceforge.phpeclipse.ui.views.outline;
@@ -36,19 +36,17 @@ import org.eclipse.ui.texteditor.ITextEditor;
 
 /**
  * Label decorator for the outline page that adds error and warning overlay
- * icons to elements in the outline. The information is retrieved from the 
+ * icons to elements in the outline. The information is retrieved from the
  * annotation model corresponding to the input of the associated text editor.
  */
-public class ProblemsLabelDecorator extends LabelProvider
-       implements ILabelDecorator {
+public class ProblemsLabelDecorator extends LabelProvider implements
+               ILabelDecorator {
 
        // Constants ---------------------------------------------------------------
 
-       private static final String ANNOTATION_TYPE_ERROR =
-               "org.eclipse.ui.workbench.texteditor.error"; //$NON-NLS-1$
+       private static final String ANNOTATION_TYPE_ERROR = "org.eclipse.ui.workbench.texteditor.error"; //$NON-NLS-1$
 
-       private static final String ANNOTATION_TYPE_WARNING =
-               "org.eclipse.ui.workbench.texteditor.warning"; //$NON-NLS-1$
+       private static final String ANNOTATION_TYPE_WARNING = "org.eclipse.ui.workbench.texteditor.warning"; //$NON-NLS-1$
 
        // Instance Variables ------------------------------------------------------
 
@@ -63,7 +61,8 @@ public class ProblemsLabelDecorator extends LabelProvider
        /**
         * Constructor.
         * 
-        * @param editor the associated text editor
+        * @param editor
+        *            the associated text editor
         */
        public ProblemsLabelDecorator(ITextEditor editor) {
                this.editor = editor;
@@ -71,7 +70,7 @@ public class ProblemsLabelDecorator extends LabelProvider
 
        // ILabelDecorator Implementation ------------------------------------------
 
-       /* 
+       /*
         * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
         */
        public void dispose() {
@@ -79,12 +78,11 @@ public class ProblemsLabelDecorator extends LabelProvider
                registry.dispose();
        }
 
-       /* 
+       /*
         * @see ILabelDecorator#decorateImage(Image, Object)
         */
        public Image decorateImage(Image image, Object element) {
-               Annotation annotations[] =
-                       getAssociatedAnnotations((ISourceReference) element);
+               Annotation annotations[] = getAssociatedAnnotations((ISourceReference) element);
                ImageDescriptor overlay = null;
                for (int i = 0; i < annotations.length; i++) {
                        if (isError(annotations[i])) {
@@ -105,7 +103,7 @@ public class ProblemsLabelDecorator extends LabelProvider
                return image;
        }
 
-       /* 
+       /*
         * @see ILabelDecorator#decorateText(String, Object)
         */
        public String decorateText(String text, Object element) {
@@ -117,8 +115,8 @@ public class ProblemsLabelDecorator extends LabelProvider
        /**
         * Returns all annotations associated with the given model element.
         * 
-        * @param element the model element for which annotations should be
-        *        collected
+        * @param element
+        *            the model element for which annotations should be collected
         * @return an array containing all annotations for the given element, or an
         *         empty array if no annotations are found
         */
@@ -126,13 +124,15 @@ public class ProblemsLabelDecorator extends LabelProvider
                List retVal = new ArrayList();
                if (editor != null) {
                        IEditorInput input = editor.getEditorInput();
-                       IAnnotationModel model =
-                               editor.getDocumentProvider().getAnnotationModel(input);
-                       for (Iterator i = model.getAnnotationIterator(); i.hasNext(); ) {
-                               Annotation annotation = (Annotation) i.next();
-                               Position pos = model.getPosition(annotation);
-                               if (pos!=null && isInside(pos.getOffset(), element)) {
-                                       retVal.add(annotation);
+                       IAnnotationModel model = editor.getDocumentProvider()
+                                       .getAnnotationModel(input);
+                       if (model != null) { // bug #1120670
+                               for (Iterator i = model.getAnnotationIterator(); i.hasNext();) {
+                                       Annotation annotation = (Annotation) i.next();
+                                       Position pos = model.getPosition(annotation);
+                                       if (pos != null && isInside(pos.getOffset(), element)) {
+                                               retVal.add(annotation);
+                                       }
                                }
                        }
                }
@@ -142,7 +142,8 @@ public class ProblemsLabelDecorator extends LabelProvider
        /**
         * Determines whether the given annotation is an error.
         * 
-        * @param annotation the annotation to check
+        * @param annotation
+        *            the annotation to check
         * @return <tt>true</tt> if the annotation is to be displayed as an error,
         *         <tt>false</tt> otherwise
         */
@@ -153,9 +154,10 @@ public class ProblemsLabelDecorator extends LabelProvider
        /**
         * Determines whether the given annotation is a warning.
         * 
-        * @param annotation the annotation to check
-        * @return <tt>true</tt> if the annotation is to be displayed as a warning,
-        *         <tt>false</tt> otherwise
+        * @param annotation
+        *            the annotation to check
+        * @return <tt>true</tt> if the annotation is to be displayed as a
+        *         warning, <tt>false</tt> otherwise
         */
        private boolean isWarning(Annotation annotation) {
                return ANNOTATION_TYPE_WARNING.equals(annotation.getType());
@@ -165,8 +167,10 @@ public class ProblemsLabelDecorator extends LabelProvider
         * Tests if the given position is inside the source region of a model
         * element.
         * 
-        * @param pos the position to be tested
-        * @param element the source element
+        * @param pos
+        *            the position to be tested
+        * @param element
+        *            the source element
         * @return boolean <tt>true</tt> if position is located inside the
         *         element, otherwise <tt>false</tt>
         */
@@ -174,9 +178,9 @@ public class ProblemsLabelDecorator extends LabelProvider
                IRegion region = element.getSourceRegion();
                if (region != null) {
                        int offset = region.getOffset();
-                       return ((offset <= pos) && (offset + region.getLength() > pos));                        
+                       return ((offset <= pos) && (offset + region.getLength() > pos));
                }
                return false;
        }
 
-}
+}
\ No newline at end of file