Class RMCrossTab

All Implemented Interfaces:
Archivable, DeepChangeListener, RMPropertyChanger, RMTypes, RMShapeSelfInit, PropertyChangeListener, Cloneable, EventListener

public class RMCrossTab extends RMParentShape implements RMShapeSelfInit
Manages a table of RMCells, which is really a stack of RMCellRows.
  • Field Details

  • Constructor Details

    • RMCrossTab

      public RMCrossTab()
      Creates a new RMCrossTab.
  • Method Details

    • selfInit

      public void selfInit()
      Specified by:
      selfInit in interface RMShapeSelfInit
    • getDatasetKey

      public String getDatasetKey()
      Returns the dataset key.
      Overrides:
      getDatasetKey in class RMShape
    • setDatasetKey

      public void setDatasetKey(String aKey)
      Sets the dataset key.
    • getFilterKey

      public String getFilterKey()
      Returns the optional key chain expression string used to prune the table list derived from dataset key.
    • setFilterKey

      public void setFilterKey(String aKeyExpr)
      Sets the optional key chain expression string used to prune the table list derived from dataset key.
    • setFormatStyle

      public void setFormatStyle(int formatStyle)
    • getFormatStyle

      public int getFormatStyle()
    • getRowCount

      public int getRowCount()
      Returns the number of rows.
    • setRowCount

      public void setRowCount(int aRowCount)
      Sets the number of rows.
    • getRow

      public RMCrossTabRow getRow(int anIndex)
      Returns the specific row at the given index.
    • addRow

      public void addRow()
      Adds a row.
    • addRow

      public void addRow(int anIndex)
      Adds a row at given index.
    • addRow

      public void addRow(RMCrossTabRow aRow, int anIndex)
      Adds a row at the given index. If reference row index is provided, the referenced row object is copied for new row. If reference column index is provided, previous columns cells are merged, successive column cells are cloned.
    • removeRow

      public RMCrossTabRow removeRow(int anIndex)
      Removes the row at the given index.
    • getCol

      public RMCrossTabCol getCol(int anIndex)
      Returns the specific column at the given index.
    • addCol

      public void addCol()
      Adds a column.
    • addCol

      public void addCol(int anIndex)
      Adds a column.
    • addCol

      public void addCol(RMCrossTabCol aCol, int anIndex)
      Adds a column at the given index. If reference column index is provided, the referenced column object is copied for new column. If reference row index is provided, previous row cells are merged, successive row cells are cloned.
    • removeCol

      public RMCrossTabCol removeCol(int anIndex)
      Removes the column at the given index.
    • getRow

      public int getRow(double aY)
      Returns the specific row index for the given point.
    • getCol

      public int getCol(double anX)
      Returns the specific column index for the given point.
    • getCell

      public RMCrossTabCell getCell(int aRow, int aColumn)
      Returns the cell at the given row and column indexes.
    • setCell

      protected void setCell(RMCrossTabCell aCell, int aRow, int aCol, int aRowSpan, int aColSpan)
      Sets the cell at the given row and column indexes.
    • setDisplayRowCount

      public void setDisplayRowCount(int rows)
    • getDisplayRowCount

      public int getDisplayRowCount()
    • setDisplayColumnCount

      public void setDisplayColumnCount(int cols)
    • getDisplayColumnCount

      public int getDisplayColumnCount()
    • getHeaderRowCount

      public int getHeaderRowCount()
      Returns the number of header rows for table.
    • setHeaderRowCount

      public void setHeaderRowCount(int aCount)
      Sets the number of header rows for table.
    • getHeaderColumnCount

      public int getHeaderColumnCount()
      Returns the number header columns for table.
    • setHeaderColumnCount

      public void setHeaderColumnCount(int aCount)
      Sets the number header columns for table.
    • mergeCells

      public void mergeCells(int aRow1, int aCol1, int aRow2, int aCol2)
      Merges a range of cells into one cell.
    • splitCell

      public void splitCell(RMCrossTabCell aCell)
      Splits a cell.
    • layoutChildren

      protected void layoutChildren()
      Relays out table rows, columns and cells.
      Overrides:
      layoutChildren in class RMParentShape
    • getColumnCount

      public int getColumnCount()
      Returns the number of rows for this table.
    • setColumnCount

      public void setColumnCount(int aColumnCount)
      Sets the number of columns for this table.
    • rpgAll

      @Nonnull public RMShape rpgAll(ReportOwner anRptOwner, RMShape aParent)
      Sets a reportmill for this crosstab (which really gets the dataset and calls setObjects).
      Overrides:
      rpgAll in class RMParentShape
    • divideShapeFromTop

      @Nonnull public RMShape divideShapeFromTop(double anAmount)
      Divides the shape by a given amount from the top. Returns a clone of the given shape with bounds set to the remainder. Divides children among the two shapes (recursively calling divide shape for those straddling).
      Overrides:
      divideShapeFromTop in class RMParentShape
    • getPropertyNames

      protected void getPropertyNames(List<String> aList)
      Returns the property names for crosstab.
      Overrides:
      getPropertyNames in class RMShape
    • isDeletable

      public boolean isDeletable()
      Description copied from class: RMShape
      Override this for shapes (like a table row) that don't don't make sense to delete by themselves.
      Overrides:
      isDeletable in class RMShape
    • clone

      public RMCrossTab clone()
      Standard clone implementation.
      Overrides:
      clone in class RMParentShape
    • cloneDeep

      public RMCrossTab cloneDeep()
      Clone deep.
      Overrides:
      cloneDeep in class RMParentShape
    • toXMLShape

      protected RXElement toXMLShape(RXArchiver anArchiver)
      XML archival.
      Overrides:
      toXMLShape in class RMParentShape
    • applyFormatting

      public void applyFormatting(int styleIndex)
    • applyCellFormatting

      public void applyCellFormatting(RMCrossTabCell aSourceCell, RMCrossTabCell aDestCell)
      Copy all relevant cell formatting options from source to destination.
    • toXMLChildren

      protected void toXMLChildren(RXArchiver anArchiver, RXElement anElement)
      XML archival - override to suppress archival of children.
      Overrides:
      toXMLChildren in class RMParentShape
    • fromXMLShape

      protected void fromXMLShape(RXArchiver anArchiver, RXElement anElement)
      XML unarchival.
      Overrides:
      fromXMLShape in class RMParentShape