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

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

Introduction

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

Prototype

public Object getUserObject() 

Source Link

Document

Gets the user-defined object associated with this item.

Usage

From source file:cc.alcina.framework.gwt.client.ide.node.CollectionRenderingSupport.java

License:Apache License

public void refreshChildren(boolean lazy) {
    if (lazy && lazyRefresh && !item.getState()) {
        return;//from   www .j a  va  2 s. c o  m
    }
    Map<Object, TreeItem> existingObjects = new LinkedHashMap<Object, TreeItem>();
    for (int i = 0; i < item.getChildCount(); i++) {
        TreeItem child = item.getChild(i);
        if (child != null) {
            existingObjects.put(child.getUserObject(), child);
        }
    }
    Collection objects = getCollection();
    if (objects == null || objects.isEmpty()) {
        if (!existingObjects.isEmpty()) {
            item.removeItems();
        }
        return;
    }
    if (volatileOrder) {
        if (!existingObjects.isEmpty()) {
            item.removeItems();
            existingObjects.clear();
        }
    }
    List currentObjects = new ArrayList(objects);
    Object o = currentObjects.get(0);
    if (comparator != null) {
        Collections.sort(currentObjects, comparator);
    } else if (o instanceof Comparable) {
        Collections.sort(currentObjects);
    }
    if ((o instanceof Comparable) && CollectionRenderingSupport.REDRAW_CHILDREN_ON_ORDER_CHANGE
            && existingObjects.size() == currentObjects.size()) {
        List existingOrderedObjects = new ArrayList(existingObjects.keySet());
        List currentOrderedObjects = new ArrayList(currentObjects);
        Collections.sort(existingOrderedObjects);
        Collections.sort(currentOrderedObjects);
        if (!currentOrderedObjects.equals(existingOrderedObjects)) {
            existingObjects.clear();
            this.item.removeItems();
        }
    }
    int i1 = 0, i2 = 0;
    // find next common object, run the indexes up to it. if -1, run indexes
    // to end
    List existingList = new ArrayList(existingObjects.keySet());
    while (i1 < existingObjects.size() || i2 < currentObjects.size()) {
        int[] nextCommon = nextCommonObject(existingList, currentObjects, i1, i2);
        for (; i1 < nextCommon[0]; i1++) {
            this.item.removeItem(existingObjects.get(existingList.get(i1)));
        }
        for (; i2 < nextCommon[1]; i2++) {
            // if there were an "insertItem" on the tree API, this'd be
            // where we'd use it...
            // well..there is...but anyway (did someone slip that in?) -
            // anyway, adding at end is sometimes
            // nicer UI-wise
            item.addItem(getNodeFactory().getNodeForObject(currentObjects.get(i2)));
        }
        i1++;
        i2++;
    }
}

From source file:cc.alcina.framework.gwt.client.ide.node.UmbrellaProviderNode.java

License:Apache License

@Override
public boolean filter(String filterText, boolean enforceVisible) {
    boolean top = getParentItem() == null;
    if (filterText.length() < provider.getMinFilterableLength()) {
        TreeItem selectedItem = getTree().getSelectedItem();
        Object selectedObject = selectedItem == null ? null : selectedItem.getUserObject();
        provider.filter("");
        removeItems();/*from  w w  w . j  a v a 2s  .com*/
        support.setDirty(true);
        if (selectedObject != null) {
            openToObject(selectedObject);
        } else {
            setState(true, false);
        }
        return true;
    } else {
        provider.filter(filterText);
    }
    boolean show = !provider.getCollection().isEmpty();
    if (show) {
        support.setDirty(true);
        setState(true, false);
        filterChildren(filterText);
    } else {
        if (top) {
            filterChildren(filterText);
        } else {
            dummy();
        }
    }
    setVisible(show || top);
    return show;
}

From source file:cc.alcina.framework.gwt.client.ide.node.UmbrellaProviderNode.java

License:Apache License

protected boolean openToObject(Object userObject) {
    setState(true, false);//  w ww.jav a  2s .c  om
    for (int i = 0; i < getChildCount(); i++) {
        TreeItem child = getChild(i);
        Object childObject = child.getUserObject();
        if (childObject == userObject) {
            getTree().setSelectedItem(child);
            getTree().ensureSelectedItemVisible();
            DOM.scrollIntoView(child.getElement());
            return true;
        }
        if (child instanceof UmbrellaProviderNode) {
            UmbrellaProviderNode upn = (UmbrellaProviderNode) child;
            if (upn.provider.containsObject(userObject)) {
                return upn.openToObject(userObject);
            }
        }
    }
    return false;
}

From source file:cc.alcina.framework.gwt.client.ide.widget.DataTree.java

License:Apache License

public TreeItem getNodeForObject(final Object obj) {
    result = null;//from   w  w w  .  j  av  a2s  .co  m
    final boolean classNameTest = (obj instanceof String);
    Callback<TreeItem> callback = new Callback<TreeItem>() {
        public void apply(TreeItem target) {
            Object userObject = target.getUserObject();
            if (userObject != null) {
                if ((classNameTest && userObject.getClass().getName().replace("$", ".").equals(obj))
                        || Objects.equals(obj, userObject)) {
                    result = target;
                }
            }
        }
    };
    new TreeNodeWalker().walk(this, callback);
    return result;
}

From source file:client.template.TreeMenu.java

License:Open Source License

/**
 * Constructor. Build the Tree Menu//  w w w.j  a va 2 s  .  c o  m
 */
public TreeMenu() {
    final TreeImages images = (TreeImages) GWT.create(NspTreeImages.class);
    this.tree = new Tree(images);

    this.treeListener = new TreeListener() {
        public void onTreeItemSelected(final TreeItem item) {
            if (item.getUserObject() != null) {
                ManagementGui.get().displayItem(item.getUserObject());
            } else {
                ManagementGui.get().displayItem(new DefaultPage("Welcome to Phosphorus WP1 Administrator Gui",
                        "Please select any Subitem"));
            }
        }

        public void onTreeItemStateChanged(final TreeItem item) {

        }
    };

    this.tree.addTreeListener(this.treeListener);
    this.initWidget(this.tree);
}

From source file:com.audata.client.admin.ClassificationPanel.java

License:Open Source License

/**
 * Called when a TreeItem in the classification
 * hierarchy is selected. Attempts to load any child classes
 *//* ww w.  ja  va2 s. c o m*/
public void onTreeItemSelected(TreeItem item) {
    TreeNodeType nt = (TreeNodeType) item.getUserObject();
    this.selectedUUID = nt.uuid;
    this.isNew = false;
    JSONArray params = new JSONArray();
    params.set(0, new JSONString(this.selectedUUID));
    AuDoc.jsonCall.asyncPost2("Recman.getClass", params, new ClassResponseHandler(this));
}

From source file:com.audata.client.admin.KeywordPanel.java

License:Open Source License

/**
 * Called when a TreeItem is selected.//w  w  w .  j  ava2 s . c o  m
 * Attempts to obtain child levels
 */
public void onTreeItemSelected(TreeItem item) {
    HashMap nt = (HashMap) item.getUserObject();

    this.selectedUUID = (String) nt.get("uuid");
    this.isNew = false;
    this.name.setText((String) nt.get("name"));
}

From source file:com.audata.client.classification.ClassBrowser.java

License:Open Source License

public void onTreeItemSelected(TreeItem item) {
    this.selected = item;
    TreeNodeType nt = (TreeNodeType) item.getUserObject();
    if (nt.hasChildren) {
        this.getClasses(nt.uuid);
    } else {/*from w ww.  ja  va 2 s.c o m*/
        if (this.audoc != null) {
            this.getRecords(nt.uuid, nt.name);
        }
    }
}

From source file:com.audata.client.classification.PopUpClassBrowser.java

License:Open Source License

public void onTreeItemSelected(TreeItem item) {
    TreeNodeType nt = (TreeNodeType) item.getUserObject();
    if (!nt.hasChildren) {
        this.setValues(item.getText(), nt.uuid);
        this.hide();
    }// w w  w.ja  va  2 s.c  om
}

From source file:com.audata.client.Keyword.KeywordBrowser.java

License:Open Source License

public void onTreeItemSelected(TreeItem item) {
    this.selected = item;
    HashMap nt = (HashMap) item.getUserObject();
    Boolean hasChildren = (Boolean) nt.get("hasChildren");
    if (hasChildren.booleanValue()) {
        this.getKeywords((String) nt.get("uuid"));
    }//from  w  ww. j  a  v a 2  s  .c o  m
}