Examples of TableTableRowElement


Examples of org.odftoolkit.odfdom.dom.element.table.TableTableRowElement

   * @return the index of the row
   */
  public int getRowIndex() {
    int result = 0;
    TableTableElement mTableElement = getTableElement();
    TableTableRowElement rowEle = null;
    for (Node n : new DomNodeList(mTableElement.getChildNodes())) {
      if (n instanceof TableTableHeaderRowsElement) {
        TableTableHeaderRowsElement headers = (TableTableHeaderRowsElement) n;
        for (Node m : new DomNodeList(headers.getChildNodes())) {
          if (m instanceof TableTableRowElement) {
            rowEle = (TableTableRowElement) m;
            if (rowEle == getOdfElement()) {
              return result + mnRepeatedIndex;
            }
            result += rowEle.getTableNumberRowsRepeatedAttribute();
          }
        }
      }
      if (n instanceof TableTableRowElement) {
        rowEle = (TableTableRowElement) n;
View Full Code Here

Examples of org.odftoolkit.odfdom.dom.element.table.TableTableRowElement

    }

    for (Node m : new DomNodeList(group.getChildNodes())) {
      if (m instanceof TableTableHeaderRowsElement) {
        TableTableHeaderRowsElement headers = (TableTableHeaderRowsElement) m;
        TableTableRowElement returnEle = findRowInTableHeaderRows(headers, tr, resultIndexs);
        result += resultIndexs[0];
        if (returnEle != null) {// find
          indexs[0] = result;
          return returnEle;
        }
      } else if (m instanceof TableTableRowGroupElement) {
        TableTableRowGroupElement aGroup = (TableTableRowGroupElement) m;
        TableTableRowElement returnEle = findRowInTableRowGroup(aGroup, tr, resultIndexs);
        result += resultIndexs[0];
        if (returnEle != null) {// find
          indexs[0] = result;
          return returnEle;
        }
      } else if (m instanceof TableTableRowsElement) {
        TableTableRowsElement rows = (TableTableRowsElement) m;
        TableTableRowElement returnEle = findRowInTableRows(rows, tr, resultIndexs);
        result += resultIndexs[0];
        if (returnEle != null) {// find
          indexs[0] = result;
          return returnEle;
        }
View Full Code Here

Examples of org.odftoolkit.odfdom.dom.element.table.TableTableRowElement

   *
   * @return the index of the row containing this cell
   */
  public int getRowIndex() {
    TableTableElement table = getTableElement();
    TableTableRowElement tr = getTableRowElement();
    int[] indexs = new int[1];

    TableTableRowElement returnEle = findRowInTableRowGroup(table, tr, indexs);
    if (returnEle != null) {
      return (indexs[0] + mnRepeatedRowIndex);
    } else {
      return -1;
    }
View Full Code Here

Examples of org.odftoolkit.odfdom.dom.element.table.TableTableRowElement

   * Get the index of the table column which contains this cell.
   *
   * @return the index of the column containing this cell
   */
  public int getColumnIndex() {
    TableTableRowElement tr = (TableTableRowElement) mCellElement.getParentNode();
    int result = 0;
    for (Node n : new DomNodeList(tr.getChildNodes())) {
      if (n == mCellElement) {
        return result + mnRepeatedColIndex;
      }
      if (n instanceof TableTableCellElementBase) {
        result += ((TableTableCellElementBase) n).getTableNumberColumnsRepeatedAttribute().intValue();
View Full Code Here

Examples of org.odftoolkit.odfdom.dom.element.table.TableTableRowElement

  // splitRepeatedCells must be called first in order to
  // 1. update parent row if the row is the repeated rows.
  // 2. update the cell itself if the cell is the column repeated cells.
  void splitRepeatedCells() {
    Table table = getTable();
    TableTableRowElement ownerRowElement = getTableRowElement();
    // 1.if the parent row is the repeated row
    // the repeated row has to be separated
    // after this the cell element and repeated index will be updated
    // according to the new parent row
    Row ownerRow = table.getRowInstance(ownerRowElement, mnRepeatedRowIndex);
    if (ownerRow.getRowsRepeatedNumber() > 1) {
      ownerRow.splitRepeatedRows();
      // update row element, new row element maybe created.
      ownerRowElement = ownerRow.maRowElement;
      mnRepeatedRowIndex = 0;
    }
    // 2.if the cell is the column repeated cell
    // this repeated cell has to be separated
    int repeateNum = getColumnsRepeatedNumber();
    if (repeateNum > 1) {
      // change this repeated cell to three parts: repeated cell before,
      // new single cell and repeated cell after.
      Map<TableTableCellElementBase, Vector<Cell>> cellRepository = table.mCellRepository;
      String tableNamespaceURI = OdfDocumentNamespace.TABLE.getUri();
      Vector<Cell> oldList = null;
      if (cellRepository.containsKey(mCellElement)) {
        oldList = cellRepository.remove(mCellElement);
      }
      int offetAfterCurrentCell = repeateNum - mnRepeatedColIndex - 1;
      TableTableCellElementBase currentCellElement = mCellElement;
      TableTableCellElementBase newBeforeCellElement = null;
      TableTableCellElementBase newAfterCellElement = null;
      if (mnRepeatedColIndex > 0) {
        newBeforeCellElement = (TableTableCellElementBase) mCellElement.cloneNode(true);
        if (mnRepeatedColIndex > 1) {
          newBeforeCellElement.setTableNumberColumnsRepeatedAttribute(mnRepeatedColIndex);
        } else {
          newBeforeCellElement.removeAttributeNS(tableNamespaceURI, "number-columns-repeated");
        }
        // insert new before repeated cell
        ownerRowElement.insertBefore(newBeforeCellElement, currentCellElement);
        // update cell cache
        if (oldList != null) {
          Vector<Cell> newBeforeList = new Vector<Cell>(mnRepeatedColIndex);
          for (int i = 0; i < mnRepeatedColIndex && i < oldList.size(); i++) {
            Cell beforeCell = oldList.get(i);
            if (beforeCell != null) {
              beforeCell.mCellElement = newBeforeCellElement;
              newBeforeList.add(i, beforeCell);
            }
          }
          cellRepository.put(newBeforeCellElement, newBeforeList);
        }
      }
      currentCellElement.removeAttributeNS(tableNamespaceURI, "number-columns-repeated");
      if (offetAfterCurrentCell > 0) {
        newAfterCellElement = (TableTableCellElementBase) currentCellElement.cloneNode(true);
        ownerRowElement.insertBefore(newAfterCellElement, currentCellElement);
        currentCellElement = newAfterCellElement;
        newAfterCellElement = (TableTableCellElementBase) currentCellElement.getNextSibling();
        if (offetAfterCurrentCell > 1) {
          newAfterCellElement.setTableNumberColumnsRepeatedAttribute(offetAfterCurrentCell);
        }
View Full Code Here

Examples of org.odftoolkit.odfdom.dom.element.table.TableTableRowElement

    Row refRow = getRowByIndex(index - 1);
    Row positionRow = getRowByIndex(index);
    // 1. insert a <table:table-row>
    if (refRow.getOdfElement() == positionRow.getOdfElement()) {
      TableTableRowElement row = refRow.getOdfElement();
      int repeatedCount = refRow.getRowsRepeatedNumber();
      refRow.setRowsRepeatedNumber(repeatedCount + rowCount);
      TableTableRowElement rowEle = positionRow.getOdfElement();
      Row startRow = getRowInstance(positionRow.getOdfElement(), 0);
      for (int i = repeatedCount + rowCount - 1; i >= rowCount + (index - startRow.getRowIndex()); i--) {
        updateRowRepository(rowEle, i - rowCount, rowEle, i);
      }
      for (int i = 0; i < rowCount; i++) {
View Full Code Here

Examples of org.odftoolkit.odfdom.dom.element.table.TableTableRowElement

   *
   * @return a list of table rows
   */
  public List<Row> getRowList() {
    ArrayList<Row> list = new ArrayList<Row>();
    TableTableRowElement rowEle = null;
    for (Node n : new DomNodeList(mTableElement.getChildNodes())) {
      if (n instanceof TableTableHeaderRowsElement) {
        TableTableHeaderRowsElement headers = (TableTableHeaderRowsElement) n;
        for (Node m : new DomNodeList(headers.getChildNodes())) {
          if (m instanceof TableTableRowElement) {
            rowEle = (TableTableRowElement) m;
            for (int i = 0; i < rowEle.getTableNumberRowsRepeatedAttribute(); i++) {
              list.add(getRowInstance(rowEle, i));
            }
          }
        }
      }
      if (n instanceof TableTableRowElement) {
        rowEle = (TableTableRowElement) n;
        for (int i = 0; i < rowEle.getTableNumberRowsRepeatedAttribute(); i++) {
          list.add(getRowInstance(rowEle, i));
        }
      }
    }
    return list;
View Full Code Here

Examples of org.odftoolkit.odfdom.dom.element.table.TableTableRowElement

    // 1. remove row
    Row firstRow = getRowByIndex(startIndex);
    for (int i = startIndex; i < startIndex + deleteRowCount; i++) {
      int repeatedAttr = firstRow.getRowsRepeatedNumber();
      if (repeatedAttr == 1) {
        TableTableRowElement rowEle = OdfElement.findNextChildNode(TableTableRowElement.class, firstRow
            .getOdfElement());
        firstRow.removeAllCellsRelationship();
        firstRow.getOdfElement().getParentNode().removeChild(firstRow.getOdfElement());
        updateRowRepository(firstRow.getOdfElement(), firstRow.mnRepeatedIndex, null, 0);
        if (i < (startIndex + deleteRowCount - 1)) {
View Full Code Here

Examples of org.odftoolkit.odfdom.dom.element.table.TableTableRowElement

    return columnEle;
  }

  TableTableRowElement getRowElementByIndex(int rowIndex) {
    int result = 0;
    TableTableRowElement rowEle = null;
    for (Node n : new DomNodeList(mTableElement.getChildNodes())) {
      if (n instanceof TableTableHeaderRowsElement) {
        TableTableHeaderRowsElement headers = (TableTableHeaderRowsElement) n;
        for (Node m : new DomNodeList(headers.getChildNodes())) {
          if (m instanceof TableTableRowElement) {
            rowEle = (TableTableRowElement) m;
            result += rowEle.getTableNumberRowsRepeatedAttribute();
          }
          if (result > rowIndex) {
            break;
          }
        }
View Full Code Here

Examples of org.odftoolkit.odfdom.dom.element.table.TableTableRowElement

    // 3.1 create header row elements
    if (headerRowNumber > 0) {
      TableTableHeaderRowsElement headerrows = (TableTableHeaderRowsElement) OdfXMLFactory.newOdfElement(dom,
          OdfName.newName(OdfDocumentNamespace.TABLE, "table-header-rows"));
      for (int i = 0; i < headerRowNumber; i++) {
        TableTableRowElement aRow = (TableTableRowElement) OdfXMLFactory.newOdfElement(dom, OdfName.newName(
            OdfDocumentNamespace.TABLE, "table-row"));
        for (int j = 0; j < numCols; j++) {
          TableTableCellElement aCell = (TableTableCellElement) OdfXMLFactory.newOdfElement(dom, OdfName
              .newName(OdfDocumentNamespace.TABLE, "table-cell"));
          if (isTextDocument) {
            if ((j + 1 == numCols) && (i == 0)) {
              aCell.setStyleName(righttopStyle.getStyleNameAttribute());
            } else if (i == 0) {
              aCell.setStyleName(lefttopStyle.getStyleNameAttribute());
            } else if ((j + 1 == numCols) && (i > 0)) {
              aCell.setStyleName(rightbottomStyle.getStyleNameAttribute());
            } else {
              aCell.setStyleName(leftbottomStyle.getStyleNameAttribute());
            }
          }
          aRow.appendChild(aCell);
        }
        headerrows.appendChild(aRow);
      }
      newTEle.appendChild(headerrows);
    }

    // 3.2 create common row elements
    for (int i = headerRowNumber; i < numRows; i++) {
      TableTableRowElement aRow = (TableTableRowElement) OdfXMLFactory.newOdfElement(dom, OdfName.newName(
          OdfDocumentNamespace.TABLE, "table-row"));
      for (int j = 0; j < numCols; j++) {
        TableTableCellElement aCell = (TableTableCellElement) OdfXMLFactory.newOdfElement(dom, OdfName.newName(
            OdfDocumentNamespace.TABLE, "table-cell"));
        if (isTextDocument) {
          if ((j + 1 == numCols) && (i == 0)) {
            aCell.setStyleName(righttopStyle.getStyleNameAttribute());
          } else if (i == 0) {
            aCell.setStyleName(lefttopStyle.getStyleNameAttribute());
          } else if ((j + 1 == numCols) && (i > 0)) {
            aCell.setStyleName(rightbottomStyle.getStyleNameAttribute());
          } else {
            aCell.setStyleName(leftbottomStyle.getStyleNameAttribute());
          }
        }
        aRow.appendChild(aCell);
      }
      newTEle.appendChild(aRow);
    }

    return newTEle;
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.