123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- package com.vaadin.tests.components.tree;
-
- import com.vaadin.data.Container;
- import com.vaadin.event.DataBoundTransferable;
- import com.vaadin.event.dd.DragAndDropEvent;
- import com.vaadin.event.dd.DropHandler;
- import com.vaadin.event.dd.acceptcriteria.AcceptCriterion;
- import com.vaadin.tests.components.TestBase;
- import com.vaadin.ui.AbstractSelect.AbstractSelectTargetDetails;
- import com.vaadin.ui.HorizontalLayout;
- import com.vaadin.ui.Table;
- import com.vaadin.ui.Table.TableDragMode;
- import com.vaadin.ui.Tree;
- import com.vaadin.ui.Tree.TargetItemAllowsChildren;
-
- public class TreeDragAndDropFromTable extends TestBase {
-
- @Override
- protected void setup() {
-
- HorizontalLayout h = new HorizontalLayout();
- addComponent(h);
-
- Table table = new Table();
- table.addContainerProperty("Column 1", String.class, "Row");
- table.setDragMode(TableDragMode.ROW);
-
- table.addItem("Row 1");
- table.addItem("Row 2");
- table.addItem("Row 3");
- table.addItem("Row 4");
- table.addItem("Row 5");
- table.addItem("Row 6");
- table.addItem("Row 7");
-
- h.addComponent(table);
-
- final Tree tree = new Tree();
- tree.setDropHandler(new DropHandler() {
-
- @Override
- public AcceptCriterion getAcceptCriterion() {
- return TargetItemAllowsChildren.get();
- }
-
- @Override
- public void drop(DragAndDropEvent dropEvent) {
- // criteria verify that this is safe
- DataBoundTransferable t = (DataBoundTransferable) dropEvent
- .getTransferable();
- Container sourceContainer = t.getSourceContainer();
- Object sourceItemId = t.getItemId();
- System.out.println(sourceItemId);
-
- AbstractSelectTargetDetails dropData = ((AbstractSelectTargetDetails) dropEvent
- .getTargetDetails());
- Object targetItemId = dropData.getItemIdOver();
-
- // move item from table to category'
- tree.addItem(sourceItemId);
- tree.setParent(sourceItemId, targetItemId);
- tree.setChildrenAllowed(sourceItemId, false);
- sourceContainer.removeItem(sourceItemId);
-
- }
- });
-
- tree.addItem("Item 1");
- tree.addItem("Item 11");
- tree.setChildrenAllowed("Item 11", false);
- tree.setParent("Item 11", "Item 1");
- tree.addItem("Item 12");
- tree.setChildrenAllowed("Item 12", false);
- tree.setParent("Item 12", "Item 1");
- tree.addItem("Item 13");
- tree.setChildrenAllowed("Item 13", false);
- tree.setParent("Item 13", "Item 1");
-
- tree.addItem("Item 2");
- tree.addItem("Item 21");
- tree.setChildrenAllowed("Item 21", false);
- tree.setParent("Item 21", "Item 2");
- tree.addItem("Item 22");
- tree.setChildrenAllowed("Item 22", false);
- tree.setParent("Item 22", "Item 2");
- tree.addItem("Item 23");
- tree.setChildrenAllowed("Item 23", false);
- tree.setParent("Item 23", "Item 2");
-
- tree.addItem("Item 3");
- tree.addItem("Item 31");
- tree.setChildrenAllowed("Item 31", false);
- tree.setParent("Item 31", "Item 3");
- tree.addItem("Item 32");
- tree.setChildrenAllowed("Item 32", false);
- tree.setParent("Item 32", "Item 3");
- tree.addItem("Item 33");
- tree.setChildrenAllowed("Item 33", false);
- tree.setParent("Item 33", "Item 3");
-
- tree.expandItemsRecursively("Item 1");
- tree.expandItemsRecursively("Item 2");
- tree.expandItemsRecursively("Item 3");
-
- h.addComponent(tree);
- }
-
- @Override
- protected String getDescription() {
- return "Test that childred can be dragged "
- + "from the Table to the tree and that TargetItemAllowsChildren limits "
- + "the drops to nodes which allows children";
- }
-
- @Override
- protected Integer getTicketNumber() {
- return 7687;
- }
-
- }
|