Package com.reportmill.shape
Class RMTable
- java.lang.Object
-
- com.reportmill.base.RMObject
-
- com.reportmill.shape.RMShape
-
- com.reportmill.shape.RMSplitShape
-
- com.reportmill.shape.RMTable
-
- All Implemented Interfaces:
RMArchiver.Archiving
,java.lang.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 Summary
Fields Modifier and Type Field Description static int
DetailsPart
static int
HeaderPart
static int
SummaryPart
-
Fields inherited from class com.reportmill.shape.RMShape
WRAP_TYPE_BOTH, WRAP_TYPE_NONE
-
-
Constructor Summary
Constructors Constructor Description RMTable()
Creates a plain table.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RMTableRow
addDetails(java.lang.String aKey)
Adds a details row for the given grouping key.void
addGrouping(RMGrouping aGrouping, int anIndex, RMShape aHeader, RMShape aDetails, RMShape aSummary)
Adds a given grouping to the table at the givein grouping index.void
addGroupingKey(java.lang.String aKey)
Adds a grouping to the table for the given key string.void
addGroupingKey(java.lang.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.RMTableRow
addHeader(java.lang.String aKey)
Adds a header row for the given grouping key.RMTableRow
addSummary(java.lang.String aKey)
Adds a summary row for the given grouping key.java.lang.Object
clone()
Standard clone implementation.void
copy(java.lang.Object anObj)
Standard copy implementation.boolean
equals(java.lang.Object anObj)
Standard equals implementation.java.lang.Object
fromXML(RXArchiver anArchiver, RXElement anElement)
XML unarchival.void
fromXMLDeep(RXArchiver anArchiver, RXElement anElement)
XML unarchival for shape childrenfloat
getColumnSpacing()
Returns the space between a table that has more than one column (int printer points).java.lang.String
getFilterKey()
Returns the optional key chain (expression) used to limit the table list derived from list key.RMGrouper
getGrouper()
Returns the grouper associated with the table.RMGrouping
getGrouping(int anIndex)
Returns the individual grouping at the given index.RMGrouping
getGrouping(java.lang.String aKey)
Returns the individual grouping that has the same key as the one given.int
getGroupingCount()
Returns the number of groups in this table.java.lang.String
getListKey()
Returns the list key associated with the table.int
getNumberOfColumns()
Returns the number of columns that this table should be repeated over on the same page before paginating.int
getPageBreakGroupIndex()
Returns the index of the grouping in the grouper at which an explicit.java.lang.Boolean
getPaginate()
Returns whether the table is supposed to be paginated.RMTableRow
getRow(int anIndex)
Returns the specific table row at the given index.RMGrouping
getSelectedGrouping()
Returns the currently selected grouping (while editing only).int
getSelectedGroupingIndex()
Returns the currently selected grouping's index (for editing, mostly).RMSort
getSelectedSort()
Returns the currently selected grouping's sort (while editing only).int
getSelectedSortIndex()
Returns the currently selected grouping's currently selected sort (for editing, mostly).boolean
getStartingPageBreak()
Returns whether this table should always start on a new page (if in table group).void
grouperWillChange()
Called whenever grouper will be changed to handle undo.java.lang.Object
initWithArchiver(RMArchiver anArchiver)
Legacy unarchival.void
moveGrouping(int index1, int index2)
Moves the grouping at the first index so that it resides at the second index.RMTableRow
removeDetails(java.lang.String aKey)
Removes the details row for the given grouping key.void
removeGrouping(RMGrouping aGrouping)
Removes the given grouping.RMTableRow
removeHeader(java.lang.String aKey)
Removes the header row for the given grouping key.RMTableRow
removeSummary(java.lang.String aKey)
Removes the details row for the given grouping key.RMShape
rpgClone(ReportMill aReportMill)
Report generation method.void
rpgClonePreprocess(ReportMill aReportMill)
Report generation method.void
setColumnSpacing(float aValue)
Sets the space between a table that has more than one column (int printer points).void
setFilterKey(java.lang.String aKeyExpr)
Returns the optional key chain (expression) used to limit the table list derived from list key.void
setListKey(java.lang.String aKeyPath)
Sets the list key associated with the table.void
setNumberOfColumns(int aValue)
Sets the number of columns that this table should be repeated over on the same page before paginating.void
setPageBreakGroupIndex(int aValue)
Returns the index of the grouping in the grouper at which an explicit.void
setPaginate(java.lang.Boolean aValue)
Sets whether the table is supposed to be paginated.void
setSelectedGroupingIndex(int anIndex)
Sets the currently selected grouping by index (for editing, mostly).void
setSelectedSortIndex(int anIndex)
Sets the currently selected grouping's currently selected sort (for editing, mostly).RMTableRow
setShowGroupPart(int part, int index, boolean add)
Adds or removes header/details/summary row for a givein grouping index.RMTableRow
setShowGroupPart(int part, java.lang.String aKey, boolean add)
Adds or removes header/detail/summary rows for a given grouping key.void
setStartingPageBreak(boolean aFlag)
Sets whether this table should always start on a new page (if in table group).java.lang.String
toString()
Standard to string implementation (prints class name and shape bounds).RXElement
toXML(RXArchiver anArchiver)
XML archival.-
Methods inherited from class com.reportmill.shape.RMSplitShape
addChild, addChildWithTitle, arrangeChildren, canBeUngrouped, childrenSuperSelectImmediately, getChildWithTitle, getResizeBarAtPoint, getResizeBarBounds, getTitleForChild, removeChild, setHeightDeep, setWidthDeep, superSelectable
-
Methods inherited from class com.reportmill.shape.RMShape
acceptsChildren, acceptsDragKeys, acceptsFormat, acceptsMouse, addChild, addChildBelowLastChild, bounds, boundsChanged, boundsChanged, bringShapesToFront, cloneDeep, contains, convertedPointFromShape, convertedPointToShape, convertedRectFromShape, convertedRectToShape, convertedSizeFromShape, convertedSizeToShape, convertedVectorFromShape, convertedVectorToShape, convertFromShape, convertPathFromShape, convertPathToShape, convertPointFromShape, convertPointToShape, convertRectFromShape, convertRectToShape, convertSizeFromShape, convertSizeToShape, convertToShape, convertVectorFromShape, convertVectorToShape, copyShape, delete, didChange, divideShapeFromEdge, divideShapeFromTop, dragExit, dragKeyAtPoint, dropKeyAtPoint, get, getActionScript, getAnim, getAnim, getAnimator, getAnimator, getAutosizeHeight, getAutosizing, getBounds, getBoundsInside, getBoundsMarked, getBoundsOfChildren, getBoundsOfChildren, getBoundsSuperSelected, getCausesWrap, getCausesWrapType, getChild, getChildAnimator, getChildAnimator, getChildContaining, getChildCount, getChildLast, getChildren, getChildrenIntersecting, getChildrenWhoCauseWrap, getChildrenWhoDraw, getChildrenWhoHitTest, getChildSortedByX, getChildWithClass, getChildWithName, getColor, getCommonAncestor, getDocument, getFill, getFill, getFill, getFillCount, getFills, getFont, getFormat, getFrame, getFrame, getFrameMaxX, getFrameMaxY, getFrameX, getFrameXY, getFrameY, getGroupShape, getHeight, getHeightToFit, getImageFill, getLineWidth, getListKeyDeep, getListKeyShape, getMaxX, getMaxY, getName, getOpacity, getOpacityDeep, getOutline, getPageCount, getPageShape, getParent, getParentCount, getParents, getPath, getPathInBounds, getPropertyKey, getPropertyKeyCount, getPropertyKeyName, getRoll, getRootShape, getScaleX, getScaleY, getShapesToAncestor, getShapesToDescendant, getShapesToShape, getSize, getSizeP, getSkewX, getSkewY, getStroke, getStrokeColor, getTextColor, getToolClassName, getTransform, getTransformFromShape, getTransformInverse, getTransformToShape, getUndoer, getUrl, getWidth, getWidthToFit, getX, getXY, getXYP, getY, groupShapes, hasPageBreaks, height, indexOf, indexOf, intersects, isAncestor, isDescendant, isLocked, isRoot, isUnderlined, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, notRSS, offsetChildrenXY, offsetXY, page, pageBreakMax, pageBreakPageMax, pageMax, put, putPropertyKey, reclaimChildren, removeChild, removeChildren, removeChildren, removeFromParent, resolvePageReferences, rpgCloneBase, rpgCloneChildren, rpgCloneConclude, rpgCloneNotification, rpgClonePrepare, rpgCloneUrl, sendShapesToBack, setActionScript, setAnim, setAutosizeHeight, setAutosizing, setBounds, setBounds, setCausesWrapType, setChildren, setColor, setFill, setFont, setFormat, setFrame, setFrame, setFrameSize, setFrameX, setFrameXY, setFrameXY, setFrameY, setHeight, setHeightDeep, setHeightToFit, setLineWidth, setLocked, setName, setNeedsRepaint, setNeedsRepaint, setOpacity, setOutline, setParent, setRoll, setScaleX, setScaleXY, setScaleY, setSize, setSize, setSizeDeep, setSizeP, setSizeToFit, setSizeToFit, setSkewX, setSkewXY, setSkewY, setStroke, setStrokeColor, setTextColor, setTime, setUnderlined, setUrl, setWidth, setWidthDeep, setWidthToFit, setX, setXY, setXY, setXYP, setY, sizesToFitChildren, undoClone, undoCopy, undoEquals, undoerAddDirtyObject, undoerDisable, undoerEnable, undoerSetUndoTitle, width, willChange, willChange, x, y
-
Methods inherited from class com.reportmill.base.RMObject
didUndo, getAnimAttribute, getClassNameShort
-
-
-
-
Field Detail
-
HeaderPart
public static final int HeaderPart
- See Also:
- Constant Field Values
-
DetailsPart
public static final int DetailsPart
- See Also:
- Constant Field Values
-
SummaryPart
public static final int SummaryPart
- See Also:
- Constant Field Values
-
-
Method Detail
-
getListKey
public java.lang.String getListKey()
Returns the list key associated with the table.- Overrides:
getListKey
in classRMShape
-
setListKey
public void setListKey(java.lang.String aKeyPath)
Sets the list key associated with the table.- Overrides:
setListKey
in classRMShape
-
getFilterKey
public java.lang.String getFilterKey()
Returns the optional key chain (expression) used to limit the table list derived from list key.
-
setFilterKey
public void setFilterKey(java.lang.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 java.lang.Boolean getPaginate()
Returns whether the table is supposed to be paginated.
-
setPaginate
public void setPaginate(java.lang.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(java.lang.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(java.lang.String aKey)
Adds a grouping to the table for the given key string.
-
addGroupingKey
public void addGroupingKey(java.lang.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(java.lang.String aKey)
Adds a header row for the given grouping key.
-
removeHeader
public RMTableRow removeHeader(java.lang.String aKey)
Removes the header row for the given grouping key.
-
addDetails
public RMTableRow addDetails(java.lang.String aKey)
Adds a details row for the given grouping key.
-
removeDetails
public RMTableRow removeDetails(java.lang.String aKey)
Removes the details row for the given grouping key.
-
addSummary
public RMTableRow addSummary(java.lang.String aKey)
Adds a summary row for the given grouping key.
-
removeSummary
public RMTableRow removeSummary(java.lang.String aKey)
Removes the details row for the given grouping key.
-
setShowGroupPart
public RMTableRow setShowGroupPart(int part, java.lang.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 classRMShape
-
rpgClone
public RMShape rpgClone(ReportMill aReportMill)
Report generation method.
-
equals
public boolean equals(java.lang.Object anObj)
Standard equals implementation.
-
clone
public java.lang.Object clone()
Standard clone implementation.- Overrides:
clone
in classRMSplitShape
-
copy
public void copy(java.lang.Object anObj)
Standard copy implementation.
-
initWithArchiver
public java.lang.Object initWithArchiver(RMArchiver anArchiver)
Legacy unarchival.- Specified by:
initWithArchiver
in interfaceRMArchiver.Archiving
- Overrides:
initWithArchiver
in classRMSplitShape
-
toXML
public RXElement toXML(RXArchiver anArchiver)
XML archival.
-
fromXML
public java.lang.Object fromXML(RXArchiver anArchiver, RXElement anElement)
XML unarchival.
-
fromXMLDeep
public void fromXMLDeep(RXArchiver anArchiver, RXElement anElement)
XML unarchival for shape children- Overrides:
fromXMLDeep
in classRMShape
-
-