Example usage for com.google.gwt.user.client.ui TreeItem getChild

List of usage examples for com.google.gwt.user.client.ui TreeItem getChild

Introduction

In this page you can find the example usage for com.google.gwt.user.client.ui TreeItem getChild.

Prototype

public TreeItem getChild(int index) 

Source Link

Document

Gets the child at the specified index.

Usage

From source file:net.husoftware.client.spike.DragDropLabel.java

License:Open Source License

private void initDrop() {
    addDomHandler(new DragOverHandler() {
        @Override// ww  w .  j ava 2s. co  m
        public void onDragOver(DragOverEvent event) {
            addStyleName("dropping");
        }
    }, DragOverEvent.getType());

    addDomHandler(new DragLeaveHandler() {
        @Override
        public void onDragLeave(DragLeaveEvent event) {
            removeStyleName("dropping");
        }
    }, DragLeaveEvent.getType());

    addDomHandler(new DropHandler() {
        @Override
        public void onDrop(DropEvent event) {
            event.preventDefault();
            if (dragging != null) {
                // Target treeitem is found via 'this';
                // Dragged treeitem is found via 'dragging'.

                TreeItem dragTarget = null;
                TreeItem dragSource = null;

                // The parent of 'this' is not the TreeItem, as that's not a Widget.
                // The parent is the tree containing the treeitem.
                Tree tree = (Tree) DragDropLabel.this.getParent();

                // Visit the entire tree, searching for the drag and drop TreeItems

                List<TreeItem> stack = new ArrayList<TreeItem>();
                stack.add(tree.getItem(0));
                while (!stack.isEmpty()) {
                    TreeItem item = stack.remove(0);
                    for (int i = 0; i < item.getChildCount(); i++) {
                        stack.add(item.getChild(i));
                    }

                    Widget w = item.getWidget();
                    if (w != null) {
                        if (w == dragging) {
                            dragSource = item;
                            if (dragTarget != null) {
                                break;
                            }
                        }
                        if (w == DragDropLabel.this) {
                            dragTarget = item;
                            w.removeStyleName("dropping");
                            if (dragSource != null) {
                                break;
                            }
                        }
                    }
                }

                // Do we have a source and a target?
                if (dragSource != null && dragTarget != null) {
                    // Make sure that target is not a child of dragSource

                    TreeItem test = dragTarget;
                    while (test != null) {
                        if (test == dragSource) {
                            return;
                        }
                        test = test.getParentItem();
                    }

                    // Move the dragged item (source) under the target.
                    dragTarget.addItem(dragSource);
                    // Make sure the the target treeitem is open.
                    dragTarget.setState(true);
                }
                dragging = null;
            }
        }
    }, DropEvent.getType());
}

From source file:net.husoftware.client.spike.DragDropTree.java

License:Open Source License

@Override
public void onModuleLoad() {
    Tree tree = new Tree();

    RootPanel.get("main").add(tree);

    // root is not draggable.
    TreeItem treeItem = new TreeItem(new DragDropLabel("root", false, true));
    tree.addItem(treeItem);/*from www .j  a  va 2  s.  c  om*/

    // Add some folders
    treeItem.addItem(new DragDropLabel("folder1", true, true));
    treeItem.addItem(new DragDropLabel("folder2", true, true));

    TreeItem folder3 = treeItem.addItem(new DragDropLabel("folder3", true, true));
    folder3.addItem(new DragDropLabel("folder3-1", true, true));
    folder3.addItem(new DragDropLabel("folder3-2", true, true));

    // Add some leaves to the tree
    List<TreeItem> stack = new ArrayList<TreeItem>();
    stack.add(tree.getItem(0));

    int filenum = 1;
    while (!stack.isEmpty()) {
        TreeItem item = stack.remove(0);
        for (int i = 0; i < item.getChildCount(); i++) {
            stack.add(item.getChild(i));
        }

        int files = Random.nextInt(4) + 1;
        for (int j = 0; j < files; j++) {
            item.addItem(new TreeItem(new DragDropLabel("File " + filenum, true, false)));
            filenum++;
        }
        item.setState(true);
    }
}

From source file:net.s17fabu.vip.gwt.showcase.client.content.lists.CwTree.java

License:Apache License

/**
 * Create a dynamic tree that will add a random number of children to each
 * node as it is clicked./*from  w  w  w .  j  av  a 2  s  . c o m*/
 * 
 * @return the new tree
 */
private Tree createDynamicTree() {
    // Create a new tree
    Tree dynamicTree = new Tree();

    // Add some default tree items
    for (int i = 0; i < 5; i++) {
        TreeItem item = dynamicTree.addItem(constants.cwTreeItem() + " " + i);

        // Temporarily add an item so we can expand this node
        item.addItem("");
    }

    // Add a handler that automatically generates some children
    dynamicTree.addOpenHandler(new OpenHandler<TreeItem>() {
        public void onOpen(OpenEvent<TreeItem> event) {
            TreeItem item = event.getTarget();
            if (item.getChildCount() == 1) {
                // Close the item immediately
                item.setState(false, false);

                // Add a random number of children to the item
                String itemText = item.getText();
                int numChildren = Random.nextInt(5) + 2;
                for (int i = 0; i < numChildren; i++) {
                    TreeItem child = item.addItem(itemText + "." + i);
                    child.addItem("");
                }

                // Remove the temporary item when we finish loading
                item.getChild(0).remove();

                // Reopen the item
                item.setState(true, false);
            }
        }
    });

    // Return the tree
    return dynamicTree;
}

From source file:nz.org.winters.appspot.acrareporter.client.ui.ACRAReportView.java

License:Apache License

private void recurseAddItem(TreeItem current, String[] items, int itemIndex) {
    if (itemIndex < items.length) {
        String looking = items[itemIndex];
        for (int i = 0; i < current.getChildCount(); i++) {
            TreeItem child = current.getChild(i);
            if (child.getText().equalsIgnoreCase(looking)) {
                recurseAddItem(child, items, ++itemIndex);
                child.setState(true);//from w  w  w. ja v a  2s .  c  o  m
                return;
            }
        }
        TreeItem child = current.addTextItem(items[itemIndex]);
        recurseAddItem(child, items, ++itemIndex);
        child.setState(true);
    }
}

From source file:org.aksw.TripleCheckMate.client.widgets.EvaluationItemDialog.java

License:Apache License

private void treeCloseAll(TreeItem ti) {
    if (ti == null) {
        for (int i = 0; i < treeError.getItemCount(); i++)
            treeCloseAll(treeError.getItem(i));
    } else {/*from   w  ww .  j a va  2 s  . c o  m*/
        for (int i = 0; i < ti.getChildCount(); i++)
            treeCloseAll(ti.getChild(i));
        ti.setState(false);
    }
}

From source file:org.aksw.TripleCheckMate.client.widgets.EvaluationItemDialog.java

License:Apache License

private void treeOpenAll(TreeItem ti) {
    if (ti == null) {
        for (int i = 0; i < treeError.getItemCount(); i++)
            treeOpenAll(treeError.getItem(i));
    } else {//from  ww w.  j  av  a2 s . c o m
        for (int i = 0; i < ti.getChildCount(); i++)
            treeOpenAll(ti.getChild(i));
        ti.setState(true);
    }
}

From source file:org.aksw.TripleCheckMate.client.widgets.EvaluationItemDialog.java

License:Apache License

private TreeItem getTreeItemWithID(TreeItem ti, long ID) {
    if (ti == null) {
        for (int i = 0; i < treeError.getItemCount(); i++) {
            ErrorItem er = (ErrorItem) treeError.getItem(i).getUserObject();
            if (er.ID == ID)
                return treeError.getItem(i);
            TreeItem n = getTreeItemWithID(treeError.getItem(i), ID);
            if (n != null)
                return n;
        }//from ww w .  j a  v  a 2s.  c  o  m
    } else {
        for (int i = 0; i < ti.getChildCount(); i++) {
            ErrorItem er = (ErrorItem) ti.getChild(i).getUserObject();
            if (er != null && er.ID == ID)
                return ti.getChild(i);
            TreeItem n = getTreeItemWithID(ti.getChild(i), ID);
            if (n != null)
                return n;
        }
    }
    return null;
}

From source file:org.apache.sling.explorer.client.widgets.tree.resource.ResourceTree.java

License:Apache License

public ResourceTree() {
    super();//from   w w  w.ja  v  a  2 s.  co  m

    // Add an open handler to have a lazy loading treeview
    addOpenHandler(new OpenHandler<TreeItem>() {
        public void onOpen(OpenEvent<TreeItem> event) {
            TreeItem item = event.getTarget();
            if (item.getState() && item.getChildCount() == 1) {

                Node node = (Node) item.getUserObject();
                loadChildren(item, node.getId() + ExplorerConstants.JSON_TREE_REQUEST_EXTENSION);

                // Remove the temporary item when we finish loading
                item.getChild(0).remove();

            }

        }
    });

    // Add a selection handler to refresh the property & resource grids
    addSelectionHandler(new SelectionHandler<TreeItem>() {

        public void onSelection(SelectionEvent<TreeItem> event) {
            GWT.log("Selected item : " + event.getSelectedItem().getText(), null);
            Node node = (Node) event.getSelectedItem().getUserObject();
            if (properties != null)
                properties.populate(node.id);

        }

    });
}

From source file:org.codesearch.searcher.client.ui.fileview.sidebar.SidebarImpl.java

License:Open Source License

private void expandItem(TreeItem item) {
    item.setState(true);//from   w  w w  .j  ava  2s  .  c  o  m
    for (int i = 0; i < item.getChildCount(); i++) {
        expandItem(item.getChild(i));
    }
}

From source file:org.datacleaner.monitor.shared.widgets.SchemaTree.java

License:Open Source License

@Override
public void onOpen(OpenEvent<TreeItem> event) {
    final TreeItem item = event.getTarget();

    if (item.getChildCount() == 1) {
        final TreeItem child = item.getChild(0);
        final String childText = child.getText();
        if (LOADING_ITEM_TEXT.asString().equals(childText)) {
            loadChildren(item);//from w  ww  . j  a  va2  s. c om
        }
    }
}