List of usage examples for com.google.gwt.dom.client TableCellElement setAttribute
@Override
public void setAttribute(String name, String value)
From source file:com.extjs.gxt.ui.client.widget.layout.TableLayout.java
License:sencha.com license
protected Element getNextCell(Component widget) { if (cells == null) { cells = new ArrayList<List<Boolean>>(); }/* www . j a va2s . c o m*/ TableData data = (TableData) getLayoutData(widget); if (data == null) { data = new TableData(); setLayoutData(widget, data); } TableCellElement td = DOM.createTD().cast(); td.setClassName("x-table-layout-cell"); td.setAttribute("role", "presentation"); int[] cell = getNextNonSpan(currentColumn, currentRow); int curCol = currentColumn = cell[0]; int curRow = currentRow = cell[1]; for (int rowIndex = curRow; rowIndex < curRow + (data.getRowspan() != -1 ? data.getRowspan() : 1); rowIndex++) { setupList(rowIndex); for (int colIndex = curCol; colIndex < curCol + (data.getColspan() != -1 ? data.getColspan() : 1); colIndex++) { cells.get(rowIndex).set(colIndex, true); } } if (data.getColspan() != 1) { td.setColSpan(data.getColspan()); } if (data.getRowspan() != 1) { td.setRowSpan(data.getRowspan()); } if (data.getPadding() > 0) { td.getStyle().setPropertyPx("padding", data.getPadding()); } else if (cellPadding > 0) { td.getStyle().setPropertyPx("padding", cellPadding); } if (data.getStyleName() != null) { fly(td).addStyleName(data.getStyleName()); } if (data.horizontalAlign != null) { td.setAlign(data.horizontalAlign.name()); } else if (cellHorizontalAlign != null) { td.setAlign(cellHorizontalAlign.name()); } if (data.verticalAlign != null) { td.setVAlign(data.verticalAlign.name()); } else if (cellVerticalAlign != null) { td.setVAlign(cellVerticalAlign.name()); } if (data.getHeight() != null) { td.setAttribute("height", data.getHeight()); } if (data.getWidth() != null) { td.setAttribute("width", data.getWidth()); } if (data.getStyle() != null) { fly(td).applyStyles(data.getStyle()); } getRow(curRow).dom.appendChild(td); return td.cast(); }
From source file:com.jwh.gwt.fasttable.sample.client.FastTableSample.java
License:Open Source License
private CellListener<SampleModel> buildCellListener() { return new CellListener<SampleModel>() { /**/*from w w w . j av a 2 s. c om*/ * @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)); }/*from w ww. ja v a2 s . c om*/ TableCellElement td = this.getCellElement(row, 0).cast(); td.setAttribute("colSpan", "" + numTds); td.setInnerHTML("."); } }