Example usage for com.google.gwt.dom.client NodeList getItem

List of usage examples for com.google.gwt.dom.client NodeList getItem

Introduction

In this page you can find the example usage for com.google.gwt.dom.client NodeList getItem.

Prototype

public T getItem(int index) 

Source Link

Usage

From source file:org.xwiki.gwt.wysiwyg.client.plugin.sync.SyncPlugin.java

License:Open Source License

private void removeCursor(Document doc) {
    try {/*from   w w w  .  java2 s .  co  m*/
        Node cursorNode = null;
        NodeList list = doc.getElementsByTagName("span");
        for (int i = 0; i < list.getLength(); i++) {
            Element element = (Element) list.getItem(i);
            if (element.getId().equals("cursor-" + id)) {
                cursorNode = element;
            }
        }
        if (cursorNode != null) {
            debugMessage("found cursor element");
            Node firstNode = null;
            Node lastNode = null;
            Node pNode = cursorNode;
            NodeList childs = cursorNode.getChildNodes();
            // readd all childs of the cursor to the left of the cursor node
            int nb = childs.getLength();
            for (int i = nb - 1; i >= 0; i--) {
                Node node = childs.getItem(i);
                if (i == 0) {
                    firstNode = node;
                }
                if (i == nb - 1) {
                    lastNode = node;
                }
                // we want to insert the node in it's parent before the cursor Node
                cursorNode.removeChild(node);
                cursorNode.getParentNode().insertBefore(node, pNode);
                pNode = node;
            }
            // remove the cursor node itself
            Node previousNode = cursorNode.getPreviousSibling();
            debugMessage("removing cursor node");
            cursorNode.getParentNode().removeChild(cursorNode);

            debugMessage("creating new range");
            Range range = RangeFactory.INSTANCE.createRange(doc);

            if (firstNode != null) {
                debugMessage("set range with first node and last node");
                range.setStartBefore(firstNode);
                range.setEndAfter(lastNode);
            } else if (previousNode != null) {
                debugMessage("set range with previous node");
                Node nextNode = previousNode.getNextSibling();
                if (nextNode != null) {
                    range.setStart(nextNode, 0);
                } else {
                    range.setStartAfter(previousNode);
                    range.setEndAfter(previousNode);
                    range.collapse(true);
                }
            }

            doc.getSelection().removeAllRanges();
            doc.getSelection().addRange(range);
            getTextArea().setFocus(true);
        } else {
            debugMessage("could not find cursor element");
        }
    } catch (Exception e) {
        debugMessage("Uncaught exception in insertCursor: " + e.getMessage());
    }

}

From source file:org.xwiki.gwt.wysiwyg.client.plugin.table.feature.DeleteCol.java

License:Open Source License

/**
 * {@inheritDoc}//from w ww . j ava  2  s  .c o  m
 * 
 * @see AbstractTableFeature#execute(String)
 */
public boolean execute(String parameter) {
    TableCellElement caretCell = TableUtils.getInstance()
            .getCell(TableUtils.getInstance().getCaretNode(rta.getDocument()));
    int cellIndex = caretCell.getCellIndex();
    TableElement table = TableUtils.getInstance().getTable(caretCell);
    NodeList<TableRowElement> rows = table.getRows();

    // Move caret
    TableCellElement newCaretCell = TableUtils.getInstance().getPreviousCellInRow(caretCell);
    if (newCaretCell == null) {
        newCaretCell = TableUtils.getInstance().getNextCellInRow(caretCell);
    }
    if (newCaretCell != null) {
        TableUtils.getInstance().putCaretInNode(rta, newCaretCell);
    }

    // Loop over table rows to delete a cell in each of them
    for (int i = 0; i < rows.getLength(); i++) {
        TableRowElement currentRow = rows.getItem(i);
        currentRow.deleteCell(cellIndex);
    }

    return true;
}

From source file:org.xwiki.gwt.wysiwyg.client.plugin.table.util.TableUtils.java

License:Open Source License

/**
 * Get next cell in cell's row./*from   w w w.j  ava 2  s  .co  m*/
 * 
 * @param cell currently edited cell.
 * @return the next TableCellElement if any, null otherwise.
 */
public TableCellElement getNextCellInRow(TableCellElement cell) {
    TableRowElement row = getRow(cell);
    NodeList<TableCellElement> cells = row.getCells();
    if (cells.getLength() > cell.getCellIndex() + 1) {
        return cells.getItem(cell.getCellIndex() + 1);
    } else {
        return null;
    }
}

From source file:org.xwiki.gwt.wysiwyg.client.plugin.table.util.TableUtils.java

License:Open Source License

/**
 * Get previous cell in cell's row./*from   w w w.j av  a2 s  .c o m*/
 * 
 * @param cell currently edited cell.
 * @return the previous TableCellElement if any, null otherwise.
 */
public TableCellElement getPreviousCellInRow(TableCellElement cell) {
    TableRowElement row = getRow(cell);
    NodeList<TableCellElement> cells = row.getCells();
    if (cell.getCellIndex() > 0) {
        return cells.getItem(cell.getCellIndex() - 1);
    } else {
        return null;
    }
}

From source file:org.xwiki.gwt.wysiwyg.client.plugin.table.util.TableUtils.java

License:Open Source License

/**
 * Get next cell in cell's column./* w w w .ja  va 2 s .com*/
 * 
 * @param cell currently edited cell.
 * @return the next TableCellElement if any, null otherwise.
 */
public TableCellElement getNextCellInColumn(TableCellElement cell) {
    TableRowElement row = getRow(cell);
    TableElement table = getTable(row);
    NodeList<TableRowElement> rows = table.getRows();
    if (rows.getLength() > row.getRowIndex() + 1) {
        return rows.getItem(row.getRowIndex() + 1).getCells().getItem(cell.getCellIndex());
    } else {
        return null;
    }
}

From source file:org.xwiki.gwt.wysiwyg.client.plugin.table.util.TableUtils.java

License:Open Source License

/**
 * Get previous cell in cell's column.//from w w w.  jav  a 2  s . co  m
 * 
 * @param cell currently edited cell.
 * @return the previous TableCellElement if any, null otherwise.
 */
public TableCellElement getPreviousCellInColumn(TableCellElement cell) {
    TableRowElement row = getRow(cell);
    TableElement table = getTable(row);
    NodeList<TableRowElement> rows = table.getRows();
    if (row.getRowIndex() > 0) {
        return rows.getItem(row.getRowIndex() - 1).getCells().getItem(cell.getCellIndex());
    } else {
        return null;
    }
}

From source file:org.xwiki.gwt.wysiwyg.client.plugin.table.util.TableUtils.java

License:Open Source License

/**
 * Insert a column in the currently edited table.
 * //  w w  w .j  a v  a 2s .  c  o m
 * @param doc the Document to get the selection from.
 * @param insertBefore indicates the creation position relatively to the currently edited column.
 */
public void insertCol(Document doc, boolean insertBefore) {
    TableCellElement cell = getCell(getCaretNode(doc));
    TableElement table = getTable(cell);
    NodeList<TableRowElement> rows = table.getRows();
    int index = cell.getCellIndex();

    // Loop over table rows to create a new cell in each of them
    for (int i = 0; i < rows.getLength(); i++) {
        TableRowElement currentRow = rows.getItem(i);
        TableCellElement newCell;

        if (isHeaderRow(currentRow)) {
            newCell = doc.createTHElement();
            if (insertBefore) {
                currentRow.insertBefore(newCell, currentRow.getCells().getItem(index));
            } else {
                DOMUtils.getInstance().insertAfter(newCell, currentRow.getCells().getItem(index));
            }
        } else {
            newCell = currentRow.insertCell(insertBefore ? index : index + 1);
        }
        newCell.setInnerHTML(CELL_DEFAULTHTML);
    }
}

From source file:ru.codeinside.gses.vaadin.client.VJsonFormIntegration.java

License:Mozilla Public License

private Frame createFrameWrap() {
    if (browserElement == null) {
        return null;
    }/*from  w  w w  .  java2  s.  co  m*/
    Frame frameWrap = Frame.wrap(browserElement);
    frameWrap.addLoadHandler(new LoadHandler() {
        @Override
        public void onLoad(LoadEvent event) {
            Scheduler.get().scheduleFixedDelay(new Scheduler.RepeatingCommand() {
                @Override
                public boolean execute() {
                    IFrameElement formFrame = IFrameElement.as(browserElement);
                    Document formDoc = formFrame.getContentDocument();
                    if (formDoc == null) {
                        return true;
                    }
                    NodeList<com.google.gwt.dom.client.Element> elements;
                    elements = formDoc.getElementsByTagName("input");
                    for (int i = 0; i < elements.getLength(); i++) {
                        InputElement input = InputElement.as(elements.getItem(i));
                        if ("button".equalsIgnoreCase(input.getType())) {
                            input.setDisabled(true);
                        } else {
                            input.setReadOnly(true);
                        }
                    }
                    elements = formDoc.getElementsByTagName("button");
                    for (int i = 0; i < elements.getLength(); i++) {
                        ButtonElement button = ButtonElement.as(elements.getItem(i));
                        button.setDisabled(true);
                    }
                    elements = formDoc.getElementsByTagName("select");
                    for (int i = 0; i < elements.getLength(); i++) {
                        SelectElement select = SelectElement.as(elements.getItem(i));
                        select.setDisabled(true);
                    }
                    elements = formDoc.getElementsByTagName("textarea");
                    for (int i = 0; i < elements.getLength(); i++) {
                        TextAreaElement textArea = TextAreaElement.as(elements.getItem(i));
                        textArea.setReadOnly(true);
                    }
                    return false;
                }
            }, 99);
        }
    });
    return frameWrap;
}

From source file:sf.wicklet.gwt.client.util.GwtDomUtil.java

License:Apache License

public static boolean hasElementWithAttributeValue(final com.google.gwt.dom.client.Document d, final String tag,
        final String name, final String value) {
    final com.google.gwt.dom.client.NodeList<com.google.gwt.dom.client.Element> a = d.getElementsByTagName(tag);
    for (int i = 0, len = a.getLength(); i < len; ++i) {
        final com.google.gwt.dom.client.Element elm = a.getItem(i);
        if (GwtTextUtil.equals(value, elm.getAttribute(name))) {
            return true;
        }/*www.  j  av  a2 s  . c  o m*/
    }
    return false;
}

From source file:sk.turn.gwtmvp.client.adapters.TableRowAdapter.java

License:Apache License

/**
 * Loops through columns and calls {@code setTableCell} for each.
 *///  www  .  j a v a2  s . co  m
@Override
public void setViewData(TableRowView view, T item) {
    NodeList<TableCellElement> cells = view.getRootElement().getCells();
    for (int i = 0; i < columns; i++) {
        setTableCell(i, cells.getItem(i), item);
    }
}