Class RMTable

All Implemented Interfaces:
RMArchiver.Archiving, Cloneable

public class RMTable extends RMSplitShape
This RMShape subclass provides functionality to graphically represent a list of data in a ReportMill report. It also supports data manipulation such as grouping and sorting.
  • Field Details

  • Constructor Details

    • RMTable

      public RMTable()
      Creates a plain table.
  • Method Details

    • getListKey

      public String getListKey()
      Returns the list key associated with the table.
      Overrides:
      getListKey in class RMShape
    • setListKey

      public void setListKey(String aKeyPath)
      Sets the list key associated with the table.
      Overrides:
      setListKey in class RMShape
    • getFilterKey

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

      public void setFilterKey(String aKeyExpr)
      Returns the optional key chain (expression) used to limit the table list derived from list key.
    • getGrouper

      public RMGrouper getGrouper()
      Returns the grouper associated with the table.
    • getPaginate

      public Boolean getPaginate()
      Returns whether the table is supposed to be paginated.
    • setPaginate

      public void setPaginate(Boolean aValue)
      Sets whether the table is supposed to be paginated.
    • getPageBreakGroupIndex

      public int getPageBreakGroupIndex()
      Returns the index of the grouping in the grouper at which an explicit.
    • setPageBreakGroupIndex

      public void setPageBreakGroupIndex(int aValue)
      Returns the index of the grouping in the grouper at which an explicit.
    • getStartingPageBreak

      public boolean getStartingPageBreak()
      Returns whether this table should always start on a new page (if in table group).
    • setStartingPageBreak

      public void setStartingPageBreak(boolean aFlag)
      Sets whether this table should always start on a new page (if in table group).
    • getNumberOfColumns

      public int getNumberOfColumns()
      Returns the number of columns that this table should be repeated over on the same page before paginating.
    • setNumberOfColumns

      public void setNumberOfColumns(int aValue)
      Sets the number of columns that this table should be repeated over on the same page before paginating.
    • getColumnSpacing

      public float getColumnSpacing()
      Returns the space between a table that has more than one column (int printer points).
    • setColumnSpacing

      public void setColumnSpacing(float aValue)
      Sets the space between a table that has more than one column (int printer points).
    • getGroupingCount

      public int getGroupingCount()
      Returns the number of groups in this table.
    • getGrouping

      public RMGrouping getGrouping(int anIndex)
      Returns the individual grouping at the given index.
    • getGrouping

      public RMGrouping getGrouping(String aKey)
      Returns the individual grouping that has the same key as the one given.
    • getSelectedGrouping

      public RMGrouping getSelectedGrouping()
      Returns the currently selected grouping (while editing only).
    • getSelectedSort

      public RMSort getSelectedSort()
      Returns the currently selected grouping's sort (while editing only).
    • addGroupingKey

      public void addGroupingKey(String aKey)
      Adds a grouping to the table for the given key string.
    • addGroupingKey

      public void addGroupingKey(String aKey, int anIndex, RMShape aHeader, RMShape aDetails, RMShape aSummary)
      Adds a grouping to the table for the given key string at the given grouping index. You can also supply specific table rows for headers, details and/or summary.
    • addGrouping

      public void addGrouping(RMGrouping aGrouping, int anIndex, RMShape aHeader, RMShape aDetails, RMShape aSummary)
      Adds a given grouping to the table at the givein grouping index. You can also supply specific table rows for headers, details and/or summary.
    • removeGrouping

      public void removeGrouping(RMGrouping aGrouping)
      Removes the given grouping.
    • moveGrouping

      public void moveGrouping(int index1, int index2)
      Moves the grouping at the first index so that it resides at the second index.
    • getRow

      public RMTableRow getRow(int anIndex)
      Returns the specific table row at the given index.
    • addHeader

      public RMTableRow addHeader(String aKey)
      Adds a header row for the given grouping key.
    • removeHeader

      public RMTableRow removeHeader(String aKey)
      Removes the header row for the given grouping key.
    • addDetails

      public RMTableRow addDetails(String aKey)
      Adds a details row for the given grouping key.
    • removeDetails

      public RMTableRow removeDetails(String aKey)
      Removes the details row for the given grouping key.
    • addSummary

      public RMTableRow addSummary(String aKey)
      Adds a summary row for the given grouping key.
    • removeSummary

      public RMTableRow removeSummary(String aKey)
      Removes the details row for the given grouping key.
    • setShowGroupPart

      public RMTableRow setShowGroupPart(int part, String aKey, boolean add)
      Adds or removes header/detail/summary rows for a given grouping key.
    • setShowGroupPart

      public RMTableRow setShowGroupPart(int part, int index, boolean add)
      Adds or removes header/details/summary row for a givein grouping index.
    • grouperWillChange

      public void grouperWillChange()
      Called whenever grouper will be changed to handle undo.
    • getSelectedGroupingIndex

      public int getSelectedGroupingIndex()
      Returns the currently selected grouping's index (for editing, mostly).
    • setSelectedGroupingIndex

      public void setSelectedGroupingIndex(int anIndex)
      Sets the currently selected grouping by index (for editing, mostly).
    • getSelectedSortIndex

      public int getSelectedSortIndex()
      Returns the currently selected grouping's currently selected sort (for editing, mostly).
    • setSelectedSortIndex

      public void setSelectedSortIndex(int anIndex)
      Sets the currently selected grouping's currently selected sort (for editing, mostly).
    • 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
    • equals

      public boolean equals(Object anObj)
      Standard equals implementation.
      Overrides:
      equals in class RMShape
    • clone

      public Object clone()
      Standard clone implementation.
      Overrides:
      clone in class RMSplitShape
    • copy

      public void copy(Object anObj)
      Standard copy implementation.
      Overrides:
      copy in class RMShape
    • initWithArchiver

      public Object initWithArchiver(RMArchiver anArchiver)
      Legacy unarchival.
      Specified by:
      initWithArchiver in interface RMArchiver.Archiving
      Overrides:
      initWithArchiver in class RMSplitShape
    • 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
    • fromXMLDeep

      public void fromXMLDeep(RXArchiver anArchiver, RXElement anElement)
      XML unarchival for shape children
      Overrides:
      fromXMLDeep in class RMShape
    • toString

      public String toString()
      Standard to string implementation (prints class name and shape bounds).
      Overrides:
      toString in class RMShape