package com.vaadin.tests.components.table;
import com.vaadin.tests.components.TestBase;
import com.vaadin.tests.util.Log;
import com.vaadin.ui.Button;
import com.vaadin.ui.Button.ClickEvent;
import com.vaadin.ui.Button.ClickListener;
import com.vaadin.ui.Component;
import com.vaadin.ui.NativeButton;
import com.vaadin.v7.data.Item;
import com.vaadin.v7.ui.Table;
import com.vaadin.v7.ui.Table.ColumnGenerator;
public class TableWithChildComponents extends TestBase
implements ClickListener {
private static final String COL2 = "Column 2 - generated";
private static final String COL1 = "Column 1 - components";
private Log log = new Log(10);
@Override
protected void setup() {
Table table = new Table();
table.setWidth("500px");
table.setPageLength(10);
table.addContainerProperty(COL1, Component.class, null);
table.addContainerProperty(COL2, Component.class, null);
table.addGeneratedColumn(COL2, new ColumnGenerator() {
@Override
public Object generateCell(Table source, Object itemId,
Object columnId) {
return new Button("Item id: " + itemId + " column: " + columnId,
TableWithChildComponents.this);
}
});
for (int i = 0; i < 100; i++) {
Item item = table.addItem("Row " + i);
item.getItemProperty(COL1)
.setValue(new NativeButton("Row " + i + " native", this));
}
addComponent(table);
addComponent(log);
}
@Override
protected String getDescription() {
// TODO Auto-generated method stub
return null;
}
@Override
protected Integer getTicketNumber() {
// TODO Auto-generated method stub
return null;
}
@Override
public void buttonClick(ClickEvent event) {
log.log("Click on " + event.getButton().getCaption());
}
}