Class PrintElement

java.lang.Object
org.compiere.print.layout.PrintElement
All Implemented Interfaces:
ImageObserver, Serializable
Direct Known Subclasses:
BarcodeElement, BoxElement, GraphElement, GridElement, HTMLElement, ImageElement, StringElement, TableElement

public abstract class PrintElement extends Object implements ImageObserver, Serializable
Abstract base class for Print Element
Version:
$Id: PrintElement.java,v 1.2 2006/07/30 00:53:02 jjanke Exp $
Author:
Jorg Janke
See Also:
  • Field Details

    • p_width

      protected float p_width
      Calculated Size of Element
    • p_height

      protected float p_height
    • p_sizeCalculated

      protected boolean p_sizeCalculated
    • p_maxWidth

      protected float p_maxWidth
      Max Size of Element
    • p_maxHeight

      protected float p_maxHeight
    • p_FieldAlignmentType

      protected String p_FieldAlignmentType
      Field Align Type
    • p_pageLocation

      protected Point2D.Double p_pageLocation
      Location on Page
    • log

      protected CLogger log
      Logger
  • Constructor Details

    • PrintElement

      protected PrintElement()
      Constructor
  • Method Details

    • getWidth

      public float getWidth()
      Get Calculated Width
      Returns:
      Width
    • getHeight

      public float getHeight()
      Get Calculated Height
      Returns:
      Height
    • getHeight

      public float getHeight(int pageNo)
      Get Calculated Height on page
      Parameters:
      pageNo - page number
      Returns:
      Height
    • getPageCount

      public int getPageCount()
      Get number of pages
      Returns:
      page count (1)
    • calculateSize

      protected abstract boolean calculateSize()
      Layout and Calculate Size
      Returns:
      true if calculated
    • layout

      public void layout(float maxWidth, float maxHeight, boolean isHeightOneLine, String FieldAlignmentType)
      Layout Element
      Parameters:
      maxWidth - max width
      maxHeight - max height
      isHeightOneLine - just one line
      FieldAlignmentType - alignment type (MPrintFormatItem.FIELD_ALIGN_*)
    • setMaxHeight

      public void setMaxHeight(float maxHeight)
      Set Maximum Height
      Parameters:
      maxHeight - maximum height (0) is no limit
    • setMaxWidth

      public void setMaxWidth(float maxWidth)
      Set Maximum Width
      Parameters:
      maxWidth - maximum width (0) is no limit
    • setLocation

      public void setLocation(Point2D pageLocation)
      Set Location within page.
      Called from LayoutEngine.layoutForm(), layout(), createStandardFooterHeader()
      Parameters:
      pageLocation - location within page
    • getLocation

      public Point2D getLocation()
      Get Location within page
      Returns:
      location within page
    • getAbsoluteLocation

      protected Point2D.Double getAbsoluteLocation(Point2D pageStart)
      Return Absolute Position
      Parameters:
      pageStart - start of page
      Returns:
      absolute position
    • getBounds

      public Rectangle getBounds()
      Get relative Bounds of Element
      Returns:
      bounds
    • getDrillDown

      public MQuery getDrillDown(Point relativePoint, int pageNo)
      Get Drill Down Query
      Parameters:
      relativePoint - point to find print element
      pageNo - page number
      Returns:
      null (subclass to overwrite)
    • getDrillAcross

      public MQuery getDrillAcross(Point relativePoint, int pageNo)
      Get Drill Across Query
      Parameters:
      relativePoint - point to find print element
      pageNo - page number
      Returns:
      null (subclass to overwrite)
    • translate

      public void translate(Properties ctx)
      Translate Content if required.
      If content is translated, the element needs to stay in the bounds of the originally calculated size and need to align the field.
      Parameters:
      ctx - context
    • isTranslated

      public boolean isTranslated()
      Content is translated
      Returns:
      false
    • paint

      public abstract void paint(Graphics2D g2D, int pageNo, Point2D pageStart, Properties ctx, boolean isView)
      Paint/Print.
      Parameters:
      g2D - Graphics
      pageNo - page number for multi page support (0 = header/footer)
      pageStart - top left Location of page
      ctx - context
      isView - true if online view (IDs are links)
    • imageUpdate

      public boolean imageUpdate(Image img, int infoflags, int x, int y, int width, int height)
      Image Observer
      Specified by:
      imageUpdate in interface ImageObserver
      Parameters:
      img - image
      infoflags - Observer flags
      x - x coordinate
      y - y coordinate
      width - image width
      height - image height
      Returns:
      false if the infoflags indicate that the image is completely loaded; true otherwise
    • waitForLoad

      public boolean waitForLoad(Image image)
      Wait until Image is loaded.
      Parameters:
      image - image
      Returns:
      true if loaded
    • getDetailInfo

      protected String getDetailInfo()
      Get Detail Info
      Returns:
      detail info (empty string, subclass to overwrite)
    • toString

      public String toString()
      String Representation
      Overrides:
      toString in class Object
      Returns:
      info
    • setCurrentPage

      public void setCurrentPage(Page page)
      Set current page
      Parameters:
      page -
    • getCurrentPage

      protected Page getCurrentPage()
      Get current page
      Returns:
      page
    • setPrintData

      public void setPrintData(PrintData printData)
      Set print data
      Parameters:
      printData -
    • getPrintData

      public PrintData getPrintData()
      Get print data
      Returns:
      print data
    • setRowIndex

      public void setRowIndex(int row)
      Set row index
      Parameters:
      row -
    • getRowIndex

      public int getRowIndex()
      Get row index
      Returns:
      row index
    • setPageLogic

      public void setPageLogic(String displayLogic)
      Set page logic expression
      Parameters:
      displayLogic -
    • getPageLogic

      public String getPageLogic()
      Get page logic expression
      Returns:
      page logic expression