package org.gudy.azureus2.ui.swt.views.clientstats;
import org.gudy.azureus2.core3.util.DisplayFormatters;
import org.gudy.azureus2.plugins.ui.tables.TableCell;
import org.gudy.azureus2.plugins.ui.tables.TableCellRefreshListener;
import org.gudy.azureus2.plugins.ui.tables.TableColumn;
public class ColumnCS_Pct
implements TableCellRefreshListener
{
public static final String COLUMN_ID = "percent";
public ColumnCS_Pct(TableColumn column) {
column.initialize(TableColumn.ALIGN_TRAIL, TableColumn.POSITION_LAST, 50);
column.addListeners(this);
column.setType(TableColumn.TYPE_TEXT_ONLY);
column.setRefreshInterval(TableColumn.INTERVAL_LIVE);
}
public void refresh(TableCell cell) {
ClientStatsDataSource ds = (ClientStatsDataSource) cell.getDataSource();
if (ds == null) {
return;
}
float val = ds.count * 1000f / ds.overall.count;
if (cell.setSortValue(val) || !cell.isValid()) {
cell.setText(DisplayFormatters.formatPercentFromThousands((int) val));
}
}
}