Class RMTableGroup

All Implemented Interfaces:
RMArchiver.Archiving, Cloneable

public class RMTableGroup extends RMShape
This class manages a heirarchy of tables so that multiple tables can be configured to display in the same area of a given page. Each table will pick up exactly where the previous table ended.
  • Constructor Details

    • RMTableGroup

      public RMTableGroup()
      Creates a basic (empty) table group.
  • Method Details

    • getMainTable

      public RMTable getMainTable()
      Returns the currently selected table.
    • setMainTable

      public void setMainTable(RMTable aTable)
      Sets the currently selected table.
    • getParentTable

      public RMTable getParentTable(RMTable aTable)
      Returns the parent of the given table.
    • indexOf

      public int indexOf(RMTable aTable)
      Returns the index of the given table in its parent's child tables list.
    • getPeerTables

      public List getPeerTables(RMTable aTable)
      Returns the list of peer tables for a given table.
    • getPeerTablePrevious

      public RMTable getPeerTablePrevious(RMTable aTable)
      Returns the previous peer table of the given table.
    • getPeerTableNext

      public RMTable getPeerTableNext(RMTable aTable)
      Returns the next peer table of the given table.
    • getChildTableCount

      public int getChildTableCount()
      Returns the number of top level tables in this table group.
    • getChildTable

      public RMTable getChildTable(int anIndex)
      Returns the top level table at the given index for this table group.
    • getChildTables

      public List getChildTables()
      Returns the list of top level tables for this table group.
    • getChildTableCount

      public int getChildTableCount(Object aTable)
      Returns the number of child tables for the given parent table.
    • getChildTable

      public RMTable getChildTable(Object aTable, int anIndex)
      Returns the specific child table of the given table at the given index.
    • getChildTables

      public List getChildTables(Object aTable)
      Returns the list of child tables for the given table.
    • getChildTables

      public List getChildTables(Object aTable, boolean create)
      Returns the list of child tables for the given table, creating the list if requested.
    • getListKey

      public String getListKey()
      Returns the complete list key for the current main table (pre-pending list keys of parents).
      Overrides:
      getListKey in class RMShape
    • getListKeyShape

      public RMShape getListKeyShape()
      Returns the main table.
      Overrides:
      getListKeyShape in class RMShape
    • addPeerTable

      public void addPeerTable(RMTable aTable)
      Adds the given table to the main table's list of peers.
    • addPeerTable

      public void addPeerTable(RMTable aTable, RMTable afterThisTable)
      Adds the given table as a peer, and just after, the second given table.
    • addChildTable

      public void addChildTable(RMTable aTable)
      Adds the given table as a child to the main table.
    • addChildTable

      public void addChildTable(RMTable aTable, RMTable aParentTable)
      Adds the given table as a child of the given parent table.
    • addChildTable

      public void addChildTable(RMTable aTable, RMTable aParentTable, RMTable afterThisTable)
      Adds the given table table as a child of the parent table (after the third given table).
    • moveTable

      public void moveTable(RMTable aTable, int interval)
      This method moves a given table up or down in its peer list (used for Move Up & Move Down menus).
    • makeTableChildOfTable

      public void makeTableChildOfTable(RMTable aTable, Object newParent)
      This method moves a table to a new parent (used for Move In and Move Out menus).
    • removeTable

      public void removeTable(RMTable aTable)
      This method removes a table from the table group.
    • rpgClonePreprocess

      public void rpgClonePreprocess(ReportMill aReportMill)
      Report generation method.
      Overrides:
      rpgClonePreprocess in class RMShape
    • rpgClone

      public RMShape rpgClone(ReportMill aReportMill)
      Report generation method.
      Overrides:
      rpgClone in class RMShape
    • clone

      public Object clone()
      Standard clone implementation.
      Overrides:
      clone in class RMShape
    • initWithArchiver

      public Object initWithArchiver(RMArchiver anArchiver)
      Legacy unarchival.
      Specified by:
      initWithArchiver in interface RMArchiver.Archiving
      Overrides:
      initWithArchiver in class RMShape
    • toXML

      public RXElement toXML(RXArchiver anArchiver)
      XML archival.
      Overrides:
      toXML in class RMShape
    • fromXML

      public Object fromXML(RXArchiver anArchiver, RXElement anElement)
      XML unarchival.
      Overrides:
      fromXML in class RMShape
    • toXML

      public void toXML(RXArchiver anArchiver, RXElement anElement, RMTable aParentTable)
      XML archival to recursively archive table group hierarchy.
    • fromXML

      public void fromXML(RXArchiver anArchiver, RXElement anElement, RMTable aParentTable)
      XML archival to recursively unarchive table group hierarchy.
    • superSelectable

      public boolean superSelectable()
      Editor method - indicates that table group is super selectable.
      Overrides:
      superSelectable in class RMShape
    • childrenSuperSelectImmediately

      public boolean childrenSuperSelectImmediately()
      Edtior method - indicates that table group children (tables) super select immediately.
      Overrides:
      childrenSuperSelectImmediately in class RMShape
    • canBeUngrouped

      public boolean canBeUngrouped()
      Editor method - indicates that table group can't be ungrouped.
      Overrides:
      canBeUngrouped in class RMShape
    • acceptsChildren

      public boolean acceptsChildren()
      Editor method - inidcates that table group doesn't accept children.
      Overrides:
      acceptsChildren in class RMShape