package ch.elexis.agenda.ui.provider;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.swt.graphics.Image;
import ch.elexis.agenda.data.Termin;
import ch.rgw.tools.TimeSpan;
import ch.rgw.tools.TimeTool;
public class TermineLabelProvider extends LabelProvider implements ITableLabelProvider {
@Override
public Image getColumnImage(Object element, int columnIndex){
return null;
}
@Override
public String getColumnText(Object element, int columnIndex){
if (element instanceof Termin) {
Termin termin = (Termin) element;
StringBuilder sbLabel = new StringBuilder();
TimeSpan ts = termin.getTimeSpan();
// day
TimeTool tt = new TimeTool();
tt.setDate(termin.getDay());
sbLabel.append(tt.toString(TimeTool.DATE_GER));
sbLabel.append(", ");
// start time
tt.setTime(ts.from);
sbLabel.append(tt.toString(TimeTool.TIME_SMALL));
sbLabel.append(" - ");
// end time
tt.setTime(ts.until);
sbLabel.append(tt.toString(TimeTool.TIME_SMALL));
// type
sbLabel.append(" (");
sbLabel.append(termin.getType());
sbLabel.append(", ");
// status
sbLabel.append(termin.getStatus());
sbLabel.append("), ");
// bereich
sbLabel.append(termin.getBereich());
// grund if set
if (termin.getGrund() != null && !termin.getGrund().isEmpty()) {
sbLabel.append(" (");
sbLabel.append(termin.getGrund());
sbLabel.append(")");
}
return sbLabel.toString();
}
return element.toString();
}
}