org.eclipse.birt.report.model.api.elements.table
Class LayoutTable

java.lang.Object
  extended by org.eclipse.birt.report.model.api.elements.table.LayoutTable

public class LayoutTable
extends java.lang.Object

The table model for the content layout.


Nested Class Summary
protected  class LayoutTable.OverlappedArea
          Represents an overlapped area of the cell element in the table.
 
Field Summary
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
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
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 slotId, int rowId, org.eclipse.birt.report.model.elements.Cell cell)
          Return the column position for a given cell.
 int getColumnPos(int groupLevel, 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.


Copyright © 2008 Actuate Corp. All rights reserved.