blob: 6908391ed5b7a57691e1d002a97f29b734578704 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004 - 2005 University Of British Columbia and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* University Of British Columbia - initial API and implementation
*******************************************************************************/
/*
* Created on Jul 6, 2004
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package org.eclipse.mylyn.java.ui.views;
import org.eclipse.jdt.core.*;
import org.eclipse.jdt.internal.ui.viewsupport.JavaElementImageProvider;
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.views.markers.internal.ConcreteMarker;
import org.eclipse.ui.views.markers.internal.Messages;
import org.eclipse.mylyn.java.ui.JavaUiUtil;
/**
* @author beatmik
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class ProblemsFieldJavaElement implements org.eclipse.ui.views.markers.internal.IField {
private String description;
private Image image;
private JavaElementImageProvider imageProvider = new JavaElementImageProvider();
public ProblemsFieldJavaElement() {
description = Messages.getString("Java Element"); //$NON-NLS-1$
}
public String getDescription() {
return description;
}
public Image getDescriptionImage() {
return image;
}
public String getColumnHeaderText() {
return description;
}
public Image getColumnHeaderImage() {
return image;
}
public String getValue(Object obj) {
if (obj == null || !(obj instanceof ConcreteMarker)) {
return ""; //$NON-NLS-1$
}
ConcreteMarker marker = (ConcreteMarker) obj;
IJavaElement javaElement= JavaUiUtil.getJavaElement(marker);//SearchUtil.getJavaElement(marker);
if (javaElement == null) {
return marker.getResourceName();
} else {
String name;
if (javaElement instanceof IMember
&& javaElement.getParent() != null
&& !(javaElement.getParent() instanceof ICompilationUnit)) {
name = javaElement.getParent().getElementName()
+ "." + javaElement.getElementName();
} else {
name = javaElement.getElementName();
}
return name;
}
}
public Image getImage(Object obj) {
if (obj == null || !(obj instanceof ConcreteMarker)) {
return null; //$NON-NLS-1$
}
ConcreteMarker marker = (ConcreteMarker) obj;
IJavaElement javaElement= JavaUiUtil.getJavaElement(marker);//SearchUtil.getJavaElement(marker);
if (javaElement == null) {
return null;
} else {
Image image = imageProvider.getImageLabel(javaElement, JavaElementImageProvider.SMALL_ICONS);
return image;
}
}
public int compare(Object obj1, Object obj2) {
if (obj1 == null || obj2 == null || !(obj1 instanceof ConcreteMarker) || !(obj2 instanceof ConcreteMarker)) {
return 0;
}
ConcreteMarker marker1 = (ConcreteMarker) obj1;
ConcreteMarker marker2 = (ConcreteMarker) obj2;
try {
return marker1.getResourceNameKey().compareTo(marker2.getResourceNameKey());
} catch (NoSuchMethodError e) {
return 0; // TODO: will not sorting these cause any problems?
}
}
}