package com.vaadin.tests.components.treetable;
import com.vaadin.server.ThemeResource;
import com.vaadin.tests.components.TestBase;
import com.vaadin.ui.AbstractComponent;
import com.vaadin.ui.Alignment;
import com.vaadin.ui.Component;
import com.vaadin.ui.GridLayout;
import com.vaadin.ui.Layout;
import com.vaadin.v7.data.Container.Hierarchical;
import com.vaadin.v7.ui.Table;
import com.vaadin.v7.ui.TreeTable;
public class ExpandAnimationsInChameleon extends TestBase {
@Override
protected void setup() {
Layout grid = getGridLayout();
TreeTable t = getTreeTable(null);
grid.addComponent(t);
t = getTreeTable("small");
grid.addComponent(t);
t = getTreeTable("big");
grid.addComponent(t);
t = getTreeTable("striped");
grid.addComponent(t);
t = getTreeTable("small striped");
grid.addComponent(t);
t = getTreeTable("big striped");
grid.addComponent(t);
t = getTreeTable("strong");
grid.addComponent(t);
t = getTreeTable("small strong");
grid.addComponent(t);
t = getTreeTable("big strong");
grid.addComponent(t);
t = getTreeTable("borderless");
grid.addComponent(t);
t = getTreeTable("striped");
t.setColumnHeaderMode(Table.COLUMN_HEADER_MODE_HIDDEN);
t.setCaption(t.getCaption() + ", hidden headers");
grid.addComponent(t);
addComponent(grid);
}
GridLayout getGridLayout() {
GridLayout grid = new GridLayout(3, 1) {
@Override
public void addComponent(Component c) {
super.addComponent(c);
setComponentAlignment(c, Alignment.MIDDLE_CENTER);
if (c.getStyleName() != "") {
((AbstractComponent) c).setDescription(
c.getClass().getSimpleName() + ".addStyleName(\""
+ c.getStyleName() + "\")");
} else {
((AbstractComponent) c).setDescription(
"new " + c.getClass().getSimpleName() + "()");
}
}
};
grid.setWidth("100%");
grid.setSpacing(true);
grid.setMargin(true);
grid.setStyleName("preview-grid");
return grid;
}
public TreeTable getTreeTable(String style) {
TreeTable t = new TreeTable();
t.setAnimationsEnabled(true);
t.setWidth("250px");
t.setPageLength(5);
t.setSelectable(true);
t.setColumnCollapsingAllowed(true);
t.setColumnReorderingAllowed(true);
if (style != null) {
t.setStyleName(style);
t.setCaption("Table.addStyleName(\"" + style + "\")");
}
t.addContainerProperty("First", String.class, null);
t.addContainerProperty("Second", String.class, null);
t.addContainerProperty("Third", String.class, null);
for (int j = 1; j < 100; j++) {
t.addItem(new Object[] { "Foo " + j, "Bar " + j, "Lorem " + j }, j);
}
Hierarchical hc = t.getContainerDataSource();
hc.setChildrenAllowed(2, true);
for (int j = 4; j < 100; j++) {
hc.setParent(j, 2);
}
t.setColumnIcon("Third",
new ThemeResource("../runo/icons/16/document.png"));
t.select(1);
return t;
}
@Override
protected String getDescription() {
return "Colors should be correct while animating expands/collapses";
}
@Override
protected Integer getTicketNumber() {
return 6723;
}
}