Class RMTableGroup

  • All Implemented Interfaces:
    RMArchiver.Archiving, java.lang.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 Detail

      • RMTableGroup

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

      • 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 java.util.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 java.util.List getChildTables()
        Returns the list of top level tables for this table group.
      • getChildTableCount

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

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

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

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

        public java.lang.String getListKey()
        Returns the complete list key for the current main table (pre-pending list keys of parents).
        Overrides:
        getListKey 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,
                                          java.lang.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.
      • clone

        public java.lang.Object clone()
        Standard clone implementation.
        Overrides:
        clone 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