/** * Inserts a new row into the table. * * @param beforeRow the index before which the new row will be inserted * @return the index of the newly-created row * @throws IndexOutOfBoundsException */ protected int insertRow(int beforeRow) { // Specifically allow the row count as an insert position. if (beforeRow != getRowCount()) { checkRowBounds(beforeRow); } Element tr = DOM.createTR(); DOM.insertChild(bodyElem, tr, beforeRow); return beforeRow; }
@Override public void add(Widget w) { Element tr = DOM.createTR(); Element td = createAlignedTd(); DOM.appendChild(tr, td); DOM.appendChild(getBody(), tr); add(w, td); }
/** * Physically add the td element of a {@link MenuItem} or * {@link MenuItemSeparator} to this {@link MenuBar}. * * @param beforeIndex the index where the separator should be inserted * @param tdElem the td element to be added */ private void addItemElement(int beforeIndex, Element tdElem) { if (vertical) { Element tr = DOM.createTR(); DOM.insertChild(body, tr, beforeIndex); DOM.appendChild(tr, tdElem); } else { Element tr = DOM.getChild(body, 0); DOM.insertChild(tr, tdElem, beforeIndex); } }
/** * Creates an empty horizontal panel. */ public HorizontalPanel() { tableRow = DOM.createTR(); DOM.appendChild(getBody(), tableRow); getTable().setPropertyString("cellSpacing", "0"); getTable().setPropertyString("cellPadding", "0"); }
public void insert(Widget w, int beforeIndex) { checkIndexBoundsForInsertion(beforeIndex); Element tr = DOM.createTR(); Element td = createAlignedTd(); DOM.appendChild(tr, td); /* * The case where we reinsert an already existing child is tricky. * * For the WIDGET, it ultimately removes first and inserts second, so we * have to adjust the index within ComplexPanel.insert(). But for the DOM, * we insert first and remove second, which means we DON'T need to adjust * the index. */ DOM.insertChild(getBody(), tr, beforeIndex); insert(w, td, beforeIndex, false); }
/** * Creates a new row. Override this method if the row should have initial * contents. * * @return the newly created TD */ protected Element createRow() { return DOM.createTR(); }
/** * Create a new row with a specific style name. The row will contain three * cells (Left, Center, and Right), each prefixed with the specified style * name. * * This method allows Widgets to reuse the code on a DOM level, without * creating a DecoratorPanel Widget. * * @param styleName the style name * @return the new row {@link Element} */ static Element createTR(String styleName) { Element trElem = DOM.createTR(); setStyleName(trElem, styleName); if (LocaleInfo.getCurrentLocale().isRTL()) { DOM.appendChild(trElem, createTD(styleName + "Right")); DOM.appendChild(trElem, createTD(styleName + "Center")); DOM.appendChild(trElem, createTD(styleName + "Left")); } else { DOM.appendChild(trElem, createTD(styleName + "Left")); DOM.appendChild(trElem, createTD(styleName + "Center")); DOM.appendChild(trElem, createTD(styleName + "Right")); } return trElem; }
Element tr = DOM.createTR(); DOM.appendChild(body, tr);
for (int i = 0; i < rowCount; ++i) { rows[i] = new TmpRow(); rows[i].tr = DOM.createTR(); DOM.appendChild(bodyElem, rows[i].tr);
private DefaultHeader(Imager imager, String text) { this.imager = imager; iconImage = imager.makeImage(); // I do not need any Widgets here, just a DOM structure. Element root = DOM.createTable(); Element tbody = DOM.createTBody(); Element tr = DOM.createTR(); final Element imageTD = DOM.createTD(); labelTD = DOM.createTD(); setElement(root); DOM.appendChild(root, tbody); DOM.appendChild(tbody, tr); DOM.appendChild(tr, imageTD); DOM.appendChild(tr, labelTD); // set image TD to be same width as image. imageTD.setPropertyString("align", "center"); imageTD.setPropertyString("valign", "middle"); imageTD.getStyle().setProperty("width", iconImage.getWidth() + "px"); DOM.appendChild(imageTD, iconImage.getElement()); setText(text); addOpenHandler(this); addCloseHandler(this); setStyle(); }
/** * Create the ghost row. * * @return the ghost row element */ public Element createGhostRow() { Element ghostRow = DOM.createTR(); ghostRow.getStyle().setPropertyPx("margin", 0); ghostRow.getStyle().setPropertyPx("padding", 0); ghostRow.getStyle().setPropertyPx("height", 0); ghostRow.getStyle().setProperty("overflow", "hidden"); return ghostRow; }
/** * Setup clonable elements. */ void initializeClonableElements() { if (GWT.isClient()) { // Create the base table element that will be cloned. BASE_INTERNAL_ELEM = DOM.createTable(); Element contentElem = DOM.createDiv(); Element tbody = DOM.createTBody(), tr = DOM.createTR(); Element tdImg = DOM.createTD(), tdContent = DOM.createTD(); DOM.appendChild(BASE_INTERNAL_ELEM, tbody); DOM.appendChild(tbody, tr); DOM.appendChild(tr, tdImg); DOM.appendChild(tr, tdContent); tdImg.getStyle().setProperty("verticalAlign", "middle"); tdContent.getStyle().setProperty("verticalAlign", "middle"); DOM.appendChild(tdContent, contentElem); contentElem.getStyle().setProperty("display", "inline"); setStyleName(contentElem, "gwt-TreeItem"); BASE_INTERNAL_ELEM.getStyle().setProperty("whiteSpace", "nowrap"); // Create the base element that will be cloned BASE_BARE_ELEM = DOM.createDiv(); // Simulates padding from table element. BASE_BARE_ELEM.getStyle().setProperty("padding", "3px"); DOM.appendChild(BASE_BARE_ELEM, contentElem); Roles.getTreeitemRole().set(contentElem); } } }
protected El getRow(int index) { Element row = DOM.getChild(tbody, index); if (row == null) { row = DOM.createTR(); row.setAttribute("role", "presentation"); DOM.appendChild(tbody, row); } return new El(row); }
@Override public void add(Widget w) { Element tr = DOM.createTR(); Element td = createAlignedTd(); DOM.appendChild(tr, td); DOM.appendChild(getBody(), tr); add(w, td); }
@Override public void add(Widget w) { Element tr = DOM.createTR(); Element td = createAlignedTd(); DOM.appendChild(tr, td); DOM.appendChild(getBody(), tr); add(w, td); }
/** * Creates an empty horizontal panel. */ public HorizontalPanel() { tableRow = DOM.createTR(); DOM.appendChild(getBody(), tableRow); getTable().setPropertyString("cellSpacing", "0"); getTable().setPropertyString("cellPadding", "0"); }
/** * Creates an empty horizontal panel. */ public HorizontalPanel() { tableRow = DOM.createTR(); DOM.appendChild(getBody(), tableRow); getTable().setPropertyString("cellSpacing", "0"); getTable().setPropertyString("cellPadding", "0"); }
private HeaderWidget() { for ( int iRow = 0; iRow < rowHeaders.length; iRow++ ) { rowHeaders[ iRow ] = DOM.createTR(); getBody().appendChild( rowHeaders[ iRow ] ); } getBody().getParentElement().<TableElement>cast().setCellSpacing( 0 ); getBody().getParentElement().<TableElement>cast().setCellPadding( 0 ); }
private HeaderWidget() { for ( int iRow = 0; iRow < headerRows.length; iRow++ ) { headerRows[ iRow ] = DOM.createTR(); getBody().appendChild( headerRows[ iRow ] ); } getBody().getParentElement().<TableElement>cast().setCellSpacing( 0 ); getBody().getParentElement().<TableElement>cast().setCellPadding( 0 ); }