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

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

Introduction

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

Prototype

void setParentItem(TreeItem parent) 

Source Link

Usage

From source file:org.iucn.sis.client.ui.TreeTable.java

License:Apache License

/**
 * Constructs an empty tree.//from  w w  w  . jav  a  2  s . c om
 */
public TreeTable() {
    Element tableElem = getElement();
    headElem = DOM.createElement("thead");
    Element tr = DOM.createTR();
    DOM.appendChild(headElem, tr);
    DOM.insertChild(tableElem, headElem, 0);

    DOM.setStyleAttribute(getElement(), "position", "relative");
    // focusable = impl.createFocusable();
    // DOM.setStyleAttribute(focusable, "fontSize", "0");
    // DOM.setStyleAttribute(focusable, "position", "absolute");
    // DOM.setIntStyleAttribute(focusable, "zIndex", -1);
    // DOM.appendChild(getElement(), focusable);

    sinkEvents(Event.MOUSEEVENTS | Event.ONCLICK | Event.KEYEVENTS);
    // DOM.sinkEvents(focusable, Event.FOCUSEVENTS | Event.KEYEVENTS |
    // DOM.getEventsSunk(focusable));

    // The 'root' item is invisible and serves only as a container
    // for all top-level items.
    root = new TreeItem() {
        @Override
        public void addItem(TreeItem item) {
            // If this element already belongs to a tree or tree item,
            // remove it.
            if ((item.getParentItem() != null) || (item.getTreeTable() != null)) {
                item.remove();
            }
            item.setTreeTable(this.getTreeTable());

            // Explicitly set top-level items' parents to null.
            item.setParentItem(null);
            getChildren().add(item);

            // Use no margin on top-most items.
            DOM.setIntStyleAttribute(item.getElement(), "marginLeft", 0);
        }

        @Override
        public void removeItem(TreeItem item) {
            if (!getChildren().contains(item)) {
                return;
            }
            // Update Item state.
            item.setTreeTable(null);
            item.setParentItem(null);
            getChildren().remove(item);
        }
    };
    root.setTreeTable(this);
    setStyleName("gwt-TreeTable");
}