Package org.pentaho.reporting.engine.classic.core.layout.model

Examples of org.pentaho.reporting.engine.classic.core.layout.model.BlockRenderBox


  protected void processRootBand(final StrictBounds pageBounds)
  {
    startProcessing(rootBox.getWatermarkArea());

    final BlockRenderBox headerArea = rootBox.getHeaderArea();
    final BlockRenderBox footerArea = rootBox.getFooterArea();
    final StrictBounds headerBounds = new StrictBounds(headerArea.getX(), headerArea.getY(), headerArea.getWidth(),
        headerArea.getHeight());
    final StrictBounds footerBounds = new StrictBounds(footerArea.getX(), footerArea.getY(), footerArea.getWidth(),
        footerArea.getHeight());
    final StrictBounds contentBounds = new StrictBounds
        (rootBox.getX(), headerArea.getY() + headerArea.getHeight(),
            rootBox.getWidth(), footerArea.getY() - headerArea.getHeight());
    this.drawArea = headerBounds;
    final Shape clip = this.graphics.getClip();
    this.graphics.clip(createClipRect(drawArea));
    startProcessing(headerArea);
    this.drawArea = contentBounds;
View Full Code Here


  protected void processPage(final LogicalPageBox rootBox)
  {
    final StrictBounds pageBounds = drawArea;
    startProcessing(rootBox.getWatermarkArea());

    final BlockRenderBox headerArea = rootBox.getHeaderArea();
    final BlockRenderBox footerArea = rootBox.getFooterArea();
    final StrictBounds headerBounds = new StrictBounds(headerArea.getX(), headerArea.getY(), headerArea.getWidth(),
        headerArea.getHeight());
    final StrictBounds footerBounds = new StrictBounds(footerArea.getX(), footerArea.getY(), footerArea.getWidth(),
        footerArea.getHeight());
    final StrictBounds contentBounds = new StrictBounds
        (rootBox.getX(), headerArea.getY() + headerArea.getHeight(),
            rootBox.getWidth(), footerArea.getY() - headerArea.getHeight());
    this.drawArea = headerBounds;
    startProcessing(headerArea);
    this.drawArea = contentBounds;
    processBoxChilds(rootBox);
    this.drawArea = footerBounds;
View Full Code Here

  protected void processPage(final LogicalPageBox rootBox)
  {
    final StrictBounds pageBounds = drawArea;
    startProcessing(rootBox.getWatermarkArea());

    final BlockRenderBox headerArea = rootBox.getHeaderArea();
    final BlockRenderBox footerArea = rootBox.getFooterArea();
    final StrictBounds headerBounds = new StrictBounds(headerArea.getX(), headerArea.getY(), headerArea.getWidth(),
        headerArea.getHeight());
    final StrictBounds footerBounds = new StrictBounds(footerArea.getX(), footerArea.getY(), footerArea.getWidth(),
        footerArea.getHeight());
    final StrictBounds contentBounds = new StrictBounds
        (rootBox.getX(), headerArea.getY() + headerArea.getHeight(),
            rootBox.getWidth(), footerArea.getY() - headerArea.getHeight());
    this.drawArea = headerBounds;
    startProcessing(headerArea);
    this.drawArea = contentBounds;
    processBoxChilds(rootBox);
    this.drawArea = footerBounds;
View Full Code Here

          }
          finishBlockBox(box);
        }
        else
        {
          final BlockRenderBox box = (BlockRenderBox) node;
          if (startBlockBox(box))
          {
            processBoxChilds(box);
          }
          finishBlockBox(box);
View Full Code Here

  public void update(final LogicalPageBox logicalPage,
                     final boolean iterativeUpdate)
  {
//    this.iterativeUpdate = iterativeUpdate;

    final BlockRenderBox pageFooterBox = logicalPage.getFooterArea();
    if (unalignedPagebands == false)
    {
      // The page-header and footer area are aligned/shifted within the logical pagebox so that all areas
      // share a common coordinate system. This also implies, that the whole logical page is aligned content.
      pageOffset = 0;
      final long pageEnd = logicalPage.getPageEnd() - logicalPage.getPageOffset();
      effectiveOffset = 0;
      pageHeight = effectiveOffset + (pageEnd - pageOffset);
      //Log.debug ("Content Processing " + pageOffset + " -> " + pageEnd);
      if (startBlockBox(logicalPage))
      {
        if (headerProcessed == false)
        {
          startProcessing(logicalPage.getWatermarkArea());
          final BlockRenderBox headerArea = logicalPage.getHeaderArea();
          startProcessing(headerArea);
          headerProcessed = true;
        }

        processBoxChilds(logicalPage);
        if (iterativeUpdate == false)
        {
          pageHeight += pageFooterBox.getHeight();
          startProcessing(pageFooterBox);
        }
      }
      finishBlockBox(logicalPage);
    }
    else
    {
      // The page-header and footer area are not aligned/shifted within the logical pagebox.
      // All areas have their own coordinate system starting at (0,0). We apply a manual shift here
      // so that we dont have to modify the nodes (which invalidates the cache, and therefore is ugly)
      effectiveOffset = 0;
      pageOffset = 0;
      pageHeight = (logicalPage.getPageEnd());
      if (startBlockBox(logicalPage))
      {
        if (headerProcessed == false)
        {
          contentOffset = 0;
          effectiveOffset = 0;

          final BlockRenderBox watermarkArea = logicalPage.getWatermarkArea();
          final long watermarkPageEnd = watermarkArea.getHeight();
          pageHeight = effectiveOffset + (watermarkPageEnd - pageOffset);
          startProcessing(watermarkArea);

          final BlockRenderBox headerArea = logicalPage.getHeaderArea();
          final long pageEnd = headerArea.getHeight();
          pageHeight = effectiveOffset + (pageEnd - pageOffset);
          startProcessing(headerArea);
          contentOffset = headerArea.getHeight();
          headerProcessed = true;
        }

        pageOffset = logicalPage.getPageOffset();
        final long pageEnd = logicalPage.getPageEnd();
        effectiveOffset = contentOffset;
        pageHeight = effectiveOffset + (pageEnd - pageOffset);
        processBoxChilds(logicalPage);

        if (iterativeUpdate == false)
        {
          pageOffset = 0;
          final BlockRenderBox footerArea = pageFooterBox;
          final long footerOffset = contentOffset + (logicalPage.getPageEnd() - logicalPage.getPageOffset());
          final long footerPageEnd = footerOffset + footerArea.getHeight();
          effectiveOffset = footerOffset;
          pageHeight = effectiveOffset + (footerPageEnd - pageOffset);
          startProcessing(footerArea);
        }
      }
View Full Code Here

      {
        if (headerProcessed == false)
        {
          sectionType = CellMarker.TYPE_HEADER;
          startProcessing(logicalPage.getWatermarkArea());
          final BlockRenderBox headerArea = logicalPage.getHeaderArea();
          startProcessing(headerArea);
          headerProcessed = true;
        }

        sectionType = CellMarker.TYPE_NORMALFLOW;
        processBoxChilds(logicalPage);
        if (iterativeUpdate == false)
        {
          sectionType = CellMarker.TYPE_FOOTER;
          final BlockRenderBox pageFooterBox = logicalPage.getFooterArea();
          pageEnd += pageFooterBox.getHeight();
          startProcessing(pageFooterBox);
        }
      }
      sectionType = CellMarker.TYPE_INVALID;
      finishBlockBox(logicalPage);
      //ModelPrinter.print(logicalPage);
    }
    else
    {
      // The page-header and footer area are not aligned/shifted within the logical pagebox.
      // All areas have their own coordinate system starting at (0,0). We apply a manual shift here
      // so that we dont have to modify the nodes (which invalidates the cache, and therefore is ugly)

      //Log.debug ("Content Processing " + pageOffset + " -> " + pageEnd);
      effectiveOffset = 0;
      pageOffset = 0;
      pageEnd = logicalPage.getPageEnd();
      sectionType = CellMarker.TYPE_INVALID;
      if (startBlockBox(logicalPage))
      {
        if (headerProcessed == false)
        {
          sectionType = CellMarker.TYPE_HEADER;
          contentOffset = 0;

          final BlockRenderBox watermarkArea = logicalPage.getWatermarkArea();
          pageEnd = watermarkArea.getHeight();
          startProcessing(watermarkArea);

          final BlockRenderBox headerArea = logicalPage.getHeaderArea();
          pageEnd = headerArea.getHeight();
          startProcessing(headerArea);
          contentOffset = headerArea.getHeight();
          headerProcessed = true;
        }

        final BlockRenderBox headerArea = logicalPage.getHeaderArea();
        sectionType = CellMarker.TYPE_NORMALFLOW;
        pageOffset = logicalPage.getPageOffset();
        pageEnd = logicalPage.getPageEnd();
        effectiveOffset = headerArea.getHeight();
        processBoxChilds(logicalPage);

        if (iterativeUpdate == false)
        {
          sectionType = CellMarker.TYPE_FOOTER;
          pageOffset = 0;
          final BlockRenderBox footerArea = logicalPage.getFooterArea();
          final long footerOffset = contentOffset + (logicalPage.getPageEnd() - logicalPage.getPageOffset());
          pageEnd = footerOffset + footerArea.getHeight();
          effectiveOffset = footerOffset;
          startProcessing(footerArea);
        }
      }
      sectionType = CellMarker.TYPE_INVALID;
View Full Code Here

    rowHeaderBoxId = rowHeaderBox.getInstanceId();
    rowFooterBoxId = rowFooterBox.getInstanceId();
    cellDataBoxId = cellDataBox.getInstanceId();

    final BlockRenderBox columnHeaderArea = new BlockRenderBox(styleSheet);
    columnHeaderArea.setName("columnHeaderArea");
    columnHeaderArea.addChild(columnHeaderTitleBox);
    columnHeaderArea.addChild(columnHeaderBox);
    columnHeaderArea.close();

    headerBox = new RowRenderBox(styleSheet);
    headerBox.setName("headerBox");
    headerBox.addChild(rowHeaderTitleBox);
    headerBox.addChild(columnHeaderArea);
View Full Code Here

    this.collectAttributes = collectAttributes;
    this.retval = null;


    initFromPosition(gridX, gridY, gridWidth, gridHeight);
    final BlockRenderBox headerArea = logicalPageBox.getHeaderArea();
    if (unalignedPagebands == false)
    {
      contentShift = 0;
      startProcessing(headerArea);
      startProcessing(logicalPageBox);
      final BlockRenderBox footerArea = logicalPageBox.getFooterArea();
      startProcessing(footerArea);
      return retval;
    }

    switch (sectionType)
    {
      case CellMarker.TYPE_HEADER:
      {
        contentShift = 0;
        startProcessing(headerArea);
        return retval;
      }
      case CellMarker.TYPE_NORMALFLOW:
      {
        final BlockRenderBox contentArea = logicalPageBox.getContentArea();
        final long contentStart = headerArea.getY() + headerArea.getHeight() + contentArea.getY();
        contentShift = contentStart - logicalPageBox.getPageOffset();
        startProcessing(contentArea);
        return retval;
      }
      case CellMarker.TYPE_FOOTER:
      {
        final BlockRenderBox contentArea = logicalPageBox.getContentArea();
        final long contentStart = headerArea.getY() + headerArea.getHeight() + contentArea.getY();
        final BlockRenderBox footerArea = logicalPageBox.getFooterArea();
        contentShift = contentStart + contentArea.getHeight() + footerArea.getY();
        startProcessing(footerArea);
        return retval;
      }
      case CellMarker.TYPE_INVALID:
        return null;
View Full Code Here

    super(string);
  }

  public void testSingleElementReplacement()
  {
    final BlockRenderBox parent = new BlockRenderBox(ElementDefaultStyleSheet.getDefaultStyle(), new InstanceID(),new BoxDefinition(), LegacyType.INSTANCE, ReportAttributeMap.EMPTY_MAP, null);
    final BlockRenderBox first = new BlockRenderBox(ElementDefaultStyleSheet.getDefaultStyle(), new InstanceID(),new BoxDefinition(), LegacyType.INSTANCE, ReportAttributeMap.EMPTY_MAP, null);
    final BlockRenderBox second = new BlockRenderBox(ElementDefaultStyleSheet.getDefaultStyle(),new InstanceID(), new BoxDefinition(), LegacyType.INSTANCE, ReportAttributeMap.EMPTY_MAP, null);
    final BlockRenderBox third = new BlockRenderBox(ElementDefaultStyleSheet.getDefaultStyle(), new InstanceID(),new BoxDefinition(), LegacyType.INSTANCE, ReportAttributeMap.EMPTY_MAP, null);
    final BlockRenderBox fourth = new BlockRenderBox(ElementDefaultStyleSheet.getDefaultStyle(), new InstanceID(),new BoxDefinition(), LegacyType.INSTANCE, ReportAttributeMap.EMPTY_MAP, null);

    parent.addChild(first);
    parent.addChild(second);
    parent.addChild(third);
    parent.addChild(fourth);

    final SpacerRenderNode replacementForFirst = new SpacerRenderNode();
    parent.replaceChild(first, replacementForFirst);
    assertNull(first.getNext());
    assertNull(first.getPrev());
    assertNull(first.getParent());

    final SpacerRenderNode replacementForSecond = new SpacerRenderNode();
    parent.replaceChild(second, replacementForSecond);
    assertNull(second.getNext());
    assertNull(second.getPrev());
    assertNull(second.getParent());

    final SpacerRenderNode replacementForThird = new SpacerRenderNode();
    parent.replaceChild(third, replacementForThird);
    assertNull(third.getNext());
    assertNull(third.getPrev());
    assertNull(third.getParent());

    final SpacerRenderNode replacementForFourth = new SpacerRenderNode();
    parent.replaceChild(fourth, replacementForFourth);
    assertNull(fourth.getNext());
    assertNull(fourth.getPrev());
    assertNull(fourth.getParent());
  }
View Full Code Here

    assertNull(fourth.getParent());
  }

  public void testMore()
  {
    final BlockRenderBox parent = new BlockRenderBox(ElementDefaultStyleSheet.getDefaultStyle(),new InstanceID(), new BoxDefinition(), LegacyType.INSTANCE, ReportAttributeMap.EMPTY_MAP, null);
    final BlockRenderBox first = new BlockRenderBox(ElementDefaultStyleSheet.getDefaultStyle(),new InstanceID(), new BoxDefinition(), LegacyType.INSTANCE, ReportAttributeMap.EMPTY_MAP, null);
    final BlockRenderBox second = new BlockRenderBox(ElementDefaultStyleSheet.getDefaultStyle(), new InstanceID(),new BoxDefinition(), LegacyType.INSTANCE, ReportAttributeMap.EMPTY_MAP, null);
    final BlockRenderBox third = new BlockRenderBox(ElementDefaultStyleSheet.getDefaultStyle(),new InstanceID(), new BoxDefinition(), LegacyType.INSTANCE, ReportAttributeMap.EMPTY_MAP, null);
    final BlockRenderBox fourth = new BlockRenderBox(ElementDefaultStyleSheet.getDefaultStyle(), new InstanceID(),new BoxDefinition(), LegacyType.INSTANCE, ReportAttributeMap.EMPTY_MAP, null);

    parent.addChild(first);
    parent.addChild(second);
    parent.addChild(third);
    parent.addChild(fourth);
View Full Code Here

TOP

Related Classes of org.pentaho.reporting.engine.classic.core.layout.model.BlockRenderBox

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.