List of usage examples for com.google.gwt.dom.client NodeList getItem
public T getItem(int index)
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); } }