public class RMTableRPGX extends RMTableRPG
Whereas the superclass had the luxury of simple breadth first iteration over the group tree, this class must do a much more complicated depth transversal, so it can remove rows in the reverse order they were added.
WRAP_TYPE_BOTH, WRAP_TYPE_NONE
Constructor and Description |
---|
RMTableRPGX()
Creates an empty TableRPGX to be used as a container for a page of filled table rows.
|
RMTableRPGX(RMTableGroup aTableGroup,
RMTable aTable,
ReportMill aReportMill)
Creates a TableRPGX and starts the RPG process with the given TableGroup or Table.
|
Modifier and Type | Method and Description |
---|---|
boolean |
addDetails(RMGroup aGroup,
int stayWith)
In theory, this method just adds a details row for the given group and then hands off to addHeader for sub-group
addition.
|
boolean |
addHeader(RMGroup aGroup,
int stayWith)
In theory, this method just adds a header row for the given group and then hands off to addDetails for it's first
subgroup.
|
boolean |
addRow(RMTableRowRPG aRow)
Adds the given table row RPG to this table RPG (just below the last child).
|
boolean |
addSummary(RMGroup aGroup,
int detailIndex)
In theory, this method just adds a summary row for the given group and then hands off to addDetails for
aGroup's next peer.
|
void |
addTable(RMTable aTable)
This is a top level method to fill rows in the current page and kick off a new page if it ends prematurly.
|
boolean |
addTable(RMTable aTable,
RMGroup aSource,
int stayWith)
This method adds a given table (or sub-table) to the current page.
|
RMTableRowRPG |
splitRow(RMTableRowRPG aRow)
Splits the given row at the point that it overlaps its next neighbor or row bottom.
|
addGroup, addTable, getFilteredList, getHeightToFit, getNextPage, getNextPageX, getPage, getPageCount, getPageLast, getPageLastX, getPaginate, getTableRow, makeColumns, moveRowsToBottom, rpgClonePreprocess
acceptsChildren, acceptsDragKeys, acceptsFormat, acceptsMouse, addChild, addChild, addChildBelowLastChild, bounds, boundsChanged, boundsChanged, bringShapesToFront, canBeUngrouped, childrenSuperSelectImmediately, clone, cloneDeep, contains, convertedPointFromShape, convertedPointToShape, convertedRectFromShape, convertedRectToShape, convertedSizeFromShape, convertedSizeToShape, convertedVectorFromShape, convertedVectorToShape, convertFromShape, convertPathFromShape, convertPathToShape, convertPointFromShape, convertPointToShape, convertRectFromShape, convertRectToShape, convertSizeFromShape, convertSizeToShape, convertToShape, convertVectorFromShape, convertVectorToShape, copy, copyShape, delete, didChange, divideShapeFromEdge, divideShapeFromTop, dragExit, dragKeyAtPoint, dropKeyAtPoint, equals, fromXML, fromXMLDeep, 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, getImageFill, getLineWidth, getListKey, getListKeyDeep, getListKeyShape, getMaxX, getMaxY, getName, getOpacity, getOpacityDeep, getOutline, 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, initWithArchiver, intersects, isAncestor, isDescendant, isLocked, isRoot, isUnderlined, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, notRSS, offsetChildrenXY, offsetXY, page, pageBreakMax, pageBreakPageMax, pageMax, put, putPropertyKey, reclaimChildren, removeChild, removeChild, removeChildren, removeChildren, removeFromParent, resolvePageReferences, rpgClone, rpgCloneBase, rpgCloneChildren, rpgCloneConclude, rpgCloneNotification, rpgClonePrepare, rpgClonePreprocess, rpgCloneUrl, sendShapesToBack, setActionScript, setAnim, setAutosizeHeight, setAutosizing, setBounds, setBounds, setCausesWrapType, setChildren, setColor, setFill, setFont, setFormat, setFrame, setFrame, setFrameSize, setFrameX, setFrameXY, setFrameXY, setFrameY, setHeight, setHeightDeep, setHeightDeep, setHeightToFit, setLineWidth, setListKey, 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, setWidthDeep, setWidthToFit, setX, setXY, setXY, setXYP, setY, sizesToFitChildren, superSelectable, toString, toXML, undoClone, undoCopy, undoEquals, undoerAddDirtyObject, undoerDisable, undoerEnable, undoerSetUndoTitle, width, willChange, willChange, x, y
didUndo, getAnimAttribute, getClassNameShort
public RMTableRPGX()
public RMTableRPGX(RMTableGroup aTableGroup, RMTable aTable, ReportMill aReportMill)
public void addTable(RMTable aTable)
public boolean addTable(RMTable aTable, RMGroup aSource, int stayWith)
public boolean addHeader(RMGroup aGroup, int stayWith)
However, if the given group isEmpty, we simply progress to addSummary.
Additionally, if there is an existing _starupGroup, we print a "Reprint" header and we derive a specific subgroup for our addDetails hand off (the specific subgroup that is a parent of _startupGroup).
public boolean addDetails(RMGroup aGroup, int stayWith)
However, if aGroup isLeaf we try to either addTable for a child table (if present) or addDetails for the next details (if present) or addSummary for parent (if aGroup truly is the last of it's line).
Additionally, if we failed to add a child group, a child table or a next group, we check our stayWith constraints and either remove ourselves or try to addSummary(s) for running summaries.
One final wrinkle - we may actually only add a portion of the details row for this group. If that happens, we try to addSummary for upper groups (for running summaries).
public boolean addSummary(RMGroup aGroup, int detailIndex)
public boolean addRow(RMTableRowRPG aRow)
RMTableRPG
addRow
in class RMTableRPG
public RMTableRowRPG splitRow(RMTableRowRPG aRow)