package fr.lteconsulting.hexa.client.ui.tools;
import java.util.ArrayList;
import fr.lteconsulting.hexa.client.ui.treetable.Row;
import fr.lteconsulting.hexa.client.ui.treetable.TreeTable;
public class ColumnsSet<T>
{
private final ArrayList<IColumn<T>> columns = new ArrayList<IColumn<T>>();
public void addColumn( IColumn<T> columnManager )
{
columns.add( columnManager );
}
public int getNbColumns()
{
return columns.size();
}
public void setHeaders( TreeTable table )
{
for( int i = 0; i < columns.size(); i++ )
table.setHeader( i, columns.get( i ).getTitle() );
}
public void fillRow( Row row, T record )
{
for( int i = 0; i < columns.size(); i++ )
columns.get( i ).fillCell( row.getCell( i ), record );
}
// simple print
public String getTitle( int column )
{
return columns.get( column ).getTitle();
}
public void fillCell( int column, Row row, T record )
{
columns.get( column ).fillCell( row.getCell( column ), record );
}
public IEditor editCell( int column, T record )
{
return columns.get( column ).editCell( record );
}
}