private Image getImage(IJavaAnnotation annotation, int imageType) { if ((imageType == QUICKFIX_WARNING_IMAGE || imageType == QUICKFIX_ERROR_IMAGE || imageType == QUICKFIX_INFO_IMAGE) && fCachedImageType == imageType) return fCachedImage; Image image = null; switch (imageType) { case OVERLAY_IMAGE: IJavaAnnotation overlay = annotation.getOverlay(); image = getManagedImage((Annotation) overlay); fCachedImageType = -1; break; case QUICKFIX_WARNING_IMAGE: image = getQuickFixWarningImage(); fCachedImageType = imageType; fCachedImage = image; break; case QUICKFIX_ERROR_IMAGE: image = getQuickFixErrorImage(); fCachedImageType = imageType; fCachedImage = image; break; case QUICKFIX_INFO_IMAGE: image = getQuickFixInfoImage(); fCachedImageType = imageType; fCachedImage = image; break; case GRAY_IMAGE: { String annotationType = annotation.getType(); if (JavaMarkerAnnotation.ERROR_ANNOTATION_TYPE.equals(annotationType)) { image = JavaPluginImages.get(JavaPluginImages.IMG_OBJS_ERROR_ALT); } else if (JavaMarkerAnnotation.WARNING_ANNOTATION_TYPE.equals(annotationType)) { image = JavaPluginImages.get(JavaPluginImages.IMG_OBJS_WARNING_ALT); } else if (JavaMarkerAnnotation.INFO_ANNOTATION_TYPE.equals(annotationType)) { image = JavaPluginImages.get(JavaPluginImages.IMG_OBJS_INFO_ALT); } fCachedImageType = -1; break; } } return image; }
private int getImageType(IJavaAnnotation annotation) { int imageType = NO_IMAGE; if (annotation.hasOverlay()) imageType = OVERLAY_IMAGE; else if (!annotation.isMarkedDeleted()) { if (showQuickFix(annotation)) { if (JavaMarkerAnnotation.ERROR_ANNOTATION_TYPE.equals(annotation.getType())) { imageType = QUICKFIX_ERROR_IMAGE; } else if (JavaMarkerAnnotation.WARNING_ANNOTATION_TYPE.equals(annotation.getType())) { imageType = QUICKFIX_WARNING_IMAGE; } else { imageType = QUICKFIX_INFO_IMAGE; } } } else { imageType = GRAY_IMAGE; } return imageType; }