Package com.inductiveautomation.rm.shape
Class RMPage
- 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.RMPage
-
- All Implemented Interfaces:
Archivable,DeepChangeListener,RMPropertyChanger,RMTypes,java.beans.PropertyChangeListener,java.lang.Cloneable,java.util.EventListener
public class RMPage extends RMParentShape
The RMPage class represents an individual page in an RMDocument. For the most part, it's like every other RMShape, except that it has the ability to break children into "layers" for more convenient editing. Layers are sub-ranges of children that can be set to be invisible or locked. An RMPage also has its own child animator.It's not common for developers to use much or RMPage's unique functionality programmatically, however, you might use it briefly when dissecting a template like this:
RMDocument template = new RMDocument(aSource); RMPage page = template.getPage(0); RMTable table = page.getChildWithName("MyTable"); ...Or you might use it briefly when adding pages to a document (which comes with one by default):
RMDocument template = new RMDocument(612, 792); template.getPage(0).addChild(new RMText(new RXString("Hello Page 1!", RMFont("Arial", 100)))); template.addPage(new RMPage()); template.getPage(1).addChild(new RMText(new RXString("Hello Page 2!", RMFont("Arial", 100))));
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classRMPage.Plexing-
Nested classes/interfaces inherited from interface com.inductiveautomation.rm.base.RMTypes
RMTypes.Align, RMTypes.AlignX, RMTypes.AlignY
-
-
Field Summary
-
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 RMPage()Creates a plain empty page.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanacceptsChildren()Editor method - indicates that page supports added children.voidaddChild(RMShape aChild, int anIndex)Add the given child at the given index (over-rides RMShape version to propogate to RMPageLayer).voidaddLayer(RMPageLayer aLayer)Adds a layer to page.voidaddLayer(RMPageLayer aLayer, int anIndex)Adds a layer to page.voidaddLayerNamed(java.lang.String aString)Creates a new layer with the given name and adds it to this page's layer list.voidbringShapesToFront(java.util.List shapes)Overrides shape implementation to keep shapes in their proper layers.RMPageclone()Standard clone method.protected voidfromXMLChildren(RXArchiver anArchiver, RXElement anElement)XML unarchival for shape children.protected voidfromXMLShape(RXArchiver anArchiver, RXElement anElement)XML unarchival.RMAnimatorgetChildAnimator(boolean doCreate)Returns the child animator associated with this page, creating one if it doesn't exist (if requested).RMPageLayergetChildLayer(RMShape aChild)Returns the layer for a given child.java.lang.StringgetDatasetKey()Returns the dataset key associated with the table.RMPageLayergetLayer(int anIndex)Returns the layer at the given index.RMPageLayergetLayer(java.lang.String aString)Returns the layer with the given name.intgetLayerCount()Returns the number of layers associated with this page.java.util.List<RMPageLayer>getLayers()Returns the list of page layers.RMParentShapegetPageShape()Overrides shape implementation to return this page, since it is the page shape.booleangetPaintBackground()Returns whether to paint white background even if not explicitly defined and drop shadow.RMPage.PlexinggetPlexing()Returns the page plexing (whether it prints to one page, page back & front, or back & front with tumble).RMPageLayergetSelectedLayer()Returns the selected layer.intgetSelectedLayerIndex()Returns the index of the selected layer.booleanisDeletable()Override this for shapes (like a table row) that don't don't make sense to delete by themselves.booleanisHittable(RMShape aChild)Override so page layers can make children unhittable.protected booleanisShowing(RMShape aChild)Override so page layers can make children not visible.voidmoveLayer(int fromIndex, int toIndex)Moves the layer at fromIndex to toIndex.voidmoveToNewLayer(java.util.List shapes)Creates a new layer and adds the shapes in the given list to it.intpage()Returns the "Page" number of this page (used to resolve @Page@ key references).intpageMax()Returns the "PageMax" of the document associated with this page (used to resolve @PageMax@ key references).voidpaintShape(RMShapePainter aPntr)Top-level generic shape painting (sets transform, recurses to children, paints this).RMShaperemoveChild(int anIndex)Removes the child at the given index (over-rides RMShape version to propogate to RMPageLayer).RMPageLayerremoveLayer(int anIndex)Removes the layer at given index (and its children).intremoveLayer(RMPageLayer aLayer)Removes the given layer.voidresetLayers()Resets this page's list of layers to a single, selectable layer named "Layer 1".RMShaperpgAll(ReportOwner anRptOwner, RMShape aParent)Returns a report page.protected RMShaperpgChildren(ReportOwner anRptOwner, RMParentShape aParent)Override to handle pagination.voidselectLayer(RMPageLayer aLayer)Selects the given layer.voidselectLayer(java.lang.String aString)Selects the layer with the given name.voidsendShapesToBack(java.util.List shapes)Overrides shape implementation to keep shapes in their proper layers.protected voidsetChildAnimator(RMAnimator anAnimator)Sets the child animator associated with this page.voidsetDatasetKey(java.lang.String aKeyPath)Sets the dataset key associated with the table.voidsetPaintBackground(boolean aValue)Sets whether to paint white background even if not explicitly defined and drop shadow.voidsetPlexing(RMPage.Plexing aPlexing)Sets the page plexing (whether it prints to one page, page back & front, or back & front with tumble).booleansuperSelectable()Editor method - indicates that pages can be super-selected.protected voidtoXMLChildren(RXArchiver anArchiver, RXElement anElement)XML archival of children.protected RXElementtoXMLShape(RXArchiver anArchiver)XML archival.-
Methods inherited from class com.inductiveautomation.rm.shape.RMParentShape
addChild, addChild, addChild, addLayoutChild, cloneDeep, computePrefHeight, computePrefWidth, divideShapeFromTop, fromXML, getBoundsOfChildren, getChild, getChildArray, getChildContaining, getChildCount, getChildLast, getChildren, getChildrenIntersecting, getChildrenWithClass, getChildrenWithClass, getChildWithClass, getChildWithName, getLayout, getNeedsLayout, getSourceURL, indexOfChild, isSourceURLSet, layout, layoutChildren, relayout, removeChild, removeChildren, removeLayoutChild, setHeight, setLayout, setNeedsLayout, setSourceURL, setWidth, toXML
-
Methods inherited from class com.inductiveautomation.rm.shape.RMShape
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, 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, getParent, getParent, getPath, getPathInBounds, getPrefHeight, getPrefHeight, getPrefWidth, getPrefWidth, getPropertyNameMapped, getPropertyNames, 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, paint, 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, 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
-
-
-
-
Method Detail
-
getDatasetKey
public java.lang.String getDatasetKey()
Returns the dataset key associated with the table.- Overrides:
getDatasetKeyin classRMShape
-
setDatasetKey
public void setDatasetKey(java.lang.String aKeyPath)
Sets the dataset key associated with the table.
-
getPaintBackground
public boolean getPaintBackground()
Returns whether to paint white background even if not explicitly defined and drop shadow.
-
setPaintBackground
public void setPaintBackground(boolean aValue)
Sets whether to paint white background even if not explicitly defined and drop shadow.
-
getLayerCount
public int getLayerCount()
Returns the number of layers associated with this page.
-
getLayer
public RMPageLayer getLayer(int anIndex)
Returns the layer at the given index.
-
getLayers
public java.util.List<RMPageLayer> getLayers()
Returns the list of page layers.
-
addLayer
public void addLayer(RMPageLayer aLayer)
Adds a layer to page.
-
addLayer
public void addLayer(RMPageLayer aLayer, int anIndex)
Adds a layer to page.
-
removeLayer
public RMPageLayer removeLayer(int anIndex)
Removes the layer at given index (and its children).
-
removeLayer
public int removeLayer(RMPageLayer aLayer)
Removes the given layer.
-
getLayer
public RMPageLayer getLayer(java.lang.String aString)
Returns the layer with the given name.
-
addLayerNamed
public void addLayerNamed(java.lang.String aString)
Creates a new layer with the given name and adds it to this page's layer list.
-
moveLayer
public void moveLayer(int fromIndex, int toIndex)Moves the layer at fromIndex to toIndex.
-
getChildLayer
public RMPageLayer getChildLayer(RMShape aChild)
Returns the layer for a given child.
-
getSelectedLayerIndex
public int getSelectedLayerIndex()
Returns the index of the selected layer.
-
getSelectedLayer
public RMPageLayer getSelectedLayer()
Returns the selected layer.
-
selectLayer
public void selectLayer(RMPageLayer aLayer)
Selects the given layer.
-
selectLayer
public void selectLayer(java.lang.String aString)
Selects the layer with the given name.
-
resetLayers
public void resetLayers()
Resets this page's list of layers to a single, selectable layer named "Layer 1".
-
getPlexing
public RMPage.Plexing getPlexing()
Returns the page plexing (whether it prints to one page, page back & front, or back & front with tumble).
-
setPlexing
public void setPlexing(RMPage.Plexing aPlexing)
Sets the page plexing (whether it prints to one page, page back & front, or back & front with tumble).
-
addChild
public void addChild(RMShape aChild, int anIndex)
Add the given child at the given index (over-rides RMShape version to propogate to RMPageLayer).- Overrides:
addChildin classRMParentShape
-
removeChild
public RMShape removeChild(int anIndex)
Removes the child at the given index (over-rides RMShape version to propogate to RMPageLayer).- Overrides:
removeChildin classRMParentShape
-
bringShapesToFront
public void bringShapesToFront(java.util.List shapes)
Overrides shape implementation to keep shapes in their proper layers.- Overrides:
bringShapesToFrontin classRMParentShape
-
sendShapesToBack
public void sendShapesToBack(java.util.List shapes)
Overrides shape implementation to keep shapes in their proper layers.- Overrides:
sendShapesToBackin classRMParentShape
-
moveToNewLayer
public void moveToNewLayer(java.util.List shapes)
Creates a new layer and adds the shapes in the given list to it.
-
isShowing
protected boolean isShowing(RMShape aChild)
Override so page layers can make children not visible.- Overrides:
isShowingin classRMParentShape
-
isHittable
public boolean isHittable(RMShape aChild)
Override so page layers can make children unhittable.- Overrides:
isHittablein classRMParentShape
-
getPageShape
public RMParentShape getPageShape()
Overrides shape implementation to return this page, since it is the page shape.- Overrides:
getPageShapein classRMShape
-
getChildAnimator
public RMAnimator getChildAnimator(boolean doCreate)
Returns the child animator associated with this page, creating one if it doesn't exist (if requested).- Overrides:
getChildAnimatorin classRMShape
-
setChildAnimator
protected void setChildAnimator(RMAnimator anAnimator)
Sets the child animator associated with this page.
-
page
public int page()
Returns the "Page" number of this page (used to resolve @Page@ key references).
-
pageMax
public int pageMax()
Returns the "PageMax" of the document associated with this page (used to resolve @PageMax@ key references).
-
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
-
paintShape
public void paintShape(RMShapePainter aPntr)
Top-level generic shape painting (sets transform, recurses to children, paints this).- Overrides:
paintShapein classRMShape
-
rpgAll
public RMShape rpgAll(ReportOwner anRptOwner, RMShape aParent)
Returns a report page.- Overrides:
rpgAllin classRMParentShape
-
rpgChildren
protected RMShape rpgChildren(ReportOwner anRptOwner, RMParentShape aParent)
Override to handle pagination.- Overrides:
rpgChildrenin classRMParentShape
-
clone
public RMPage clone()
Standard clone method.- Overrides:
clonein classRMParentShape
-
toXMLShape
protected RXElement toXMLShape(RXArchiver anArchiver)
XML archival.- Overrides:
toXMLShapein classRMParentShape
-
toXMLChildren
protected void toXMLChildren(RXArchiver anArchiver, RXElement anElement)
XML archival of children.- Overrides:
toXMLChildrenin classRMParentShape
-
fromXMLShape
protected void fromXMLShape(RXArchiver anArchiver, RXElement anElement)
XML unarchival.- Overrides:
fromXMLShapein classRMParentShape
-
fromXMLChildren
protected void fromXMLChildren(RXArchiver anArchiver, RXElement anElement)
XML unarchival for shape children.- Overrides:
fromXMLChildrenin classRMParentShape
-
acceptsChildren
public boolean acceptsChildren()
Editor method - indicates that page supports added children.- Overrides:
acceptsChildrenin classRMShape
-
superSelectable
public boolean superSelectable()
Editor method - indicates that pages can be super-selected.- Overrides:
superSelectablein classRMShape
-
-