public void render(final Object obj, final TableBodyGroup bodyGroup) {
final Message message = (Message)obj;
final TableRow tr = bodyGroup.newTableRow();
tr.addStyleName("rr");
final TableDataCell cb = tr.newTableDataCell();
cb.setHorizontalAlignment(HasAlignment.ALIGN_RIGHT);
//cb.setWidth("31px");
cb.addStyleName("w31px");
cb.add(new CheckBox());
final TableDataCell star = tr.newTableDataCell();
//star.setWidth("20px");
star.addStyleName("w20px");
star.addStyleName("sc");
star.addStyleName("t");
final TableDataCell from = tr.newTableDataCell();
//from.setWidth("27ex");
from.addStyleName("w27ex");
from.addStyleName("nooverflow");
from.add(new Label(message.getFrom()));
final TableDataCell tome = tr.newTableDataCell();
//tome.setWidth("2ex");
tome.addStyleName("w2ex");
if (message.isTome()) {
tome.add(new HTML("»"));
}
final TableDataCell subject = tr.newTableDataCell();
subject.add(new Label(message.getSubject()));
subject.addStyleName("nooverflow");
final TableDataCell attachment = tr.newTableDataCell();
//attachment.setWidth("17px");
attachment.addStyleName("w17px");
if (message.isAttachment()) {
attachment.add(new Image("http://mail.google.com/mail/images/paperclip.gif"));
}
final TableDataCell date = tr.newTableDataCell();
//date.setWidth("9.5ex");
date.addStyleName("w9p5ex");
date.addStyleName("nooverflow");
date.add(new Label(message.getDate().toString()));
tr.add(cb);
tr.add(star);
tr.add(from);
tr.add(tome);