package org.jactr.eclipse.runtime.ui.misc;
/*
* default logging
*/
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.eclipse.jface.viewers.BaseLabelProvider;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.swt.graphics.Image;
import org.jactr.eclipse.runtime.marker.MarkerIndex.MarkerRecord;
public class RunLabelProvider extends BaseLabelProvider implements
ILabelProvider
{
/**
* Logger definition
*/
static private final transient Log LOGGER = LogFactory
.getLog(RunLabelProvider.class);
private boolean _showType = false;
private boolean _showId = false;
public String getText(Object element)
{
if (element instanceof Number)
{
double timeInSeconds = ((Number) element).doubleValue();
return timeFormat(timeInSeconds);
}
if (element instanceof MarkerRecord)
{
MarkerRecord record = (MarkerRecord) element;
return String.format("%s %s [%s]%s",
_showType ? String.format("(%s)", record._type) : "", record._name,
timeFormat(record._time), record._isClosed ? "-" : "+");
}
return null;
}
private String timeFormat(double timeInSeconds)
{
double hours = Math.floor(timeInSeconds / 3600);
timeInSeconds -= hours * 3600;
double minutes = Math.floor(timeInSeconds / 60);
timeInSeconds -= minutes * 60;
return String
.format("%02.0f:%02.0f:%05.2fs", hours, minutes, timeInSeconds);
}
public Image getImage(Object element)
{
// TODO Auto-generated method stub
return null;
}
}