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

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

Introduction

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

Prototype

public TreeItem() 

Source Link

Document

Creates an empty tree item.

Usage

From source file:com.xpn.xwiki.watch.client.ui.feedtree.FeedTreeWidget.java

License:Open Source License

/**
 * Creates the feed tree from scratch. It is called whenever a radical update of the tree has to be done, i.e.
 * {@link FeedTreeWidget#remakeTreeRequired()} returns true, or {@link FeedTreeWidget#updateFeedTree()} returns
 * false./* w  w w .  ja  v  a  2s .com*/
 */
private void makeFeedTree() {
    // get the state of the tree items on first level -> the groups tree items
    HashMap itemsState = new HashMap();
    for (int i = 0; i < this.groupTree.getItemCount(); i++) {
        TreeItem currentTreeItem = this.groupTree.getItem(i);
        // get user object
        ItemObject userObj = (ItemObject) currentTreeItem.getUserObject();
        itemsState.put(userObj.getKey(), new Boolean(currentTreeItem.getState()));
    }
    // get the selected item to set it back when the tree is refreshed
    TreeItem selectedTreeItem = this.groupTree.getSelectedItem();
    String selectedItemKey = null;
    if (selectedTreeItem != null) {
        ItemObject selectedItemObject = (ItemObject) selectedTreeItem.getUserObject();
        if (selectedItemObject != null) {
            selectedItemKey = selectedItemObject.getKey();
        }
    }
    // clear all trees
    groupTree.clear();

    Map feedsbygroup = watch.getConfig().getFeedsByGroupList();
    Map groups = watch.getConfig().getGroups();

    List keys = new ArrayList(feedsbygroup.keySet());
    Collections.sort(keys, new GroupComparator(groups, "All"));
    Iterator groupit = keys.iterator();
    while (groupit.hasNext()) {
        final String groupname = (String) groupit.next();
        Group currentGroup = (Group) groups.get(groupname);
        if (currentGroup == null) {
            currentGroup = new Group();
            currentGroup.setName(groupname);
        }
        if ((groupname != null) && (!groupname.trim().equals(""))) {
            Map groupFeeds = (Map) feedsbygroup.get(groupname);
            TreeItem groupItemTree = new TreeItem();
            // set the TreeItem's object
            GroupTreeItemObject groupObj = new GroupTreeItemObject(groupname, currentGroup);
            groupItemTree.setUserObject(groupObj);
            // check if selected
            boolean selected = false;
            if (selectedItemKey != null && groupname.equals(selectedItemKey)) {
                selected = true;
                selectedTreeItem = groupItemTree;
            }
            groupItemTree.setWidget(groupObj.getWidget(selected));
            groupTree.addItem(groupItemTree);
            List feedList = new ArrayList(groupFeeds.keySet());
            Collections.sort(feedList, new FeedComparator(groupFeeds, null));
            Iterator feedgroupit = feedList.iterator();
            while (feedgroupit.hasNext()) {
                String feedname = (String) feedgroupit.next();
                Feed feed = (Feed) groupFeeds.get(feedname);
                // set it's userObject to the name of the group + name of the feed since a
                // feed can be part of multiple groups and we need to identify it uniquely.
                String itemTreeKey = groupname + "." + feed.getPageName();
                ItemObject feedObj = new FeedTreeItemObject(itemTreeKey, feed);
                TreeItem feedItem = new TreeItem();
                feedItem.setUserObject(feedObj);
                selected = false;
                if (selectedItemKey != null && itemTreeKey.equals(selectedItemKey)) {
                    selected = true;
                    selectedTreeItem = feedItem;
                }
                feedItem.setWidget(feedObj.getWidget(selected));
                groupItemTree.addItem(feedItem);
            }
            // expand it if necessary
            Boolean state = (Boolean) itemsState.get(groupname);
            if (state != null) {
                groupItemTree.setState(state.booleanValue());
            }
            groupTree.addItem(groupItemTree);
        }
    }
    // set the selected tree item
    this.groupTree.setSelectedItem(selectedTreeItem);
}

From source file:de.spartusch.nasfvi.client.NResponseWidget.java

License:Apache License

/**
 * Creates and returns a visual representation for a subtree.
 * @param data Data of the subtree//from   w  ww  . j  ava2  s  . c  om
 * @param depth Depth of the subtree in the analysis
 * @return Visual representation of <code>data</code>
 */
private TreeItem getSubtree(final JSONArray data, final int depth) {
    TreeItem root = new TreeItem();
    int subtrees = 0;

    for (int i = 0; i < data.size(); i++) {
        JSONArray array = data.get(i).isArray();

        if (array == null) {
            // just a string
            root.addItem(data.get(i).isString().stringValue());
        } else if (array.size() == 1 && array.get(0).isString() != null) {
            // array with a single string as an element
            root.addItem(array.get(0).isString().stringValue());
            subtrees++;
        } else {
            // arrays
            TreeItem item = getSubtree(array, depth + 1);

            int x = (depth < LABELS.length) ? depth : LABELS.length - 2;
            int y = (subtrees < LABELS[x].length) ? subtrees : LABELS[x].length - 1;

            String label = LABELS[x][y];

            if (label == null && item.getChildCount() > 0) {
                TreeItem first = item.getChild(0);
                label = first.getText();
                item.removeItem(first);
            }

            item.setText(label);
            root.addItem(item);
            subtrees++;
        }
    }

    return root;
}

From source file:org.dashbuilder.client.gallery.GalleryTreeViewImpl.java

License:Apache License

private void populateNavigationTree(List<GalleryTreeNode> nodes, HasTreeItems items) {
    if (nodes == null)
        return;//from   ww w .  jav a2 s . c o  m
    for (GalleryTreeNode node : nodes) {
        TreeItem ti = new TreeItem();
        ti.setText(node.getName());
        ti.setUserObject(node);
        ti.getElement().getStyle().setCursor(Style.Cursor.POINTER);
        items.addItem(ti);
        populateNavigationTree(node.getChildren(), ti);
    }
}

From source file:org.dataconservancy.dcs.access.client.presenter.FacetedSearchPresenter.java

License:Apache License

private void displayFacets(final SearchInput searchInput, Map<String, List<String>> facets) {
    facetPanel.add(Util.label("Filter By", "GradientFacet"));
    FlexTable table = Util.createTable();
    Tree tree = new Tree();
    facetPanel.add(table);/*from w  w  w .  j  a va2 s .c  om*/
    Iterator<Map.Entry<String, List<String>>> it = facets.entrySet().iterator();

    int[] countArray = new int[10];
    Map<String, List<String>> tmp = new HashMap<String, List<String>>(facets);
    Iterator<Map.Entry<String, List<String>>> tempIt = tmp.entrySet().iterator();

    while (tempIt.hasNext()) {

        Map.Entry<String, List<String>> pair = (Map.Entry<String, List<String>>) tempIt.next();
        if (pair.getKey() != null) {
            int index = Constants.order.get(pair.getKey());
            countArray[index] = ((List<String>) pair.getValue()).size();
            tempIt.remove();
        }
    }

    int orderIndex = 0;
    int i = 0;

    while (orderIndex < Constants.displayOrder.size()) {
        List<String> tempFacets = facets.get(Constants.displayOrder.get(orderIndex));//pairs.getValue();

        TreeItem rootItem = new TreeItem();//pairs.getKey());
        //             rootItem.setHTML("<b>By " +Constants.displayOrder.get(orderIndex)+"</b>");

        rootItem.setHTML("<b>" + Constants.displayOrder.get(orderIndex) + "</b>");

        String key = "";
        Iterator tempiterator = constants.facets.entrySet().iterator();
        while (tempiterator.hasNext()) {
            Map.Entry temppairs = (Map.Entry) tempiterator.next();
            if (temppairs.getValue().equals(Constants.displayOrder.get(orderIndex)))
                key = (String) temppairs.getKey();
        }
        List<String> childFacets = SeadApp.selectedItems.get(key);

        int childExists = 0;
        //get the right index
        int index;

        if (tempFacets != null) {
            for (int j = 0; j < tempFacets.size(); j++) {

                String countStr = tempFacets.get(j).substring(tempFacets.get(j).lastIndexOf('(') + 1,
                        tempFacets.get(j).lastIndexOf(')'));
                int count = Integer.valueOf(countStr);
                if (count == 0)
                    continue;
                int facetLength = searchInput.getFacetField().length + 1;
                int flagAddFacet = 1;
                for (int k = 0; k < facetLength - 1; k++) {
                    String facetFieldKey = null;
                    Iterator iterator = constants.facets.entrySet().iterator();
                    while (iterator.hasNext()) {
                        Map.Entry pair = (Map.Entry) iterator.next();
                        if (pair.getValue().equals(Constants.displayOrder.get(orderIndex))) {
                            facetFieldKey = (String) pair.getKey();
                            break;
                        }
                    }

                    if (searchInput.getFacetField()[k].equalsIgnoreCase(facetFieldKey)
                            && searchInput.getFacetValue()[k].equalsIgnoreCase(tempFacets.get(j))) {

                        flagAddFacet = 0;
                    }
                }
                final String[] facetFieldNew;
                final String[] facetValueNew;

                if (flagAddFacet == 1) {
                    facetFieldNew = new String[facetLength];
                    facetValueNew = new String[facetLength];

                    for (int k = 0; k < facetLength - 1; k++) {
                        facetFieldNew[k] = searchInput.getFacetField()[k];
                        facetValueNew[k] = searchInput.getFacetValue()[k];
                    }

                    Iterator iterator = constants.facets.entrySet().iterator();
                    while (iterator.hasNext()) {
                        Map.Entry pair = (Map.Entry) iterator.next();
                        if (pair.getValue().equals(Constants.displayOrder.get(orderIndex))) {
                            facetFieldNew[facetLength - 1] = (String) pair.getKey();
                            break;
                        }
                    }
                    facetValueNew[facetLength - 1] = tempFacets.get(j);
                } else {
                    facetFieldNew = new String[facetLength - 1];
                    facetValueNew = new String[facetLength - 1];

                    for (int k = 0; k < facetLength - 1; k++) {
                        facetFieldNew[k] = searchInput.getFacetField()[k];
                        facetValueNew[k] = searchInput.getFacetValue()[k];
                    }
                }

                CheckBox checkBox;

                FlexTable smallTable;
                Label lbl;
                if (Constants.displayOrder.get(orderIndex).equals("metadata standard")
                        && tempFacets.get(j).contains("fgdc")) {
                    String labelValue = tempFacets.get(j);
                    labelValue = labelValue.substring(labelValue.lastIndexOf('('),
                            labelValue.lastIndexOf(')') + 1);
                    //labelValue = "FGDC"+labelValue;type filter text
                    lbl = Util.label("FGDC", "FacetHyperlink");
                    Label countLbl = new Label(" (" + countStr + ")");
                    smallTable = Util.createTable();
                    smallTable.setWidget(0, 0, lbl);
                    smallTable.setWidget(0, 1, countLbl);

                    checkBox = new CheckBox("FGDC" + " (" + countStr + ")");
                    String facetString = tempFacets.get(j).substring(0, tempFacets.get(j).lastIndexOf('('));

                    if (childFacets != null)
                        if (childFacets.contains(facetString))
                            checkBox.setValue(true);
                    checkBox.setName(facetString);
                    rootItem.addItem(checkBox);
                    rootItem.setState(false);

                } else {
                    String facetString = tempFacets.get(j).substring(0, tempFacets.get(j).lastIndexOf('('));
                    if (facetString.length() == 0) {
                        continue;
                    }
                    lbl = Util.label(facetString, "FacetHyperlink");
                    Label countLbl = new Label(" (" + countStr + ")");
                    smallTable = Util.createTable();
                    smallTable.setWidget(0, 0, lbl);
                    smallTable.setWidget(0, 1, countLbl);
                    checkBox = new CheckBox(facetString + " (" + countStr + ")");
                    checkBox.setName(facetString);
                    if (childFacets != null)
                        if (childFacets.contains(facetString))
                            checkBox.setValue(true);
                    rootItem.addItem(checkBox);
                    rootItem.setState(false);

                }
            }

            tree.addItem(rootItem);
        }
        orderIndex++;

        //it.remove();
        //change the display later
    }
    tree.addSelectionHandler(new SelectionHandler<TreeItem>() {
        @Override
        public void onSelection(SelectionEvent event) {
            TreeItem item = (TreeItem) event.getSelectedItem();
            String key = "";
            Iterator iterator = constants.facets.entrySet().iterator();
            while (iterator.hasNext()) {
                Map.Entry pairs = (Map.Entry) iterator.next();
                String value = (String) pairs.getValue();
                String itemText = item.getParentItem().getText();
                if (value.equals(itemText))
                    key = (String) pairs.getKey();
            }

            if (((CheckBox) item.getWidget()).getValue()) {
                //unselected
                List<String> children = SeadApp.selectedItems.get(key);
                children.remove(((CheckBox) item.getWidget()).getName());
                if (children.size() == 0)
                    SeadApp.selectedItems.remove(key);
                else
                    SeadApp.selectedItems.put(key, children);
            } else {
                List<String> children = SeadApp.selectedItems.get(key);
                if (children == null)
                    children = new ArrayList<String>();
                children.add(((CheckBox) item.getWidget()).getName());
                SeadApp.selectedItems.put(key, children);
            }

            int totalFacets = 0;
            iterator = SeadApp.selectedItems.entrySet().iterator();
            while (iterator.hasNext()) {
                Map.Entry pairs = (Map.Entry) iterator.next();
                List<String> facetValues = (List<String>) pairs.getValue();
                totalFacets += facetValues.size();
            }
            String[] data = new String[searchInput.getUserfields().length * 2 + totalFacets * 2 + 2];

            int i = 0;
            int index = -1;
            for (i = 0; i < searchInput.getUserfields().length; i += 2) {
                data[++index] = searchInput.getUserfields()[i].name();
                data[++index] = searchInput.getUserqueries()[i];
            }

            iterator = SeadApp.selectedItems.entrySet().iterator();
            while (iterator.hasNext()) {
                Map.Entry pairs = (Map.Entry) iterator.next();
                List<String> facetValues = (List<String>) pairs.getValue();
                for (String facetValue : facetValues) {
                    data[++index] = (String) pairs.getKey();
                    data[++index] = facetValue;
                }
            }

            data[++index] = String.valueOf(searchInput.getOffset());

            data[++index] = String.valueOf(totalFacets);

            History.newItem(SeadState.SEARCH.toToken(data));

        }
    });

    facetPanel.add(tree);
    //stop tree
}

From source file:org.drools.brms.client.categorynav.CategoryExplorerWidget.java

License:Apache License

/** This will refresh the tree and restore it back to the original state */
private void loadInitialTree() {
    navTreeWidget.addItem("Please wait...");
    service.loadChildCategories("/", new GenericCallback() {

        public void onSuccess(Object result) {
            selectedPath = null;/*  w  w w .  ja v a  2s .  c om*/
            navTreeWidget.removeItems();
            String[] categories = (String[]) result;

            if (categories.length == 0) {
                showEmptyTree();
            } else {
                hideEmptyTree();
            }
            for (int i = 0; i < categories.length; i++) {
                TreeItem it = new TreeItem();
                it.setHTML("<img src=\"images/category_small.gif\"/>" + categories[i]);
                it.setUserObject(categories[i]);
                it.addItem(new PendingItem());
                navTreeWidget.addItem(it);
            }

        }

    });

}

From source file:org.drools.brms.client.categorynav.CategoryExplorerWidget.java

License:Apache License

public void onTreeItemStateChanged(TreeItem item) {

    if (hasBeenLoaded(item)) {
        return;//from  ww  w  . j a v a 2s  . c o  m
    }

    final TreeItem root = item;

    //walk back up to build a tree
    this.selectedPath = getPath(item);

    //item.setUserObject( new Boolean( true ) );

    service.loadChildCategories(selectedPath, new GenericCallback() {

        public void onSuccess(Object result) {
            TreeItem child = root.getChild(0);
            if (child instanceof PendingItem) {
                root.removeItem(child);
            }
            String[] list = (String[]) result;
            for (int i = 0; i < list.length; i++) {
                TreeItem it = new TreeItem();
                it.setHTML("<img src=\"images/category_small.gif\"/>" + list[i]);
                it.setUserObject(list[i]);
                it.addItem(new PendingItem());

                root.addItem(it);
            }
        }

    });

}

From source file:org.drools.brms.client.packages.PackageExplorerWidget.java

License:Apache License

private TreeItem makeItem(String name, String icon, Object command) {
    TreeItem item = new TreeItem();
    item.setHTML("<img src=\"" + icon + "\">" + name + "</a>");
    item.setUserObject(command);//from w  ww . jav a 2 s  .  c  o  m
    return item;
}

From source file:org.drools.guvnor.client.asseteditor.drools.FactTypeBrowser.java

License:Apache License

public FactTypeBrowser(SuggestionCompletionEngine sce, final ClickEvent ev) {
    final Tree tree = new Tree();

    final VerticalPanel panel = new VerticalPanel();

    final HorizontalPanel hpFactsAndHide = new HorizontalPanel();
    final HorizontalPanel hpShow = new HorizontalPanel();

    hpShow.add(new ClickableLabel(Constants.INSTANCE.ShowFactTypes(), new ClickHandler() {
        public void onClick(com.google.gwt.event.dom.client.ClickEvent event) {
            hpShow.setVisible(false);/*from   ww w  . ja v a  2  s  . c o  m*/
            hpFactsAndHide.setVisible(true);
            tree.setVisible(true);
        }
    }));
    panel.add(hpShow);

    hpFactsAndHide.add(new SmallLabel(Constants.INSTANCE.FactTypes()));
    hpFactsAndHide.add(new ClickableLabel(Constants.INSTANCE.hide(), new ClickHandler() {
        public void onClick(com.google.gwt.event.dom.client.ClickEvent event) {
            hpShow.setVisible(true);
            hpFactsAndHide.setVisible(false);
            tree.setVisible(false);
        }
    }));
    panel.add(hpFactsAndHide);

    panel.add(tree);
    if (sce.getFactTypes() != null) {
        for (String type : sce.getFactTypes()) {
            TreeItem it = new TreeItem();
            it.setHTML(AbstractImagePrototype.create(DroolsGuvnorImageResources.INSTANCE.classImage()).getHTML()
                    + "<small>" + type + "</small>");
            it.setUserObject(type + "( )");
            tree.addItem(it);

            String[] fields = (String[]) sce.getModelFields(type);
            if (fields != null) {
                for (String field : fields) {
                    TreeItem fi = new TreeItem();
                    fi.setHTML(
                            AbstractImagePrototype.create(DroolsGuvnorImageResources.INSTANCE.field()).getHTML()
                                    + "<small>" + field + "</small>");
                    fi.setUserObject(field);
                    it.addItem(fi);
                }
            }
        }
    }

    tree.setStyleName("category-explorer-Tree"); //NON-NLS
    tree.addSelectionHandler(new SelectionHandler<TreeItem>() {

        public void onSelection(SelectionEvent<TreeItem> event) {
            Object o = event.getSelectedItem().getUserObject();
            if (o instanceof String) {
                ev.selected((String) o);
            }
        }
    });

    tree.setVisible(false);
    hpFactsAndHide.setVisible(false);
    hpShow.setVisible(true);

    initWidget(panel);
}

From source file:org.drools.guvnor.client.categorynav.CategoryExplorerWidget.java

License:Apache License

/** This will refresh the tree and restore it back to the original state */
private void loadInitialTree() {
    navTreeWidget.addItem("Please wait...");
    DeferredCommand.addCommand(new Command() {
        public void execute() {
            service.loadChildCategories("/", new GenericCallback() {

                public void onSuccess(Object result) {
                    selectedPath = null;
                    navTreeWidget.removeItems();

                    TreeItem root = new TreeItem();
                    root.setHTML("<img src=\"images/desc.gif\"/>");
                    navTreeWidget.addItem(root);

                    String[] categories = (String[]) result;

                    if (categories.length == 0) {
                        showEmptyTree();
                    } else {
                        hideEmptyTree();
                    }/*w w w. j  a  v  a  2s.  c  o  m*/
                    for (int i = 0; i < categories.length; i++) {
                        TreeItem it = new TreeItem();
                        it.setHTML("<img src=\"images/category_small.gif\"/>" + categories[i]);
                        it.setUserObject(categories[i]);
                        it.addItem(new PendingItem());
                        root.addItem(it);
                    }

                    root.setState(true);
                }

            });
        }
    });

}

From source file:org.drools.guvnor.client.categorynav.CategoryExplorerWidget.java

License:Apache License

public void onTreeItemStateChanged(TreeItem item) {

    if (hasBeenLoaded(item)) {
        return;/*  ww  w  .  j av  a2s  .c  o  m*/
    }

    final TreeItem root = item;

    //walk back up to build a tree
    this.selectedPath = getPath(item);

    //item.setUserObject( new Boolean( true ) );

    service.loadChildCategories(selectedPath, new GenericCallback() {

        public void onSuccess(Object result) {
            TreeItem child = root.getChild(0);
            if (child instanceof PendingItem) {
                // root.removeItem( child );
                child.setVisible(false);
            }
            String[] list = (String[]) result;
            for (int i = 0; i < list.length; i++) {
                TreeItem it = new TreeItem();
                it.setHTML("<img src=\"images/category_small.gif\"/>" + list[i]);
                it.setUserObject(list[i]);
                it.addItem(new PendingItem());

                root.addItem(it);
            }
        }

    });

}