package com.vaadin.tests.components.uitest.components; import com.vaadin.event.Action; import com.vaadin.tests.components.uitest.TestSampler; import com.vaadin.v7.data.Item; import com.vaadin.v7.data.util.HierarchicalContainer; import com.vaadin.v7.ui.Tree; public class TreeCssTest { private int debugIdCounter = 0; public TreeCssTest(TestSampler parent) { // Actions for the context menu final Action ACTION_ADD = new Action("Add child item"); final Action ACTION_DELETE = new Action("Delete"); final Action[] ACTIONS = new Action[] { ACTION_ADD, ACTION_DELETE }; final Tree tree = new Tree(); tree.setId("tree" + debugIdCounter++); HierarchicalContainer hc = createHierarchicalContainer(); tree.setContainerDataSource(hc); tree.addActionHandler(new Action.Handler() { @Override public void handleAction(Action action, Object sender, Object target) { // We don't care about functionality, we just want the UI for // testing.. } @Override public Action[] getActions(Object target, Object sender) { // TODO Auto-generated method stub return ACTIONS; } }); // Expand whole tree for (Object id : tree.rootItemIds()) { tree.expandItemsRecursively(id); } parent.addComponent(tree); } private HierarchicalContainer createHierarchicalContainer() { String[] itemNames = new String[] { "Foo", "Baar" }; HierarchicalContainer hc = new HierarchicalContainer(); hc.addContainerProperty("NAME", String.class, null); for (String parentId : itemNames) { Item parent = hc.addItem(parentId); parent.getItemProperty("NAME").setValue(parentId); hc.setChildrenAllowed(parent, true); for (int i = 0; i < 5; i++) { String childId = parentId + i; Item child = hc.addItem(childId); child.getItemProperty("NAME").setValue(childId); if (!hc.setParent(childId, parentId)) { System.out.println("Unable to set parent \"" + parentId + "\" for child with id: \"" + childId + "\""); } } } return hc; } }