List of usage examples for com.google.gwt.user.client.ui TreeItem TreeItem
public TreeItem()
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); } } }); }