Class RMTableGroup

  • All Implemented Interfaces:
    Archivable, DeepChangeListener, RMPropertyChanger, RMTypes, java.beans.PropertyChangeListener, java.lang.Cloneable, java.util.EventListener

    public class RMTableGroup
    extends RMParentShape
    This class manages a hierarchy 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()
    • Method Detail

      • getMainTable

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

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

        @Nullable
        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. Returns -1 if not found
      • getPeerTables

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

        @Nullable
        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<RMTable> 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<RMTable> getChildTables​(java.lang.Object aTable)
        Returns the list of child tables for the given table.
      • getChildTables

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

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

        public void paintShapeOver​(RMShapePainter aPntr)
        Paints table group button after child table has been drawn.
        Overrides:
        paintShapeOver in class RMShape
      • getStrokeOnTop

        public boolean getStrokeOnTop()
        Override to paint table stroke on top.
        Overrides:
        getStrokeOnTop in class RMShape
      • layoutChildren

        protected void layoutChildren()
        Override to reset child in bounds.
        Overrides:
        layoutChildren in class RMParentShape
      • toXMLChildren

        protected void toXMLChildren​(RXArchiver anArchiver,
                                     RXElement anElement)
        XML archival - override to archive all child tables (not just visible one), recursively.
        Overrides:
        toXMLChildren in class RMParentShape
      • toXMLChildTables

        protected void toXMLChildTables​(RXArchiver anArchiver,
                                        RXElement anElement,
                                        RMTable aParentTable)
        XML archival to recursively archive table group hierarchy.
      • fromXMLChildTables

        protected void fromXMLChildTables​(RXArchiver anArchiver,
                                          RXElement anElement,
                                          RMTable aParentTable)
        XML archival to recursively unarchive table group hierarchy.
      • childrenSuperSelectImmediately

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