Example usage for com.google.gwt.dom.client TableCellElement setInnerHTML

List of usage examples for com.google.gwt.dom.client TableCellElement setInnerHTML

Introduction

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

Prototype

@Override
    public void setInnerHTML(String html) 

Source Link

Usage

From source file:com.google.gwt.sample.contacts.client.view.ContactsViewImpl.java

public void setRowData(List<T> rowData) {
    this.rowData = rowData;

    TableElement table = Document.get().createTableElement();
    TableSectionElement tbody;//from w w w  .  j  ava  2  s.co m
    table.appendChild(tbody = Document.get().createTBodyElement());

    for (int i = 0; i < rowData.size(); ++i) {
        TableRowElement row = tbody.insertRow(-1);
        T t = rowData.get(i);

        for (int j = 0; j < columnDefinitions.size(); ++j) {
            TableCellElement cell = row.insertCell(-1);
            StringBuilder sb = new StringBuilder();
            columnDefinitions.get(j).render(t, sb);
            cell.setInnerHTML(sb.toString());

            // TODO: Really total hack! There's gotta be a better way...
            Element child = cell.getFirstChildElement();
            if (child != null) {
                Event.sinkEvents(child, Event.ONFOCUS | Event.ONBLUR);
            }
        }
    }

    contactsTable.setHTML(table.getInnerHTML());
}

From source file:com.jwh.gwt.fasttable.sample.client.FastTableSample.java

License:Open Source License

private CellListener<SampleModel> buildCellListener() {
    return new CellListener<SampleModel>() {

        /**//  w  ww .ja  v a  2 s  .  co  m
         * @param event
         */
        @Override
        public void handlerCellEvent(final CellEvent<SampleModel> event) {
            final Document document = tablePanel.getElement().getOwnerDocument();
            switch (event.getOnEvent()) {
            case onClick:
                SelectionListener<SampleModel> listener = new SelectionListener<SampleModel>() {
                    @Override
                    public void select(SampleModel object) {
                        try {
                            showDetailPanel(event, document);
                        } catch (NotFound e) {
                        }
                    }

                    @Override
                    public void unselect(SampleModel object) {
                        try {
                            builder.findRowElement(object).getNextSibling().removeFromParent();
                        } catch (NotFound e) {
                        }
                    }
                };
                try {
                    final Element rowElement = event.getRowElement(document);
                    final Element columnElement = rowElement.getFirstChildElement();
                    // Test multi vs single select by changing this flag
                    boolean isMultiSelect = true;
                    isMultiSelect = false;
                    if (isMultiSelect) {
                        builder.multiSelect(columnElement, event.domainObject, listener);
                    } else {
                        builder.singleSelect(columnElement, event.domainObject, listener);
                    }
                } catch (NotFound e) {
                } catch (AbortOperation e) {
                }
                break;
            case onMouseOver:
                try {
                    event.getRowElement(document).addClassName(HIGHLIGHT);
                } catch (final NotFound e1) {
                }
                break;
            case onMouseOut:
                try {
                    event.getRowElement(document).removeClassName(HIGHLIGHT);
                } catch (final NotFound e1) {
                }
                break;
            default:
                break;
            }

        }

        /**
         * Show a panel under the selected item
         * 
         * @param event
         * @param document
         * @throws NotFound
         */
        private void showDetailPanel(CellEvent<SampleModel> event, final Document document) throws NotFound {
            final SampleModel d = event.getDomainObject();
            final TableRowElement newRow = event.insertRowAfter(document);
            final TableCellElement td = document.createTDElement();
            td.addClassName(DROP_PANEL);
            // Note: "colSpan" must have uppercase 'S' for IE
            td.setAttribute("colSpan", "6");
            newRow.appendChild(td);
            try {
                LabelValueUtil util = new LabelValueUtil();
                util.table.setStyle(Style.BORDER_NONE);
                util.labelValue("Name", d.name);
                util.prepareAttribute("rowSpan", "2");
                final String buttonId = util.button("OK");
                util.newRow();
                util.labelValue("Street", d.street);
                util.newRow();
                util.labelValue("City, State ", d.city + ", " + d.state);
                util.newRow();
                util.labelValue("Zip", d.zip);
                util.newRow();
                final String html = util.toHtml();
                td.setInnerHTML(html);
                final Element okButton = document.getElementById(buttonId);
                DOM.setEventListener((com.google.gwt.user.client.Element) okButton, new EventListener() {
                    @Override
                    public void onBrowserEvent(Event event) {
                        switch (event.getTypeInt()) {
                        case Event.ONMOUSEDOWN:
                            Window.alert(
                                    "This demonstrates how to attach events to content created with setInnerHtml()");
                            break;
                        case Event.ONMOUSEOVER:
                            okButton.addClassName(Style.BUTTON_OVER);
                            break;
                        case Event.ONMOUSEOUT:
                            okButton.removeClassName(Style.BUTTON_OVER);
                            break;
                        default:
                            break;
                        }
                    }
                });
                DOM.sinkEvents((com.google.gwt.user.client.Element) okButton,
                        Event.ONMOUSEOUT | Event.ONMOUSEDOWN | Event.ONMOUSEOVER);
            } catch (Exception e) {
            }
        }
    };
}

From source file:org.cruxframework.crux.widgets.client.grid.GridFlexTable.java

License:Apache License

public void joinCells(int row) {
    TableRowElement tr = this.getRowElement(row).cast();
    NodeList<TableCellElement> cells = tr.getCells();
    int numTds = cells.getLength();

    if (numTds > 1) {
        for (int i = 1; i < numTds; i++) {
            // We always remove the second cell. 
            // This is because we want to keep the first one 
            //    and the cell indexes are in movement due 
            //    to the removing process.
            tr.removeChild(cells.getItem(1));
        }//ww  w .  j av  a2s . c o m

        TableCellElement td = this.getCellElement(row, 0).cast();
        td.setAttribute("colSpan", "" + numTds);
        td.setInnerHTML(".");
    }
}

From source file:org.rstudio.studio.client.common.sourcemarkers.SourceMarkerItemCodec.java

License:Open Source License

@Override
public TableRowElement getRowForItem(SourceMarker entry) {
    TableRowElement tr = Document.get().createTRElement();
    tr.addClassName(ThemeResources.INSTANCE.themeStyles().fixedWidthFont());
    FontSizer.applyNormalFontSize(tr);// w ww  .j av a 2  s .  c  o m

    tr.setAttribute(DATA_PATH, entry.getPath());
    tr.setAttribute(DATA_LINE, entry.getLine() + "");
    tr.setAttribute(DATA_COLUMN, entry.getColumn() + "");
    tr.setAttribute(LOG_PATH, entry.getLogPath());
    tr.setAttribute(LOG_LINE, entry.getLogLine() + "");

    TableCellElement tdIcon = Document.get().createTDElement();
    tdIcon.setClassName(resources_.styles().iconCell());
    DivElement iconDiv = Document.get().createDivElement();
    iconDiv.setClassName(
            entry.getType() == SourceMarker.ERROR ? resources_.styles().errorIcon()
                    : entry.getType() == SourceMarker.WARNING ? resources_.styles().warningIcon()
                            : entry.getType() == SourceMarker.BOX ? resources_.styles().boxIcon()
                                    : entry.getType() == SourceMarker.INFO ? resources_.styles().infoIcon()
                                            : entry.getType() == SourceMarker.STYLE
                                                    ? resources_.styles().styleIcon()
                                                    : "");
    tdIcon.appendChild(iconDiv);
    if (entry.getType() == SourceMarker.USAGE)
        tdIcon.addClassName(resources_.styles().noIcon());
    tr.appendChild(tdIcon);

    TableCellElement tdLine = Document.get().createTDElement();
    tdLine.setClassName(resources_.styles().lineCell());
    if (entry.getLine() >= 0)
        tdLine.setInnerText("Line " + entry.getLine());
    tr.appendChild(tdLine);

    TableCellElement tdMsg = Document.get().createTDElement();
    tdMsg.setClassName(resources_.styles().messageCell());
    tdMsg.setInnerHTML(entry.getMessage());
    tr.appendChild(tdMsg);

    TableCellElement tdDiscButton = maybeCreateDisclosureButton(entry);
    if (tdDiscButton != null)
        tr.appendChild(tdDiscButton);

    return tr;

}

From source file:org.rstudio.studio.client.workbench.views.output.find.FindOutputCodec.java

License:Open Source License

@Override
public TableRowElement getRowForItem(FindResult entry) {
    if (entry == null) {
        // Overflow message
        TableRowElement tr = Document.get().createTRElement();
        TableCellElement td = Document.get().createTDElement();
        td.setClassName(styles_.overflowWarning());
        td.setColSpan(2);/*  www  .  j av a 2  s.  com*/
        td.setInnerText("More than 1000 matching lines were found. " + "Only the first 1000 lines are shown.");
        tr.appendChild(td);
        return tr;
    }

    TableRowElement tr = Document.get().createTRElement();
    tr.setAttribute(DATA_FILE, entry.getFile());
    tr.setAttribute(DATA_LINE, entry.getLine() + "");

    TableCellElement td1 = Document.get().createTDElement();
    td1.setClassName(styles_.line());
    td1.setInnerText(entry.getLine() + ":\u00A0");
    tr.appendChild(td1);

    TableCellElement td2 = Document.get().createTDElement();
    td2.setClassName(styles_.lineValue());
    td2.setInnerHTML(entry.getLineHTML().asString());
    tr.appendChild(td2);

    return tr;
}

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

License:Open Source License

/**
 * Insert a row in the currently edited table.
 * /*from w w w.j  a  v  a  2 s  .com*/
 * @param doc the Document to get the selection from.
 * @param insertBefore indicates the creation position relatively to the currently edited row.
 * @return the newly created TableRowElement.
 */
public TableRowElement insertRow(Document doc, boolean insertBefore) {
    TableRowElement row = getRow(getCaretNode(doc));
    TableElement table = getTable(row);
    int index = row.getRowIndex();

    if (!insertBefore) {
        index++;
    }

    TableRowElement newRow = table.insertRow(index);
    // Populate the row
    int cellCount = row.getCells().getLength();
    for (int i = 0; i < cellCount; i++) {
        TableCellElement cell = newRow.insertCell(i);
        cell.setInnerHTML(CELL_DEFAULTHTML);
    }

    return newRow;
}

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.
 * //from   w ww  . j  av  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);
    }
}