package com.aptana.rdt.internal.profiling;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.swt.graphics.Image;
import org.rubypeople.rdt.ui.ISharedImages;
import org.rubypeople.rdt.ui.RubyUI;
public class ExecutionLabelProvider implements ITableLabelProvider {
public Image getColumnImage(Object element, int columnIndex) {
switch (columnIndex) {
case 0:
return RubyUI.getSharedImages().getImage(ISharedImages.IMG_OBJS_CLASS);
case 1:
return RubyUI.getSharedImages().getImage(ISharedImages.IMG_MISC_PUBLIC_METHOD);
default:
return null;
}
}
public String getColumnText(Object element, int columnIndex) {
MethodCall stat = (MethodCall) element;
switch (columnIndex) {
case 0:
return stat.getClassName();
case 1:
return stat.getMethodName();
case 2:
return Float.toString(stat.selfTimePercent()) + "%";
case 3:
return Integer.toString(stat.callCount());
case 4:
return Float.toString(stat.selfTime());
case 5:
return Float.toString(stat.waitTime());
case 6:
return Float.toString(stat.childTime());
case 7:
return Float.toString(stat.timePerInvocation());
default:
return null;
}
}
public void addListener(ILabelProviderListener listener) {}
public void dispose() {}
public boolean isLabelProperty(Object element, String property) {
return false;
}
public void removeListener(ILabelProviderListener listener) {}
}