Package org.apache.poi.ss.formula.ptg

Examples of org.apache.poi.ss.formula.ptg.AreaPtg


    if (ptg instanceof RefPtg) {
      RefPtg rptg = (RefPtg) ptg;
      return ec.getRefEval(rptg.getRow(), rptg.getColumn());
    }
    if (ptg instanceof AreaPtg) {
      AreaPtg aptg = (AreaPtg) ptg;
      return ec.getAreaEval(aptg.getFirstRow(), aptg.getFirstColumn(), aptg.getLastRow(), aptg.getLastColumn());
    }

    if (ptg instanceof UnknownPtg) {
      // POI uses UnknownPtg when the encoded Ptg array seems to be corrupted.
      // This seems to occur in very rare cases (e.g. unused name formulas in bug 44774, attachment 21790)
View Full Code Here


    if (ptg instanceof RefPtg) {
      RefPtg rptg = (RefPtg) ptg;
      return ec.getRefEval(rptg.getRow(), rptg.getColumn());
    }
    if (ptg instanceof AreaPtg) {
      AreaPtg aptg = (AreaPtg) ptg;
      return ec.getAreaEval(aptg.getFirstRow(), aptg.getFirstColumn(), aptg.getLastRow(), aptg.getLastColumn());
    }

    if (ptg instanceof UnknownPtg) {
      // POI uses UnknownPtg when the encoded Ptg array seems to be corrupted.
      // This seems to occur in very rare cases (e.g. unused name formulas in bug 44774, attachment 21790)
View Full Code Here

   * moved
   */
  public void testShiftAreasSourceRows() {

    // all these operations are on an area ref spanning rows 10 to 20
    AreaPtg aptg  = createAreaPtg(10, 20);

    confirmAreaShift(aptg,  9, 21, 20, 30, 40);
    confirmAreaShift(aptg, 10, 21, 20, 30, 40);
    confirmAreaShift(aptg,  9, 20, 20, 30, 40);

View Full Code Here

   * Tests what happens to an area ref when some outside rows are moved to overlap
   * that area ref
   */
  public void testShiftAreasDestRows() {
    // all these operations are on an area ref spanning rows 20 to 25
    AreaPtg aptg  = createAreaPtg(20, 25);

    // no change because no overlap:
    confirmAreaShift(aptg,  5, 109, 20, 25);
    confirmAreaShift(aptg,  5, 10, 21, 20, 25);

View Full Code Here

      int expectedAreaFirstRow, int expectedAreaLastRow) {

    FormulaShifter fs = FormulaShifter.createForRowShift(0, "", firstRowMoved, lastRowMoved, numberRowsMoved);
    boolean expectedChanged = aptg.getFirstRow() != expectedAreaFirstRow || aptg.getLastRow() != expectedAreaLastRow;

    AreaPtg copyPtg = (AreaPtg) aptg.copy(); // clone so we can re-use aptg in calling method
    Ptg[] ptgs = { copyPtg, };
    boolean actualChanged = fs.adjustFormula(ptgs, 0);
    if (expectedAreaFirstRow < 0) {
      assertEquals(AreaErrPtg.class, ptgs[0].getClass());
      return;
    }
    assertEquals(expectedChanged, actualChanged);
    assertEquals(copyPtg, ptgs[0])// expected to change in place (although this is not a strict requirement)
    assertEquals(expectedAreaFirstRow, copyPtg.getFirstRow());
    assertEquals(expectedAreaLastRow, copyPtg.getLastRow());

  }
View Full Code Here

    assertEquals(expectedAreaFirstRow, copyPtg.getFirstRow());
    assertEquals(expectedAreaLastRow, copyPtg.getLastRow());

  }
  private static AreaPtg createAreaPtg(int initialAreaFirstRow, int initialAreaLastRow) {
    return new AreaPtg(initialAreaFirstRow, initialAreaLastRow, 2, 5, false, false, false, false);
  }
View Full Code Here

      }
    } else {
      AreaReference areaRef = createAreaRef(part1, part2);

      if (sheetIden == null) {
        ptg = new AreaPtg(areaRef);
      } else {
        ptg = _book.get3DReferencePtg(areaRef, sheetIden);
      }
    }
    return new ParseNode(ptg);
View Full Code Here

  /**
   * Creates a dummy AreaEval
   * @param values empty (<code>null</code>) entries in this array will be converted to NumberEval.ZERO
   */
  public static AreaEval createAreaEval(String areaRefStr, ValueEval[] values) {
    AreaPtg areaPtg = new AreaPtg(areaRefStr);
    return createAreaEval(areaPtg, values);
  }
View Full Code Here

        }
    }

    private static CellRangeAddress shiftRange(FormulaShifter shifter, CellRangeAddress cra, int currentExternSheetIx) {
        // FormulaShifter works well in terms of Ptgs - so convert CellRangeAddress to AreaPtg (and back) here
        AreaPtg aptg = new AreaPtg(cra.getFirstRow(), cra.getLastRow(), cra.getFirstColumn(), cra.getLastColumn(), false, false, false, false);
        Ptg[] ptgs = { aptg, };

        if (!shifter.adjustFormula(ptgs, currentExternSheetIx)) {
            return cra;
        }
        Ptg ptg0 = ptgs[0];
        if (ptg0 instanceof AreaPtg) {
            AreaPtg bptg = (AreaPtg) ptg0;
            return new CellRangeAddress(bptg.getFirstRow(), bptg.getLastRow(), bptg.getFirstColumn(), bptg.getLastColumn());
        }
        if (ptg0 instanceof AreaErrPtg) {
            return null;
        }
        throw new IllegalStateException("Unexpected shifted ptg class (" + ptg0.getClass().getName() + ")");
View Full Code Here

        }
    }

    private static CellRangeAddress shiftRange(FormulaShifter shifter, CellRangeAddress cra, int currentExternSheetIx) {
        // FormulaShifter works well in terms of Ptgs - so convert CellRangeAddress to AreaPtg (and back) here
        AreaPtg aptg = new AreaPtg(cra.getFirstRow(), cra.getLastRow(), cra.getFirstColumn(), cra.getLastColumn(), false, false, false, false);
        Ptg[] ptgs = { aptg, };

        if (!shifter.adjustFormula(ptgs, currentExternSheetIx)) {
            return cra;
        }
        Ptg ptg0 = ptgs[0];
        if (ptg0 instanceof AreaPtg) {
            AreaPtg bptg = (AreaPtg) ptg0;
            return new CellRangeAddress(bptg.getFirstRow(), bptg.getLastRow(), bptg.getFirstColumn(), bptg.getLastColumn());
        }
        if (ptg0 instanceof AreaErrPtg) {
            return null;
        }
        throw new IllegalStateException("Unexpected shifted ptg class (" + ptg0.getClass().getName() + ")");
View Full Code Here

TOP

Related Classes of org.apache.poi.ss.formula.ptg.AreaPtg

Copyright © 2018 www.massapicom. 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.