List of usage examples for com.google.gwt.dom.client TableCellElement setInnerHTML
@Override
public void setInnerHTML(String html)
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); } }