Class PagePrint

java.lang.Object
org.eclipse.nebula.paperclips.core.page.PagePrint
All Implemented Interfaces:
Print

public class PagePrint
extends java.lang.Object
implements Print
A decorator Print which displays page headers and footers around a document body, with page numbering capabilities.

PagePrint is horizontally and vertically greedy. Greedy prints take up all the available space on the page.

Note: Avoid wrapping PagePrint in prints with space-optimizing semantics (e.g. ColumnPrint equalizes columns on the last page), as this may cause the total page count to be incorrect on some pages. At this time there is no known fix. If wrapping a PagePrint is unavoidable, consider using a custom PageNumberFormat which does not display the total page count.

  • Field Details

  • Constructor Details

    • PagePrint

      public PagePrint​(PageDecoration header, int headerGap, Print body)
      Constructs a PagePrint with the given header and body.
      Parameters:
      header - a PageDecoration for creating the header. May be null.
      headerGap - the gap between the header and body, in points.
      body - the Print being decorated.
    • PagePrint

      public PagePrint​(PageDecoration header, Print body)
      Constructs a PagePrint with the given header and body.
      Parameters:
      body - the Print being decorated.
      header - a PageDecoration for creating the header. May be null.
    • PagePrint

      public PagePrint​(Print body)
      Constructs a PagePrint with the given body.
      Parameters:
      body - the Print being decorated.
    • PagePrint

      public PagePrint​(Print body, PageDecoration footer)
      Constructs a PagePrint with the given body and footer.
      Parameters:
      body - the Print being decorated.
      footer - a PageDecoration for creating the footer. may be null.
    • PagePrint

      public PagePrint​(Print body, int footerGap, PageDecoration footer)
      Constructs a PagePrint with the given body, header and footer.
      Parameters:
      body - the Print being decorated.
      footerGap - the gap between the body and footer, in points.
      footer - a PageDecoration for creating the footer. May be null.
    • PagePrint

      public PagePrint​(PageDecoration header, Print body, PageDecoration footer)
      Constructs a PagePrint with the given body, header and footer.
      Parameters:
      header - a PageDecoration for creating the header. May be null.
      body - the Print being decorated.
      footer - a PageDecoration for creating the footer. may be null.
    • PagePrint

      public PagePrint​(PageDecoration header, int headerGap, Print body, int footerGap, PageDecoration footer)
      Constructs a PagePrint with the given body, header and footer.
      Parameters:
      header - a PageDecoration for creating the header. May be null.
      headerGap - the gap between the header and body, in points.
      body - the Print being decorated.
      footerGap - the gap between the body and footer, in points.
      footer - a PageDecoration for creating the footer. May be null.
  • Method Details

    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class java.lang.Object
    • equals

      public boolean equals​(java.lang.Object obj)
      Overrides:
      equals in class java.lang.Object
    • getHeader

      public PageDecoration getHeader()
      Returns the page header.
      Returns:
      the page header.
    • setHeader

      public void setHeader​(PageDecoration header)
      Sets the page header to the argument.
      Parameters:
      header - a PageDecoration which creates the header. May be null.
    • getHeaderGap

      public int getHeaderGap()
      Returns the gap between the header and body, expressed in points.
      Returns:
      the gap between the header and body, expressed in points.
    • setHeaderGap

      public void setHeaderGap​(int points)
      Sets the gap between the header and body to the argument, expressed in points.
      Parameters:
      points - the new gap between the header and body, expressed in points. 72 points = 1".
    • getBody

      public Print getBody()
      Returns the page body.
      Returns:
      the page body.
    • setBody

      public void setBody​(Print body)
      Sets the page body to the argument.
      Parameters:
      body - the new page body.
    • getFooter

      public PageDecoration getFooter()
      Returns the page footer.
      Returns:
      the page footer.
    • setFooter

      public void setFooter​(PageDecoration footer)
      Sets the page footer to the argument.
      Parameters:
      footer - a PageDecoration which creates the footer. May be null.
    • getFooterGap

      public int getFooterGap()
      Returns the gap between the body and footer, expressed in points.
      Returns:
      the gap between the body and footer, expressed in points.
    • setFooterGap

      public void setFooterGap​(int points)
      Sets the gap between the body and footer to the argument, expressed in points.
      Parameters:
      points - the new gap between the body and footer (if there is a footer).
    • iterator

      public PrintIterator iterator​(org.eclipse.swt.graphics.Device device, org.eclipse.swt.graphics.GC gc)
      Description copied from interface: Print
      Returns a PrintIterator for laying out the contents of this Print. The iterator uses a snapshot of the print at the time this method is invoked, so subsequent changes to the Print will not affect the output of the iterator.
      Specified by:
      iterator in interface Print
      Parameters:
      device - the graphics device this Print will be drawn onto.
      gc - the graphics context to be used for calculating layout and drawing the Print's contents.
      Returns:
      a PrintIterator for laying out the contents of this Print.