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

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

Introduction

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

Prototype

public int getChildIndex(TreeItem child) 

Source Link

Document

Gets the index of the specified child item.

Usage

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));
    }
}