Class LayoutTable


  • public class LayoutTable
    extends java.lang.Object
    The table model for the content layout.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      protected static class  LayoutTable.OverlappedArea
      Represents an overlapped area of the cell element in the table.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected int nextCellId
      The unique index for each cell.
      protected org.eclipse.birt.report.model.elements.TableItem table
      The table element that the layout belongs to.
    • Constructor Summary

      Constructors 
      Constructor Description
      LayoutTable​(org.eclipse.birt.report.model.elements.TableItem table, org.eclipse.birt.report.model.core.Module module)
      Constructs a table with the given numbers of rows and columns.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void addOverlappedCell​(org.eclipse.birt.report.model.elements.Cell cell, LayoutSlot slot, int rowPosn, int colPosn, int rowSpanOffset, int colSpanOffset)
      Update an overlapped area of a cell element into the list.
      CellHandle getCell​(int rowPosn, int colPosn)
      Returns the cell at the given position.
      CellHandle getCell​(int slotId, int rowId, int colId)
      Return a cell element with the given poistion.
      CellHandle getCell​(int groupLevel, int slotId, int rowId, int colId)
      Return a cell element with the given poistion.
      int getColumnCount()
      Returns the column count in the table.
      int getColumnPos​(int groupLevel, int slotId, int rowId, org.eclipse.birt.report.model.elements.Cell cell)
      Return the column position for a given cell.
      int getColumnPos​(int slotId, int rowId, org.eclipse.birt.report.model.elements.Cell cell)
      Return the column position for a given cell.
      LayoutSlot getDetail()
      Returns the detail slot.
      LayoutSlot getFooter()
      Returns the footer slot.
      protected int getGroupCount()
      Returns the count of the group in the table.
      protected org.eclipse.birt.report.model.api.elements.table.LayoutGroupBand getGroupFooters()
      Returns the group footer slot.
      protected org.eclipse.birt.report.model.api.elements.table.LayoutGroupBand getGroupHeaders()
      Returns the group header slot.
      LayoutSlot getHeader()
      Returns the header slot.
      LayoutGroup getLayoutGroup​(int groupLevel)
      Returns the layout group with the given group level.
      LayoutSlot getLayoutSlot​(int slotId)
      Returns the slot with the given slot index.
      LayoutSlot getLayoutSlot​(int groupLevel, int slotId)
      Returns the slot with the given slot index and the group level.
      java.lang.String getLayoutString()
      Returns the string that shows the layout.
      protected org.eclipse.birt.report.model.core.Module getModule()
      Returns the module where the table element belongs to.
      protected int getNextCellId()
      Returns the next available cell index.
      RowHandle getRow​(int rowPosn)
      Return the row handle with the given row position.
      TableHandle getTable()
      Returns the handle of the table that the layout belongs to.
      protected boolean hasOverlappedArea()
      Checks whether the table has overlapped areas.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • nextCellId

        protected int nextCellId
        The unique index for each cell.
      • table

        protected org.eclipse.birt.report.model.elements.TableItem table
        The table element that the layout belongs to.
    • Constructor Detail

      • LayoutTable

        public LayoutTable​(org.eclipse.birt.report.model.elements.TableItem table,
                           org.eclipse.birt.report.model.core.Module module)
        Constructs a table with the given numbers of rows and columns.
        Parameters:
        table - the table element
        module - the module
    • Method Detail

      • getTable

        public TableHandle getTable()
        Returns the handle of the table that the layout belongs to.
        Returns:
        the table handle
      • getColumnCount

        public int getColumnCount()
        Returns the column count in the table.
        Returns:
        the column count in the table.
      • getCell

        public CellHandle getCell​(int slotId,
                                  int rowId,
                                  int colId)
        Return a cell element with the given poistion. Uses this method to find cells in Table Header, Detail and Footer slots.
        Parameters:
        slotId - the slot index,
        rowId - the 1-based row index
        colId - the 1-based column index
        Returns:
        the cell element. If no cell on the position, return null.
      • getCell

        public CellHandle getCell​(int groupLevel,
                                  int slotId,
                                  int rowId,
                                  int colId)
        Return a cell element with the given poistion. Uses this method to find cells in Table Header, Detail and Footer slots.
        Parameters:
        groupLevel - the 1-based group level
        slotId - the slot index,
        rowId - the 1-based row index
        colId - the 1-based column index
        Returns:
        the cell element. If no cell on the position, return null.
      • getRow

        public RowHandle getRow​(int rowPosn)
        Return the row handle with the given row position. The rowPosn is regardless of the slot.
        Parameters:
        rowPosn - the 1-based row position
        Returns:
        the row handle
      • getCell

        public CellHandle getCell​(int rowPosn,
                                  int colPosn)
        Returns the cell at the given position. The table is viewed as be constructed by a set of flattened rows. Each row has a set of cells. Please note that the return CellHandle is an element that occupies the given position in the layout rendering.

        For example, if a cell occupies the position (1, 1) and (1, 2), return CellHandles with parameters (1, 1) and (1, 2) are same.

        Parameters:
        rowPosn - the 1-based row position
        colPosn - the 1-based column position
        Returns:
        the cell handle at the given position
      • getColumnPos

        public int getColumnPos​(int slotId,
                                int rowId,
                                org.eclipse.birt.report.model.elements.Cell cell)
        Return the column position for a given cell. Uses this method to find cells in Table Header, Detail and Footer slots.
        Parameters:
        slotId - the index of the slot where the cell resides
        rowId - the 0-based row index
        cell - the cell element to find
        Returns:
        the 1-based column position
      • getColumnPos

        public int getColumnPos​(int groupLevel,
                                int slotId,
                                int rowId,
                                org.eclipse.birt.report.model.elements.Cell cell)
        Return the column position for a given cell. Uses this method to find cells in Group Header and Footer slots.
        Parameters:
        groupLevel - the group level
        slotId - the index of the slot where the cell resides
        rowId - the 0-based row index
        cell - the cell element to find
        Returns:
        the 1-based column position
      • getLayoutSlot

        public LayoutSlot getLayoutSlot​(int slotId)
        Returns the slot with the given slot index.
        Parameters:
        slotId - the slot index
        Returns:
        the layout slot.
      • getLayoutSlot

        public LayoutSlot getLayoutSlot​(int groupLevel,
                                        int slotId)
        Returns the slot with the given slot index and the group level.
        Parameters:
        groupLevel - the 1-based group level
        slotId - the slot index
        Returns:
        the layout slot.
      • getHeader

        public LayoutSlot getHeader()
        Returns the header slot.
        Returns:
        the header slot
      • getDetail

        public LayoutSlot getDetail()
        Returns the detail slot.
        Returns:
        the detail slot
      • getFooter

        public LayoutSlot getFooter()
        Returns the footer slot.
        Returns:
        the footer slot
      • getLayoutGroup

        public LayoutGroup getLayoutGroup​(int groupLevel)
        Returns the layout group with the given group level.
        Parameters:
        groupLevel - the 1-based group level
        Returns:
        the layout group
      • getGroupCount

        protected int getGroupCount()
        Returns the count of the group in the table.
        Returns:
        the count of the group
      • getGroupHeaders

        protected org.eclipse.birt.report.model.api.elements.table.LayoutGroupBand getGroupHeaders()
        Returns the group header slot.
        Returns:
        the group header slot
      • getGroupFooters

        protected org.eclipse.birt.report.model.api.elements.table.LayoutGroupBand getGroupFooters()
        Returns the group footer slot.
        Returns:
        the group footer slot
      • getLayoutString

        public java.lang.String getLayoutString()
        Returns the string that shows the layout. Mainly for the debug.
        Returns:
        the string that shows the layout
      • getNextCellId

        protected int getNextCellId()
        Returns the next available cell index.
        Returns:
        the next available cell index.
      • getModule

        protected org.eclipse.birt.report.model.core.Module getModule()
        Returns the module where the table element belongs to.
        Returns:
        the module
      • addOverlappedCell

        protected void addOverlappedCell​(org.eclipse.birt.report.model.elements.Cell cell,
                                         LayoutSlot slot,
                                         int rowPosn,
                                         int colPosn,
                                         int rowSpanOffset,
                                         int colSpanOffset)
        Update an overlapped area of a cell element into the list. The overlapped area is the area occupied by a LayoutCell.
        Parameters:
        cell - the cell element
        slot - the layout slot where the cell resides
        rowPosn - the 1-based row position in the slost
        colPosn - the 1-based column position in the slost
        rowSpanOffset - the row span offset of the overlapped area
        colSpanOffset - the column span offset of the overlapped area
      • hasOverlappedArea

        protected boolean hasOverlappedArea()
        Checks whether the table has overlapped areas.
        Returns:
        true if not have. Otherwise false.