List of usage examples for com.google.gwt.user.client.ui TreeItem getChildIndex
public int getChildIndex(TreeItem child)
From source file:org.iucn.sis.client.ui.TreeTable.java
License:Apache License
protected TreeItem getNextSibling(TreeItem item) { TreeItem p = item.getParentItem(); if (p == null) { int idx = root.getChildIndex(item) + 1; if (idx < root.getChildCount()) { // Gets the next sibling return root.getChild(idx); }/* w ww . j a v a2 s. c om*/ } else { int idx = p.getChildIndex(item) + 1; if (idx < p.getChildCount()) { // Gets the next sibling return p.getChild(idx); } } return null; }
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. *///from ww w . j a v a2 s .c om 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.iucn.sis.client.ui.TreeTable.java
License:Apache License
/** * Moves the selected item up one.//from w ww . j a v a 2 s . c o m */ private void moveSelectionUp(TreeItem sel) { TreeItem parent = sel.getParentItem(); if (parent == null) { parent = root; } int idx = parent.getChildIndex(sel); if (idx > 0) { TreeItem sibling = parent.getChild(idx - 1); onSelection(findDeepestOpenChild(sibling), true); } else { onSelection(parent, true); } }
From source file:org.ned.server.nedadminconsole.client.widgets.NedLibraryTree.java
License:Open Source License
@Override public void objectMoved(NedDataModel source, boolean moveUp) { TreeItem moveObj = source.getCurrentTreeItem(); TreeItem parentItem = moveObj.getParentItem(); int moveObjIndex = parentItem.getChildIndex(moveObj); parentItem.removeItem(moveObj);//from ww w. ja v a 2 s.c om int newIndex; if (moveUp) { newIndex = moveObjIndex - 1; } else { newIndex = moveObjIndex + 1; } parentItem.insertItem(newIndex, moveObj); moveObj.getTree().setSelectedItem(moveObj, true); }
From source file:org.openxdata.designer.client.view.FormsTreeView.java
/** * Removes a given tree item from the tree widget. * //from w w w. jav a 2 s . 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() *///from w w w. j av a 2 s. c om 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 w w w. jav a 2s.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.openxdata.designer.client.view.FormsTreeView.java
/** * @see org.openxdata.designer.client.controller.IFormActionListener#moveUp() *//*from w w w . jav a2 s . c o m*/ public void moveUp() { TreeItem item = tree.getSelectedItem(); if (item == null) return; int index; TreeItem parent = item.getParentItem(); if (parent == null) { index = getRootItemIndex(parent); if (index == 0) return; tree.setSelectedItem(tree.getItem(index - 1)); } else { index = parent.getChildIndex(item); if (index == 0) return; tree.setSelectedItem(parent.getChild(index - 1)); } }
From source file:org.openxdata.designer.client.view.FormsTreeView.java
/** * @see org.openxdata.designer.client.controller.IFormActionListener#moveDown() *//*from w w w .ja v a 2s . c o m*/ public void moveDown() { TreeItem item = tree.getSelectedItem(); if (item == null) return; int index; TreeItem parent = item.getParentItem(); if (parent == null) { index = getRootItemIndex(parent); if (index == tree.getItemCount() - 1) return; tree.setSelectedItem(tree.getItem(index + 1)); } else { index = parent.getChildIndex(item); if (index == parent.getChildCount() - 1) return; tree.setSelectedItem(parent.getChild(index + 1)); } }