Package com.inductiveautomation.rm.shape
Class RMCrossTab
- java.lang.Object
-
- com.inductiveautomation.rm.base.RMListenerList
-
- com.inductiveautomation.rm.base.RMObject
-
- com.inductiveautomation.rm.shape.RMShape
-
- com.inductiveautomation.rm.shape.RMParentShape
-
- com.inductiveautomation.rm.shape.RMCrossTab
-
- All Implemented Interfaces:
Archivable,DeepChangeListener,RMPropertyChanger,RMTypes,RMShapeSelfInit,java.beans.PropertyChangeListener,java.lang.Cloneable,java.util.EventListener
public class RMCrossTab extends RMParentShape implements RMShapeSelfInit
Manages a table of RMCells, which is really a stack of RMCellRows.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.inductiveautomation.rm.base.RMTypes
RMTypes.Align, RMTypes.AlignX, RMTypes.AlignY
-
-
Field Summary
Fields Modifier and Type Field Description static intCLASSIC1static intCLASSIC2static intCLASSIC3static intCLASSIC4static intDEFAULTstatic intDEFAULT_STYLEstatic intELEGANTstatic intGRID1static intGRID2static intGRID3static intGRID4static intGRID5static intGRID6static intGRID7static intGRID8static intLIST1static intLIST2static intLIST3static intLIST4static intLIST5static intLIST6static intNONEstatic intPROFESSIONALstatic intSIMPLE1static intSIMPLE2static intSIMPLE3-
Fields inherited from class com.inductiveautomation.rm.shape.RMShape
BINDING_PROP_NAME, STROKE_BORDER, STROKE_DOUBLE, STROKE_HIDDEN, STROKE_SHAPE
-
-
Constructor Summary
Constructors Constructor Description RMCrossTab()Creates a new RMCrossTab.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddCol()Adds a column.voidaddCol(int anIndex)Adds a column.voidaddCol(RMCrossTabCol aCol, int anIndex)Adds a column at the given index.voidaddRow()Adds a row.voidaddRow(int anIndex)Adds a row at given index.voidaddRow(RMCrossTabRow aRow, int anIndex)Adds a row at the given index.voidapplyCellFormatting(RMCrossTabCell aSourceCell, RMCrossTabCell aDestCell)Copy all relevant cell formatting options from source to destination.voidapplyFormatting(int styleIndex)RMCrossTabclone()Standard clone implementation.RMCrossTabcloneDeep()Clone deep.RMShapedivideShapeFromTop(double anAmount)Divides the shape by a given amount from the top.protected voidfromXMLShape(RXArchiver anArchiver, RXElement anElement)XML unarchival.RMCrossTabCellgetCell(int aRow, int aColumn)Returns the cell at the given row and column indexes.intgetCol(double anX)Returns the specific column index for the given point.RMCrossTabColgetCol(int anIndex)Returns the specific column at the given index.intgetColumnCount()Returns the number of rows for this table.java.lang.StringgetDatasetKey()Returns the dataset key.intgetDisplayColumnCount()intgetDisplayRowCount()java.lang.StringgetFilterKey()Returns the optional key chain expression string used to prune the table list derived from dataset key.intgetFormatStyle()intgetHeaderColumnCount()Returns the number header columns for table.intgetHeaderRowCount()Returns the number of header rows for table.protected voidgetPropertyNames(java.util.List<java.lang.String> aList)Returns the property names for crosstab.intgetRow(double aY)Returns the specific row index for the given point.RMCrossTabRowgetRow(int anIndex)Returns the specific row at the given index.intgetRowCount()Returns the number of rows.booleanisDeletable()Override this for shapes (like a table row) that don't don't make sense to delete by themselves.protected voidlayoutChildren()Relays out table rows, columns and cells.voidmergeCells(int aRow1, int aCol1, int aRow2, int aCol2)Merges a range of cells into one cell.RMCrossTabColremoveCol(int anIndex)Removes the column at the given index.RMCrossTabRowremoveRow(int anIndex)Removes the row at the given index.RMShaperpgAll(ReportOwner anRptOwner, RMShape aParent)Sets a reportmill for this crosstab (which really gets the dataset and calls setObjects).voidselfInit()protected voidsetCell(RMCrossTabCell aCell, int aRow, int aCol, int aRowSpan, int aColSpan)Sets the cell at the given row and column indexes.voidsetColumnCount(int aColumnCount)Sets the number of columns for this table.voidsetDatasetKey(java.lang.String aKey)Sets the dataset key.voidsetDisplayColumnCount(int cols)voidsetDisplayRowCount(int rows)voidsetFilterKey(java.lang.String aKeyExpr)Sets the optional key chain expression string used to prune the table list derived from dataset key.voidsetFormatStyle(int formatStyle)voidsetHeaderColumnCount(int aCount)Sets the number header columns for table.voidsetHeaderRowCount(int aCount)Sets the number of header rows for table.voidsetRowCount(int aRowCount)Sets the number of rows.voidsplitCell(RMCrossTabCell aCell)Splits a cell.protected voidtoXMLChildren(RXArchiver anArchiver, RXElement anElement)XML archival - override to suppress archival of children.protected RXElementtoXMLShape(RXArchiver anArchiver)XML archival.-
Methods inherited from class com.inductiveautomation.rm.shape.RMParentShape
addChild, addChild, addChild, addChild, addLayoutChild, bringShapesToFront, computePrefHeight, computePrefWidth, fromXML, fromXMLChildren, getBoundsOfChildren, getChild, getChildArray, getChildContaining, getChildCount, getChildLast, getChildren, getChildrenIntersecting, getChildrenWithClass, getChildrenWithClass, getChildWithClass, getChildWithName, getLayout, getNeedsLayout, getSourceURL, indexOfChild, isHittable, isShowing, isSourceURLSet, layout, relayout, removeChild, removeChild, removeChildren, removeLayoutChild, rpgChildren, sendShapesToBack, setHeight, setLayout, setNeedsLayout, setSourceURL, setWidth, toXML
-
Methods inherited from class com.inductiveautomation.rm.shape.RMShape
acceptsChildren, acceptsMouse, addBinding, addBinding, addDeepChangeListener, addMouseListener, animUpdate, bounds, childrenSuperSelectImmediately, contains, convertedPointFromShape, convertedPointToShape, convertedRectFromShape, convertedRectToShape, convertedVectorFromShape, convertedVectorToShape, convertFromShape, convertPathFromShape, convertPathToShape, convertPointFromShape, convertPointToShape, convertRectFromShape, convertRectToShape, convertToShape, convertVectorFromShape, convertVectorToShape, copyShape, createDivideShapeRemainder, deepChange, divideShapeFromEdge, get, get, getAlignment, getAlignmentX, getAlignmentY, getAncestor, getAncestorCount, getAncestorInCommon, getAnimator, getAnimator, getAutosizing, getAutosizingDefault, getBestHeight, getBestHeight, getBestWidth, getBestWidth, getBinding, getBinding, getBindingCount, getBindings, getBounds, getBoundsInside, getBoundsMarked, getBoundsMarkedDeep, getChildAnimator, getChildAnimator, getChildClipShape, getClipShape, getColor, getDashArrayString, getDashPhase, getDatasetEntity, getDisplayedFill, getDisplayedStroke, getDocument, getEffect, getEventAdapter, getFill, getFont, getFormat, getFrame, getFrameHeight, getFrameMaxX, getFrameMaxY, getFrameWidth, getFrameX, getFrameXY, getFrameY, getHeight, getHover, getLayoutInfo, getMaskPath, getMaxX, getMaxY, getMinHeight, getMinHeight, getMinWidth, getMinWidth, getName, getOpacity, getOpacityDeep, getOutline, getPageBreak, getPageBreakMax, getPageBreakPage, getPageBreakPageMax, getPageShape, getParent, getParent, getPath, getPathInBounds, getPrefHeight, getPrefHeight, getPrefWidth, getPrefWidth, getPropertyNameMapped, getPropertyNames, getRoll, getRootShape, getRSS, getScaleX, getScaleY, getShapesToAncestor, getShapesToDescendant, getShapesToShape, getSize, getSkewX, getSkewY, getStroke, getStrokeColor, getStrokeOnTop, getStrokeStyle, getStrokeWidth, getTextColor, getTimeline, getTimeline, getTransform, getTransformFromShape, getTransformInverse, getTransformToShape, getUndoer, getURL, getVisbileBounds, getVisibleBounds, getVisibleBounds, getVisibleBounds, getWidth, getX, getXY, getXYP, getY, height, indexOf, intersects, isAncestor, isAnimProperty, isDescendant, isEditing, isEnabled, isFontSet, isHittable, isLocked, isMinHeightSet, isMinWidthSet, isPrefHeightSet, isPrefWidthSet, isRoot, isRSS, isShowing, isUnderlined, isUseFill, isUseStroke, isViewing, isVisible, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, offsetXY, page, pageMax, paint, paintShape, paintShapeAll, paintShapeChildren, paintShapeOver, propertyChange, put, removeBinding, removeBinding, removeDeepChangeListener, removeFromParent, removeMouseListener, repaint, repaint, resolvePageReferences, rpgBindings, rpgShape, setAlignment, setAlignmentX, setAlignmentY, setAutosizing, setBestHeight, setBestSize, setBounds, setBounds, setColor, setDashArrayString, setDashPhase, setEffect, setEnabled, setFill, setFont, setFormat, setFrame, setFrame, setFrameSize, setFrameX, setFrameXY, setFrameXY, setFrameY, setHover, setLayoutInfo, setLocked, setMinHeight, setMinSize, setMinWidth, setName, setOpacity, setOutline, setParent, setPrefHeight, setPrefWidth, setRoll, setScaleX, setScaleXY, setScaleY, setShowing, setSize, setSize, setSkewX, setSkewXY, setSkewY, setStroke, setStrokeColor, setStrokeStyle, setStrokeWidth, setTextColor, setTime, setTimeline, setUnderlined, setURL, setUseFill, setUseStroke, setVisible, setX, setXY, setXY, setXYP, setY, shapeHidden, shapeShown, superSelectable, toString, undoerDisable, undoerEnable, undoerSetUndoTitle, width, x, y
-
Methods inherited from class com.inductiveautomation.rm.base.RMObject
addPropertyChangeListener, firePropertyChange, firePropertyChange, firePropertyChange, getPCEvent, removePropertyChangeListener, sendPropertyChange
-
Methods inherited from class com.inductiveautomation.rm.base.RMListenerList
addListener, getListener, getListenerCount, getListenerCount, getListenerList, getListeners, hasListeners, removeListener
-
-
-
-
Field Detail
-
DEFAULT_STYLE
public static final int DEFAULT_STYLE
- See Also:
- Constant Field Values
-
NONE
public static final int NONE
- See Also:
- Constant Field Values
-
CLASSIC1
public static final int CLASSIC1
- See Also:
- Constant Field Values
-
CLASSIC2
public static final int CLASSIC2
- See Also:
- Constant Field Values
-
CLASSIC3
public static final int CLASSIC3
- See Also:
- Constant Field Values
-
CLASSIC4
public static final int CLASSIC4
- See Also:
- Constant Field Values
-
DEFAULT
public static final int DEFAULT
- See Also:
- Constant Field Values
-
ELEGANT
public static final int ELEGANT
- See Also:
- Constant Field Values
-
GRID1
public static final int GRID1
- See Also:
- Constant Field Values
-
GRID2
public static final int GRID2
- See Also:
- Constant Field Values
-
GRID3
public static final int GRID3
- See Also:
- Constant Field Values
-
GRID4
public static final int GRID4
- See Also:
- Constant Field Values
-
GRID5
public static final int GRID5
- See Also:
- Constant Field Values
-
GRID6
public static final int GRID6
- See Also:
- Constant Field Values
-
GRID7
public static final int GRID7
- See Also:
- Constant Field Values
-
GRID8
public static final int GRID8
- See Also:
- Constant Field Values
-
LIST1
public static final int LIST1
- See Also:
- Constant Field Values
-
LIST2
public static final int LIST2
- See Also:
- Constant Field Values
-
LIST3
public static final int LIST3
- See Also:
- Constant Field Values
-
LIST4
public static final int LIST4
- See Also:
- Constant Field Values
-
LIST5
public static final int LIST5
- See Also:
- Constant Field Values
-
LIST6
public static final int LIST6
- See Also:
- Constant Field Values
-
PROFESSIONAL
public static final int PROFESSIONAL
- See Also:
- Constant Field Values
-
SIMPLE1
public static final int SIMPLE1
- See Also:
- Constant Field Values
-
SIMPLE2
public static final int SIMPLE2
- See Also:
- Constant Field Values
-
SIMPLE3
public static final int SIMPLE3
- See Also:
- Constant Field Values
-
-
Method Detail
-
selfInit
public void selfInit()
- Specified by:
selfInitin interfaceRMShapeSelfInit
-
getDatasetKey
public java.lang.String getDatasetKey()
Returns the dataset key.- Overrides:
getDatasetKeyin classRMShape
-
setDatasetKey
public void setDatasetKey(java.lang.String aKey)
Sets the dataset key.
-
getFilterKey
public java.lang.String getFilterKey()
Returns the optional key chain expression string used to prune the table list derived from dataset key.
-
setFilterKey
public void setFilterKey(java.lang.String aKeyExpr)
Sets the optional key chain expression string used to prune the table list derived from dataset key.
-
setFormatStyle
public void setFormatStyle(int formatStyle)
-
getFormatStyle
public int getFormatStyle()
-
getRowCount
public int getRowCount()
Returns the number of rows.
-
setRowCount
public void setRowCount(int aRowCount)
Sets the number of rows.
-
getRow
public RMCrossTabRow getRow(int anIndex)
Returns the specific row at the given index.
-
addRow
public void addRow()
Adds a row.
-
addRow
public void addRow(int anIndex)
Adds a row at given index.
-
addRow
public void addRow(RMCrossTabRow aRow, int anIndex)
Adds a row at the given index. If reference row index is provided, the referenced row object is copied for new row. If reference column index is provided, previous columns cells are merged, successive column cells are cloned.
-
removeRow
public RMCrossTabRow removeRow(int anIndex)
Removes the row at the given index.
-
getCol
public RMCrossTabCol getCol(int anIndex)
Returns the specific column at the given index.
-
addCol
public void addCol()
Adds a column.
-
addCol
public void addCol(int anIndex)
Adds a column.
-
addCol
public void addCol(RMCrossTabCol aCol, int anIndex)
Adds a column at the given index. If reference column index is provided, the referenced column object is copied for new column. If reference row index is provided, previous row cells are merged, successive row cells are cloned.
-
removeCol
public RMCrossTabCol removeCol(int anIndex)
Removes the column at the given index.
-
getRow
public int getRow(double aY)
Returns the specific row index for the given point.
-
getCol
public int getCol(double anX)
Returns the specific column index for the given point.
-
getCell
public RMCrossTabCell getCell(int aRow, int aColumn)
Returns the cell at the given row and column indexes.
-
setCell
protected void setCell(RMCrossTabCell aCell, int aRow, int aCol, int aRowSpan, int aColSpan)
Sets the cell at the given row and column indexes.
-
setDisplayRowCount
public void setDisplayRowCount(int rows)
-
getDisplayRowCount
public int getDisplayRowCount()
-
setDisplayColumnCount
public void setDisplayColumnCount(int cols)
-
getDisplayColumnCount
public int getDisplayColumnCount()
-
getHeaderRowCount
public int getHeaderRowCount()
Returns the number of header rows for table.
-
setHeaderRowCount
public void setHeaderRowCount(int aCount)
Sets the number of header rows for table.
-
getHeaderColumnCount
public int getHeaderColumnCount()
Returns the number header columns for table.
-
setHeaderColumnCount
public void setHeaderColumnCount(int aCount)
Sets the number header columns for table.
-
mergeCells
public void mergeCells(int aRow1, int aCol1, int aRow2, int aCol2)Merges a range of cells into one cell.
-
splitCell
public void splitCell(RMCrossTabCell aCell)
Splits a cell.
-
layoutChildren
protected void layoutChildren()
Relays out table rows, columns and cells.- Overrides:
layoutChildrenin classRMParentShape
-
getColumnCount
public int getColumnCount()
Returns the number of rows for this table.
-
setColumnCount
public void setColumnCount(int aColumnCount)
Sets the number of columns for this table.
-
rpgAll
public RMShape rpgAll(ReportOwner anRptOwner, RMShape aParent)
Sets a reportmill for this crosstab (which really gets the dataset and calls setObjects).- Overrides:
rpgAllin classRMParentShape
-
divideShapeFromTop
public RMShape divideShapeFromTop(double anAmount)
Divides the shape by a given amount from the top. Returns a clone of the given shape with bounds set to the remainder. Divides children among the two shapes (recursively calling divide shape for those straddling).- Overrides:
divideShapeFromTopin classRMParentShape
-
getPropertyNames
protected void getPropertyNames(java.util.List<java.lang.String> aList)
Returns the property names for crosstab.- Overrides:
getPropertyNamesin classRMShape
-
isDeletable
public boolean isDeletable()
Description copied from class:RMShapeOverride this for shapes (like a table row) that don't don't make sense to delete by themselves.- Overrides:
isDeletablein classRMShape
-
clone
public RMCrossTab clone()
Standard clone implementation.- Overrides:
clonein classRMParentShape
-
cloneDeep
public RMCrossTab cloneDeep()
Clone deep.- Overrides:
cloneDeepin classRMParentShape
-
toXMLShape
protected RXElement toXMLShape(RXArchiver anArchiver)
XML archival.- Overrides:
toXMLShapein classRMParentShape
-
applyFormatting
public void applyFormatting(int styleIndex)
-
applyCellFormatting
public void applyCellFormatting(RMCrossTabCell aSourceCell, RMCrossTabCell aDestCell)
Copy all relevant cell formatting options from source to destination.
-
toXMLChildren
protected void toXMLChildren(RXArchiver anArchiver, RXElement anElement)
XML archival - override to suppress archival of children.- Overrides:
toXMLChildrenin classRMParentShape
-
fromXMLShape
protected void fromXMLShape(RXArchiver anArchiver, RXElement anElement)
XML unarchival.- Overrides:
fromXMLShapein classRMParentShape
-
-