package fr.inria.soctrace.framesoc.ui.piechart.providers; import java.text.NumberFormat; import fr.inria.soctrace.framesoc.ui.model.ITableColumn; import fr.inria.soctrace.framesoc.ui.piechart.model.IPieChartLoader; import fr.inria.soctrace.framesoc.ui.piechart.view.StatisticsPieChartView; import fr.inria.soctrace.framesoc.ui.providers.TableRowLabelProvider; import fr.inria.soctrace.lib.model.utils.ModelConstants.TimeUnit; import fr.inria.soctrace.lib.model.utils.TimestampFormat; public class ValueLabelProvider extends TableRowLabelProvider { private StatisticsPieChartView view; public ValueLabelProvider(ITableColumn col, StatisticsPieChartView view) { super(col); this.view = view; } @Override public String getText(Object element) { IPieChartLoader loader = view.getCurrentLoader(); if (loader == null) { return super.getText(element); } else { Double val = Double.valueOf(super.getText(element)); NumberFormat format = getActualFormat(loader.getFormat(), view.getTimeUnit()); return format.format(val); } } public static NumberFormat getActualFormat(NumberFormat format, TimeUnit unit) { if (format instanceof TimestampFormat) { TimestampFormat tf = (TimestampFormat) format; tf.setTimeUnit(unit); return tf; } else { return format; } } }