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

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

Introduction

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

Prototype

public boolean getState() 

Source Link

Document

Gets whether this item's children are displayed.

Usage

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

License:Apache License

/**
 * Moves to the next item, going into children as if dig is enabled.
 */// www  . jav a2s  . com
private void moveSelectionDown(TreeItem sel, boolean dig) {
    if (sel == root) {
        return;
    }

    TreeItem parent = sel.getParentItem();
    if (parent == null) {
        parent = root;
    }
    int idx = parent.getChildIndex(sel);

    if (!dig || !sel.getState()) {
        if (idx < parent.getChildCount() - 1) {
            onSelection(parent.getChild(idx + 1), true);
        } else {
            moveSelectionDown(parent, false);
        }
    } else if (sel.getChildCount() > 0) {
        onSelection(sel.getChild(0), true);
    }
}

From source file:org.jboss.ballroom.client.layout.LHSNavTree.java

License:Open Source License

public LHSNavTree(Tree.Resources resources, final String category) {
    super(resources);

    this.treeId = "lhs-nav-tree_" + HTMLPanel.createUniqueId();
    this.category = category;

    addStyleName("stack-section");

    /**/*from   w w w  . j  av  a2  s.  co  m*/
     * actions that reveal content
     */
    addKeyDownHandler(new KeyDownHandler() {
        public void onKeyDown(KeyDownEvent keyDownEvent) {
            if (keyDownEvent.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
                revealContent(false);
            }
        }
    });

    addMouseDownHandler(new MouseDownHandler() {

        public void onMouseDown(MouseDownEvent mouseDownEvent) {
            Scheduler.get().scheduleDeferred(new Scheduler.ScheduledCommand() {
                public void execute() {
                    revealContent(true);
                }
            });
        }
    });

    Scheduler.get().scheduleEntry(new Scheduler.ScheduledCommand() {
        public void execute() {
            framework.getEventBus().addHandler(LHSHighlightEvent.TYPE, LHSNavTree.this);
        }
    });

    /*
    Allow clicks on lhs titles to open thr tree
    */

    addMouseDownHandler(new MouseDownHandler() {
        public void onMouseDown(MouseDownEvent event) {
            EventTarget target = event.getNativeEvent().getEventTarget();
            com.google.gwt.dom.client.Element el = Element.as(target);
            final String title = el.getInnerText();

            if (el.getTagName().equalsIgnoreCase("div")) {
                applyStateChange(new StateChange() {
                    public void applyTo(TreeItem treeItem) {

                        boolean isMatched = title.equals(treeItem.getText());

                        if (isMatched) {
                            treeItem.setState(!treeItem.getState());
                        }
                    }
                });
            }
        }
    });

}

From source file:org.jboss.errai.widgets.client.WSTree.java

License:Apache License

public WSTree() {
    tree = new Tree();
    tree.setAnimationEnabled(true);/*from   ww w. j  a v a 2 s .co m*/

    /**
     * Add the mouse listener to handle double-click.
     */
    tree.addMouseDownHandler(new MouseDownHandler() {
        public void onMouseDown(MouseDownEvent event) {
            long elapsed = System.currentTimeMillis() - last;
            if (!getUserAgent().contains("msie")) {
                last = System.currentTimeMillis();
                TreeItem fti = tree.getSelectedItem();

                if (fti != null && fti.equals(lastItem) && elapsed < threshold) {
                    if (fti.getChildCount() > 0) {
                        if (!fti.getState()) {
                            fti.setState(true, true);
                        } else {
                            fti.setState(false, false);
                        }
                    } else {
                        clickListeners.get(fti).onClick(null);
                    }
                    last = 0;
                }
            }
        }
    });

    tree.addMouseOutHandler(new MouseOutHandler() {
        public void onMouseOut(MouseOutEvent event) {
            lastItem = null;
        }
    });

    tree.addMouseUpHandler(new MouseUpHandler() {
        public void onMouseUp(MouseUpEvent event) {
            long elapsed = System.currentTimeMillis() - last;

            TreeItem fti = tree.getSelectedItem();

            if (getUserAgent().contains("msie")) {
                last = System.currentTimeMillis();

                if (fti != null && elapsed < threshold && lastItem != null
                        && fti.hashCode() == lastItem.hashCode()) {
                    if (fti.getChildCount() > 0) {
                        if (!fti.getState()) {
                            fti.setState(true, true);
                        } else {
                            fti.setState(false, false);
                        }
                    } else {
                        clickListeners.get(fti).onClick(null);
                    }
                    lastItem = null;
                } else {
                    lastItem = fti;
                }
            } else {
                lastItem = fti;
            }
        }
    });

    initWidget(tree);
}

From source file:org.onecmdb.ui.gwt.toolkit.client.view.tree.CITreeWidget.java

License:Open Source License

public void onTreeItemStateChanged(final TreeItem item) {
    final long start = System.currentTimeMillis();
    if (item.getState()) {
        if (item.getUserObject() instanceof GroupData) {
            GroupData gData = (GroupData) item.getUserObject();
            updateChildren(item, gData.getUserData(), gData.getFirstItem());
            return;
        }//from   w w w.ja va 2  s  .c om
        currentItem = item;
        // Open start populate with entries.
        this.control.getChildCount(item.getUserObject(), new AsyncCallback() {

            public void onFailure(Throwable caught) {
                item.removeItems();
                item.addItem(new TreeItem(new Label("ERROR: " + caught.getMessage())));
            }

            public void onSuccess(Object result) {
                if (result instanceof Integer) {
                    Integer totalCount = (Integer) result;
                    Integer maxResult = CITreeWidget.this.control.getMaxResult();

                    if (maxResult != null && (totalCount.intValue() > maxResult.intValue())) {
                        // Start adding groups...
                        int groups = totalCount.intValue() / maxResult.intValue();
                        int rest = totalCount.intValue() % maxResult.intValue();
                        if (rest > 0) {
                            groups++;
                        }
                        item.removeItems();
                        for (int i = 0; i < groups; i++) {
                            TreeItem groupItem = new TreeItem();
                            int start = 1;
                            int stop = maxResult.intValue();
                            if (i > 0) {
                                start = (i * maxResult.intValue()) + 1;
                                stop = ((i + 1) * maxResult.intValue());
                                if (stop > totalCount.intValue()) {
                                    stop = totalCount.intValue();
                                }
                            }
                            groupItem.setText("[" + start + ".." + stop + "]");
                            groupItem
                                    .setUserObject(new GroupData(item.getUserObject(), new Integer(start - 1)));
                            groupItem.addItem(new TreeItem("Loading..."));
                            item.addItem(groupItem);

                        }
                    } else {
                        updateChildren(item, item.getUserObject(), null);
                    }
                }
            }
        });

    } else {
        //item.removeItems();
        //updateCountItem(item);
    }

    if (CITreeWidget.this.control.getTreeListener() != null) {
        CITreeWidget.this.control.getTreeListener().onTreeItemStateChanged(item);
    }

}

From source file:org.opendatakit.aggregate.client.FiltersDataPanel.java

License:Apache License

public void update(FilterGroup group) {
    // check if filter group has changed
    if (!group.equals(previousGroup)) {
        previousGroup = group;//from  ww w .  j a va  2s.co  m
        previousName = group.getName();

        // if new form clear everything so we can regenerate data
        filtersTree.removeItems();
        filterHeader.clear();

        // verify form exists, then update
        if (group.getFormId() == null) {
            return;
        }

        // update filter header
        updateFilterHeader(group);

        // create filter list
        for (Filter filter : group.getFilters()) {
            TreeItem filterItem = createFilterTreeItem(filter);
            filterItem.setState(true);
            filtersTree.addItem(filterItem);
        }

    } else {
        // only the filters need to be refreshed (unless a save or save as
        // happens)
        String name = group.getName();

        // if save/saveAs happen the UI needs to detect the change and update the
        // filter header information
        // Note: the group.equals(previousGorup) check does not catch this case
        // as the filterGroup's name will update in the reference do it does not
        // detect the difference with the change in the global object. To detect
        // the change keeping a local copy of name to compare with
        if (name != null) {
            // check for name change
            if (!name.equals(previousName)) {
                previousName = name;
                filterHeader.clear();

                if (group.getFormId() == null) {
                    return;
                }
                updateFilterHeader(group);
            }
        }

        // find if any changes in filters exist, then put them back to ensure
        // filters don't jump around
        Map<Filter, TreeItem> filterMap = new HashMap<Filter, TreeItem>();
        for (int i = 0; i < filtersTree.getItemCount(); i++) {
            TreeItem filterTreeItem = filtersTree.getItem(i);
            Object obj = filterTreeItem.getUserObject();
            if (obj instanceof Filter) {
                filterMap.put((Filter) obj, filterTreeItem);
            }
        }

        filtersTree.removeItems();

        // update filter list
        for (Filter filter : group.getFilters()) {
            TreeItem filterItem = createFilterTreeItem(filter);

            // get state from previous filter list
            TreeItem oldFilterItem = filterMap.get(filter);
            if (oldFilterItem != null) {
                filterItem.setState(oldFilterItem.getState());
            }

            filtersTree.addItem(filterItem);
        }
    }

}

From source file:org.unitime.timetable.gwt.client.page.UniTimeMobileMenu.java

License:Apache License

private void openedNodes(List<String> ret, TreeItem item, String prefix) {
    if (item.getState())
        ret.add((prefix == null ? "" : prefix + " ") + item.getText());
    for (int i = 0; i < item.getChildCount(); i++)
        openedNodes(ret, item.getChild(i), (prefix == null ? "" : prefix + " ") + item.getText());
}