List of usage examples for com.google.gwt.user.client.ui TreeItem remove
public void remove()
From source file:org.iucn.sis.client.ui.TreeTable.java
License:Apache License
/** * Constructs an empty tree.//from w ww . j av a 2 s . c o m */ 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"); }
From source file:org.openxdata.designer.client.view.FormsTreeView.java
/** * Removes a given tree item from the tree widget. * /*www . ja v a 2s . c om*/ * @param item the tree item to delete. */ private void deleteItem(TreeItem item) { TreeItem parent = item.getParentItem(); int index; if (parent != null) { index = parent.getChildIndex(item); //If last item is the one selected, the select the previous, else the next. if (index == parent.getChildCount() - 1) index -= 1; removeFormDefItem(item, parent); //Remove the selected item. item.remove(); //If no more kids, then select the parent. if (parent.getChildCount() == 0) tree.setSelectedItem(parent); else tree.setSelectedItem(parent.getChild(index)); } else { //Must be the form root index = getRootItemIndex(item); item.remove(); int count = tree.getItemCount(); //If we have any items left, select the one which was after //the one we have just removed. if (count > 0) { //If we have deleted the last item, select the item which was before it. if (index == count) index--; tree.setSelectedItem(tree.getItem(index)); } } if (tree.getSelectedItem() == null) { Context.setFormDef(null); formDef = null; fireFormItemSelected(null); if (tree.getItemCount() == 0) { nextFormId = 0; nextOptionId = 0; nextPageId = 0; nextQuestionId = 0; } } }
From source file:org.openxdata.designer.client.view.FormsTreeView.java
/** * @see org.openxdata.designer.client.controller.IFormActionListener#moveItemUp() *///w ww .ja v a 2s. c o m public void moveItemUp() { if (inReadOnlyMode()) return; TreeItem item = tree.getSelectedItem(); //Check if there is any selection. if (item == null) return; TreeItem parent = item.getParentItem(); //We don't move root node (which has no parent, that is the form itself, since we design one form at a time) if (parent == null) return; //One item can't move against itself. int count = parent.getChildCount(); if (count == 1) return; int index = parent.getChildIndex(item); if (index == 0) return; //Can't move any further upwards. //move the item in the form object model. moveFormItemUp(item, parent); TreeItem currentItem; // = parent.getChild(index - 1); List<TreeItem> list = new ArrayList<TreeItem>(); item.remove(); while (parent.getChildCount() >= index) { currentItem = parent.getChild(index - 1); list.add(currentItem); currentItem.remove(); } parent.addItem(item); for (int i = 0; i < list.size(); i++) parent.addItem((TreeItem) list.get(i)); tree.setSelectedItem(item); }
From source file:org.openxdata.designer.client.view.FormsTreeView.java
/** * @see org.openxdata.designer.client.controller.IFormActionListener#moveItemDown() *//*from www . ja v a 2 s . com*/ public void moveItemDown() { if (inReadOnlyMode()) return; TreeItem item = tree.getSelectedItem(); //Check if there is any selection. if (item == null) return; TreeItem parent = item.getParentItem(); //We don't move root node (which has no parent, that is the form itself, since we design one form at a time) if (parent == null) return; //One item can't move against itself. int count = parent.getChildCount(); if (count == 1) return; int index = parent.getChildIndex(item); if (index == count - 1) return; //Can't move any further downwards. //move the item in the form object model. moveFormItemDown(item, parent); TreeItem currentItem; // = parent.getChild(index - 1); List<TreeItem> list = new ArrayList<TreeItem>(); item.remove(); while (parent.getChildCount() > 0 && parent.getChildCount() > index) { currentItem = parent.getChild(index); list.add(currentItem); currentItem.remove(); } for (int i = 0; i < list.size(); i++) { if (i == 1) parent.addItem(item); //Add after the first item. parent.addItem((TreeItem) list.get(i)); } if (list.size() == 1) parent.addItem(item); tree.setSelectedItem(item); }
From source file:org.rstudio.studio.client.workbench.views.source.DocumentOutlineWidget.java
License:Open Source License
private void rebuildScopeTree(JsArray<Scope> scopeTree, Scope currentScope) { scopeTree_ = scopeTree;//w w w.j a v a2 s . c o m currentScope_ = currentScope; currentVisibleScope_ = getCurrentVisibleScope(currentScope_); if (scopeTree_.length() == 0) { setActiveWidget(emptyPlaceholder_); return; } setActiveWidget(tree_); int h1Count = 0; for (int i = 0; i < scopeTree_.length(); i++) { Scope node = scopeTree_.get(i); if (node.isMarkdownHeader()) { if (node.getDepth() == 1) h1Count++; } } int initialDepth = h1Count == 1 ? -1 : 0; Counter counter = new Counter(-1); for (int i = 0; i < scopeTree_.length(); i++) buildScopeTreeImpl(scopeTree_.get(i), initialDepth, counter); // Clean up leftovers in the tree. int oldTreeSize = tree_.getItemCount(); int newTreeSize = counter.increment(); for (int i = oldTreeSize - 1; i >= newTreeSize; i--) { TreeItem item = tree_.getItem(i); if (item != null) item.remove(); } }