Package com.reportmill.shape
Class RMCrossTab
- java.lang.Object
-
- com.reportmill.base.RMObject
-
- com.reportmill.shape.RMShape
-
- com.reportmill.shape.RMCrossTab
-
- All Implemented Interfaces:
RMArchiver.Archiving
,java.lang.Cloneable
public class RMCrossTab extends RMShape
This class represents a groupable data matrix (or crosstab).
-
-
Field Summary
Fields Modifier and Type Field Description java.lang.String
_dragKey
static byte
COLUMN
static byte
OVERFLOW_FIT
static byte
OVERFLOW_PAGINATE
static byte
REMOVE
static byte
ROW
-
Fields inherited from class com.reportmill.shape.RMShape
WRAP_TYPE_BOTH, WRAP_TYPE_NONE
-
-
Constructor Summary
Constructors Constructor Description RMCrossTab()
Creates a plain crosstab.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
acceptsChildren()
Editor method - specifies that crosstab can't accept children.boolean
acceptsDragKeys()
Editor method - specifies that crosstab accepts drag keys.void
addGroupingForKey(java.lang.String aKey, int i)
Adds a grouping for the given key at the given grouping index.void
addGroupingForKey(java.lang.String aKey, int anIndex, int aType)
Adds a grouping for the given key at the given grouping index.void
addGroupingForKeyAtPoint(java.lang.String aKey, RMPoint aPoint)
Adds a grouping for the given key at the given point.boolean
canBeUngrouped()
Editor method - specifies that crosstab can't be ungrouped.boolean
childrenSuperSelectImmediately()
Editor method - specifies that crosstab's children super select immediately.void
dragExit()
Drag and drop: tells crosstab that key exited crosstab.void
dragKeyAtPoint(java.lang.String aString, RMPoint aPoint)
Drag and drop: tells crosstab that key is being dragged at point.void
dropKeyAtPoint(java.lang.String aString, RMPoint aPoint)
Drag and drop: tells crosstab that key was dropped at point.boolean
equals(java.lang.Object anObj)
Standard equals implementation.java.lang.Object
fromXML(RXArchiver anArchiver, RXElement anElement)
XML unarchival.int
getColumnGroupingIndex()
Returns the grouping index that crosstab's columns start with.RMGrouper
getGrouper()
Returns the grouper associated with this crosstab.RMGrouping
getGrouping(int anIndex)
Returns the crosstab grouping at the given index.int
getGroupingCount()
Returns the number of groups associated with this crosstab.RMGrouping
getGroupingLast()
Returns the last crosstab grouping.java.lang.String
getListKey()
Returns the list key associated with this crosstab.int
getOverflowBehavior()
Returns the overflow behavior of the crosstab.int
getPageBreakGroupIndex()
Returns the grouping index that crosstab page breaks on.RMGrouping
getSelectedGrouping()
Returns the selected crosstab grouping (when editing).int
getSelectedGroupingIndex()
Returns currently selected grouping index.RMSort
getSelectedSort()
Returns the selected sort for the selected crosstab grouping.int
getSelectedSortIndex()
Returns currently selected sort index.int
groupingButtonIndexAtPoint(RMPoint aPoint)
Returns the grouping index for the button at the given point.RMRect
groupingButtonRect(int anIndex)
Returns the bounds rect for the grouping button at the given index.java.lang.Object
initWithArchiver(RMArchiver anArchiver)
Legacy unarchival.void
moveGrouping(int si, int di)
Moves a grouping from the first index to the second index.void
moveGrouping(int sourceIndex, int destIndex, int destType)
Moves a grouping from the first index to the second index.void
removeGrouping(int anIndex)
Removes the grouping at the given index.void
removeGrouping(RMGrouping aGrouping)
Removes the given grouping.RMShape
rpgClone(ReportMill aReportMill)
RPG clone method actually returns page index specified by aReportMill (generated in preprocess).void
rpgClonePreprocess(ReportMill reportMill)
RPG clone actually happens in preprocess step, so we know how many pages it generates.void
setColumnGroupingIndex(int anIndex)
Sets the grouping index that crosstab's columns start with.void
setListKey(java.lang.String aKeyPath)
Sets the list key associated with this crosstab.void
setOverflowBehavior(int aValue)
Sets the overflow behavior of the crosstab.void
setPageBreakGroupIndex(int anIndex)
Sets the grouping index that crosstab page breaks on.void
setSelectedGroupingIndex(int anIndex)
Sets the currently selected grouping index.void
setSelectedSortIndex(int anIndex)
Sets the currently selected sort index.boolean
superSelectable()
Editor method - specifies that crosstab is super-selectable.RXElement
toXML(RXArchiver anArchiver)
XML archival.-
Methods inherited from class com.reportmill.shape.RMShape
acceptsFormat, acceptsMouse, addChild, addChild, addChildBelowLastChild, bounds, boundsChanged, boundsChanged, bringShapesToFront, 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, 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, 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, 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, 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, setWidthDeep, setWidthToFit, setX, setXY, setXY, setXYP, setY, sizesToFitChildren, toString, 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
-
_dragKey
public java.lang.String _dragKey
-
OVERFLOW_PAGINATE
public static final byte OVERFLOW_PAGINATE
- See Also:
- Constant Field Values
-
OVERFLOW_FIT
public static final byte OVERFLOW_FIT
- See Also:
- Constant Field Values
-
ROW
public static final byte ROW
- See Also:
- Constant Field Values
-
COLUMN
public static final byte COLUMN
- See Also:
- Constant Field Values
-
REMOVE
public static final byte REMOVE
- See Also:
- Constant Field Values
-
-
Method Detail
-
getListKey
public java.lang.String getListKey()
Returns the list key associated with this crosstab.- Overrides:
getListKey
in classRMShape
-
setListKey
public void setListKey(java.lang.String aKeyPath)
Sets the list key associated with this crosstab.- Overrides:
setListKey
in classRMShape
-
getGrouper
public RMGrouper getGrouper()
Returns the grouper associated with this crosstab.
-
getGroupingCount
public int getGroupingCount()
Returns the number of groups associated with this crosstab.
-
getGrouping
public RMGrouping getGrouping(int anIndex)
Returns the crosstab grouping at the given index.
-
getGroupingLast
public RMGrouping getGroupingLast()
Returns the last crosstab grouping.
-
getSelectedGrouping
public RMGrouping getSelectedGrouping()
Returns the selected crosstab grouping (when editing).
-
getSelectedSort
public RMSort getSelectedSort()
Returns the selected sort for the selected crosstab grouping.
-
getColumnGroupingIndex
public int getColumnGroupingIndex()
Returns the grouping index that crosstab's columns start with.
-
setColumnGroupingIndex
public void setColumnGroupingIndex(int anIndex)
Sets the grouping index that crosstab's columns start with.
-
getPageBreakGroupIndex
public int getPageBreakGroupIndex()
Returns the grouping index that crosstab page breaks on.
-
setPageBreakGroupIndex
public void setPageBreakGroupIndex(int anIndex)
Sets the grouping index that crosstab page breaks on.
-
getOverflowBehavior
public int getOverflowBehavior()
Returns the overflow behavior of the crosstab.
-
setOverflowBehavior
public void setOverflowBehavior(int aValue)
Sets the overflow behavior of the crosstab.
-
getSelectedGroupingIndex
public int getSelectedGroupingIndex()
Returns currently selected grouping index.
-
setSelectedGroupingIndex
public void setSelectedGroupingIndex(int anIndex)
Sets the currently selected grouping index.
-
getSelectedSortIndex
public int getSelectedSortIndex()
Returns currently selected sort index.
-
setSelectedSortIndex
public void setSelectedSortIndex(int anIndex)
Sets the currently selected sort index.
-
groupingButtonRect
public RMRect groupingButtonRect(int anIndex)
Returns the bounds rect for the grouping button at the given index.
-
groupingButtonIndexAtPoint
public int groupingButtonIndexAtPoint(RMPoint aPoint)
Returns the grouping index for the button at the given point.
-
addGroupingForKey
public void addGroupingForKey(java.lang.String aKey, int i)
Adds a grouping for the given key at the given grouping index.
-
addGroupingForKey
public void addGroupingForKey(java.lang.String aKey, int anIndex, int aType)
Adds a grouping for the given key at the given grouping index.
-
moveGrouping
public void moveGrouping(int si, int di)
Moves a grouping from the first index to the second index.
-
moveGrouping
public void moveGrouping(int sourceIndex, int destIndex, int destType)
Moves a grouping from the first index to the second index.
-
removeGrouping
public void removeGrouping(RMGrouping aGrouping)
Removes the given grouping.
-
removeGrouping
public void removeGrouping(int anIndex)
Removes the grouping at the given index.
-
dragKeyAtPoint
public void dragKeyAtPoint(java.lang.String aString, RMPoint aPoint)
Drag and drop: tells crosstab that key is being dragged at point.- Overrides:
dragKeyAtPoint
in classRMShape
-
dropKeyAtPoint
public void dropKeyAtPoint(java.lang.String aString, RMPoint aPoint)
Drag and drop: tells crosstab that key was dropped at point.- Overrides:
dropKeyAtPoint
in classRMShape
-
dragExit
public void dragExit()
Drag and drop: tells crosstab that key exited crosstab.
-
addGroupingForKeyAtPoint
public void addGroupingForKeyAtPoint(java.lang.String aKey, RMPoint aPoint)
Adds a grouping for the given key at the given point.
-
rpgClonePreprocess
public void rpgClonePreprocess(ReportMill reportMill)
RPG clone actually happens in preprocess step, so we know how many pages it generates.- Overrides:
rpgClonePreprocess
in classRMShape
-
rpgClone
public RMShape rpgClone(ReportMill aReportMill)
RPG clone method actually returns page index specified by aReportMill (generated in preprocess).
-
superSelectable
public boolean superSelectable()
Editor method - specifies that crosstab is super-selectable.- Overrides:
superSelectable
in classRMShape
-
childrenSuperSelectImmediately
public boolean childrenSuperSelectImmediately()
Editor method - specifies that crosstab's children super select immediately.- Overrides:
childrenSuperSelectImmediately
in classRMShape
-
canBeUngrouped
public boolean canBeUngrouped()
Editor method - specifies that crosstab can't be ungrouped.- Overrides:
canBeUngrouped
in classRMShape
-
acceptsChildren
public boolean acceptsChildren()
Editor method - specifies that crosstab can't accept children.- Overrides:
acceptsChildren
in classRMShape
-
acceptsDragKeys
public boolean acceptsDragKeys()
Editor method - specifies that crosstab accepts drag keys.- Overrides:
acceptsDragKeys
in classRMShape
-
equals
public boolean equals(java.lang.Object anObj)
Standard equals implementation.
-
initWithArchiver
public java.lang.Object initWithArchiver(RMArchiver anArchiver)
Legacy unarchival.- Specified by:
initWithArchiver
in interfaceRMArchiver.Archiving
- Overrides:
initWithArchiver
in classRMShape
-
toXML
public RXElement toXML(RXArchiver anArchiver)
XML archival.
-
fromXML
public java.lang.Object fromXML(RXArchiver anArchiver, RXElement anElement)
XML unarchival.
-
-