Package com.reportmill.shape
Class RMShape
- java.lang.Object
-
- com.reportmill.base.RMObject
-
- com.reportmill.shape.RMShape
-
- All Implemented Interfaces:
RMArchiver.Archiving
,java.lang.Cloneable
- Direct Known Subclasses:
BarcodeShape
,LineGraph
,RJShape
,RMCellTable
,RMCrossTab
,RMDocument
,RMGraph
,RMGraphBar.RMGraphBarView
,RMGraphPie.RMGraphPieView
,RMGraphRPG
,RMLabel
,RMLabels
,RMLineSegment
,RMNestedDoc
,RMOval
,RMPage
,RMPolygon
,RMRectangle
,RMScene3D
,RMSound
,RMSplitShape
,RMSwitchShape
,RMTableGroup
,RMTableRPG
public class RMShape extends RMObject
This class is the basis for all graphic elements in a ReportMill document. You'll rarely use this class directly, however, it encapsulates all the basic shape attributes and the most common methods used in template manipulation, like setX(), setY(), setWidth(), setColor(), etc.Here's an example of programatically adding a watermark to a document:
RMFont font = RMFont.getFont("Arial Bold", 72); RMColor color = new RMColor(.9f, .9f, .9f); RMXString string = new RMXString("REPORTMILL", font, color); RMText shape = new RMText(string); myDocument.getPage(0).addChild(shape); shape.setBounds(36, 320, 540, 140); shape.setRoll(45); shape.setOpacity(.667f);
-
-
Field Summary
Fields Modifier and Type Field Description static byte
WRAP_TYPE_BOTH
static byte
WRAP_TYPE_NONE
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
acceptsChildren()
Editor method.boolean
acceptsDragKeys()
Editor method.boolean
acceptsFormat()
Returns whether the shape can accept a format.boolean
acceptsMouse()
Viewer method.void
addChild(RMShape aChild)
Adds the given child to the end of this shape's children list.void
addChild(RMShape aChild, int anIndex)
Adds the given child to this shape's children list at the given index.void
addChildBelowLastChild(RMShape aChild)
Adds the given child to the end of this shape's children list at a y position just below previously last child.RMRect
bounds()
Returns raw x, y, width and height of shape as rect (preserves possible negative sizes).void
boundsChanged()
Notifies a shape and its parents that its bounds changed.void
boundsChanged(RMShape aShape)
Notifies this shape that a given shape's bounds have changed (presumably a descendant).void
bringShapesToFront(java.util.List shapes)
Moves the subset of children in the given list to the front of the children list.boolean
canBeUngrouped()
Editor method.boolean
childrenSuperSelectImmediately()
Editor method.java.lang.Object
clone()
Standard implementation of Object clone.RMShape
cloneDeep()
Clones all attributes of this shape with complete clones of its children as well.boolean
contains(RMPoint aPoint)
Returns whether this shape is hit by the point, given in this shape's parent's coords.RMPoint
convertedPointFromShape(RMPoint aPoint, RMShape aShape)
Returns the given point converted from the given shape's coords.RMPoint
convertedPointToShape(RMPoint aPoint, RMShape aShape)
Returns the given point converted to the given shape's coords.RMRect
convertedRectFromShape(RMRect aRect, RMShape aShape)
Returns the rect encompassing the given rect converted from the given shape's coords.RMRect
convertedRectToShape(RMRect aRect, RMShape aShape)
Returns the rect encompassing the given rect converted to the given shape's coords.RMSize
convertedSizeFromShape(RMSize aSize, RMShape aShape)
Returns the given size converted from the given shape's coords.RMSize
convertedSizeToShape(RMSize aSize, RMShape aShape)
Returns the given size converted to the given shape's coords.RMSize
convertedVectorFromShape(RMSize aSize, RMShape aShape)
Returns the given size converted from the given shape's coords and normalized.RMSize
convertedVectorToShape(RMSize aSize, RMShape aShape)
Returns the given size converted to the given shape's coords and normalized.void
convertFromShape(RMShape aShape)
Transforms the given shape from this shape's coords.RMPath
convertPathFromShape(RMPath aPath, RMShape aShape)
Returns the given path converted from the given shape's coords.RMPath
convertPathToShape(RMPath aPath, RMShape aShape)
Returns the given path converted to the given shape's coords.RMPoint
convertPointFromShape(RMPoint point, RMShape shape)
Converts the given point to the given shape's coords (returns it for convenience).RMPoint
convertPointToShape(RMPoint point, RMShape shape)
Converts the given point to the given shape's coords (returns it for convenience).RMRect
convertRectFromShape(RMRect rect, RMShape shape)
Converts the given rect from the given shape's coords (returns it for convenience).RMRect
convertRectToShape(RMRect rect, RMShape shape)
Converts the given rect to the given shape's coords (returns it for convenience).RMSize
convertSizeFromShape(RMSize size, RMShape shape)
Converts the given size from the given shape's coords (returns it for convenience).RMSize
convertSizeToShape(RMSize size, RMShape shape)
Converts the given size to the given shape's coords (returns it for convenience).void
convertToShape(RMShape aShape)
Transforms the given shape to this shape's coords.RMSize
convertVectorFromShape(RMSize size, RMShape shape)
Converts the given size (as a vector) from the given shape's coords (returns it for convenience).RMSize
convertVectorToShape(RMSize size, RMShape shape)
Converts the given size (as a vector) to the given shape's coords (returns it for convenience).void
copy(java.lang.Object anObj)
Copies all the attributes of the given object that are in common with this object.void
copyShape(RMShape aShape)
Copies basic shape attributes from given RMShape (location, size, fill, stroke, roll, scale, name, url, etc.).void
delete()
Called when a shape is removed from a shape heirarchy.void
didChange(RMObject oldObj)
Undo support.RMShape
divideShapeFromEdge(float amount, byte edge, RMShape newShape)
Divides the shape by a given amount from the given edge.RMShape
divideShapeFromTop(float amount)
Divides the shape by a given amount from the top.void
dragExit()
Editor method.void
dragKeyAtPoint(java.lang.String aKey, RMPoint aPoint)
Editor method.void
dropKeyAtPoint(java.lang.String aKey, RMPoint aPoint)
Editor method.boolean
equals(java.lang.Object anObj)
Standard implementation of Object equals.java.lang.Object
fromXML(RXArchiver anArchiver, RXElement anElement)
XML unarchival.void
fromXMLDeep(RXArchiver anArchiver, RXElement anElement)
XML unarchival for shape childrenjava.lang.Object
get(java.lang.String aName)
Returns the Object associated with the given name for the shape.java.lang.String
getActionScript()
Sets the ActionScript for the shape.RMShapeAnim
getAnim()
Returns the collection of animation records for this shape.RMShapeAnim
getAnim(boolean create)
Returns the collection of animation records for this shape, with an option to create if absent.RMAnimator
getAnimator()
Returns the animator that this shape registers changes with.RMAnimator
getAnimator(boolean create)
Returns the animator that this shape registers changes with (creating, if requested and currently null).boolean
getAutosizeHeight()
Returns whether the shape's height is set automatically to its ideal height during report generation.java.lang.String
getAutosizing()
Returns the autosizing settings as a string with hyphens for struts and tilde for sprints (horiz,vert).RMRect
getBounds()
Returns the X, Y, width and height of the shape as a rect (use getFrame if shape has roll/scale/skew).RMRect
getBoundsInside()
Returns the bounds of the shape in the shape's own coords.RMRect
getBoundsMarked()
Returns the bounds of the path associated with this shape in parent coords, ajusted to account for stroke width.RMRect
getBoundsOfChildren()
Returns bounds of all children of this shape, which can sometimes differ from this shapes bounds.RMRect
getBoundsOfChildren(java.util.List aList)
Returns the bounds of a given subset of this shape's children.RMRect
getBoundsSuperSelected()
Returns the bounds of the shape in parect coords when super selected (same as getBoundsMarked by default).boolean
getCausesWrap()
Returns whether this shape causes text wrap.byte
getCausesWrapType()
Returns how this shape causes text wrap.RMShape
getChild(int anIndex)
Returns the child at the given index.RMAnimator
getChildAnimator()
Returns the animator that this shape's children use.RMAnimator
getChildAnimator(boolean create)
Returns the animator that this shape's children use (creating, if requested and currently null).RMShape
getChildContaining(RMPoint aPoint)
Returns the first (top) shape hit by the point given in this shape's coords.int
getChildCount()
Returns the number of children associated with this shape.RMShape
getChildLast()
Returns the last child of this shape.java.util.List
getChildren()
Returns the list of children associated with this shape.java.util.List
getChildrenIntersecting(RMPath aPath)
Returns the child shapes hit by the path given in this shape's coords.java.util.List
getChildrenWhoCauseWrap(RMShape aPeer)
Returns the subset of children that cause wrap.java.util.List
getChildrenWhoDraw()
Returns the subset of children that should be drawn (useful for implementing page layering).java.util.List
getChildrenWhoHitTest()
Returns the subset of children that should be used for hit detection (useful for implementing page layering).RMShape
getChildSortedByX(int anIndex)
Returns the child at a given index, ordered by X (left-to-right) orderRMShape
getChildWithClass(java.lang.Class aClass)
Returns first child found with the given class (called recursively on children if not found at current level).RMShape
getChildWithName(java.lang.String aName)
Returns first child found with the given name (called recursively on children if not found at current level).RMColor
getColor()
Returns the color of the shape.RMShape
getCommonAncestor(RMShape aShape)
Returns first ancestor that the given shape and this shape have in common.RMDocument
getDocument()
Returns the RMDocument ancestor of this shape (or null if not there).RMFill
getFill()
Returns the fill for this shape.RMFill
getFill(int anIndex)
Returns the specific fill at the given index.RMFill
getFill(java.lang.Class aClass)
Returns the specific fill with the given class.int
getFillCount()
Returns the number of fills associated with this shape.java.util.List
getFills()
Returns this list of fills - a special list that can be operated on directly.RMFont
getFont()
Returns the font for the shape.RMFormat
getFormat()
Returns the format for the shape.RMRect
getFrame()
Returns the rect in parent coords that fully encloses the shape.RMRect
getFrame(RMShape aShape)
Returns the rect that fully encloses the receiver in the given shape's coords.float
getFrameMaxX()
Returns the max X of the shape's frame.float
getFrameMaxY()
Returns the max Y of the shape's frame.float
getFrameX()
Returns the X of the rect that fully encloses the shape in parent coords.RMPoint
getFrameXY()
Returns the origin of the shape's bounds rect in parent coords.float
getFrameY()
Returns the Y of the rect that fully encloses the shape in parent coords.RMShape
getGroupShape(java.util.List shapes)
Returns a newly created RMShape whose bounds has been set to the combined bounds of the subset of children in the given list.float
getHeight()
Returns the height of the shape.float
getHeightToFit()
Returns the ideal height of this shape to accommodate its contents (just the current height for most shapes).RMImageFill
getImageFill()
Returns the imageFill for this shape (or null, if fill isn't an RMImageFill).float
getLineWidth()
Returns the line width of the shape's stroke in printer points.java.lang.String
getListKey()
Returns the "List Key" associated with this shape.java.lang.String
getListKeyDeep()
Returns the concatenated list keys of this shape and its parents (useful for nested list key shapes.RMShape
getListKeyShape()
Returns the real shape used to resolve the list key for this shape.float
getMaxX()
Returns the max X of the shape (assumes not rotated, scaled or skewed).float
getMaxY()
Returns the max Y of the shape (assumes not rotated, scaled or skewed).java.lang.String
getName()
Returns the name for the shape.float
getOpacity()
Returns the opactiy of the shape (1 for opaque, 0 for transparent).float
getOpacityDeep()
Returns the combined opacity of this shape and its parent.RMXString.Outline
getOutline()
Returns the outline for the shape.int
getPageCount()
Returns the number of pages associated with this shape.RMShape
getPageShape()
Returns the RMPage ancestor of this shape (or null if not there).RMShape
getParent()
Returns the parent of this shape.int
getParentCount()
Returns the number of ancestors (from this shape's parent up to the document).java.util.List
getParents()
Returns a list of this shape's parent, and that shape's parent, up to document.RMPath
getPath()
Returns the shape's path.RMPath
getPathInBounds()
Returns the shape's path scaled to the shape's current bounds.java.lang.String
getPropertyKey(java.lang.String aName)
Returns the specific property key for the given property name.int
getPropertyKeyCount()
Returns the number of property keys (like IsVisible, FillColor, StrokeColor, Width, etc.)java.lang.String
getPropertyKeyName(int anIndex)
Returns the specific settable property key name at the given index.float
getRoll()
Returns the roll of the shape.RMShape
getRootShape()
Returns the top level shape (usually an RMDocument).float
getScaleX()
Returns the scale of the X axis of the shape.float
getScaleY()
Returns the scale of the Y axis of the shape.java.util.List
getShapesToAncestor(RMShape shape)
Returns a list of shapes from this shape to a given ancestor.java.util.List
getShapesToDescendant(RMShape aShape)
Returns a list of shape's from this shape to given desendant.java.util.List
getShapesToShape(RMShape aShape)
Returns a list of shapes from this shape to given shape.RMSize
getSize()
Returns the size of the shape.RMSize
getSizeP()
Returns the size of the shape in parent coords.float
getSkewX()
Returns the skew of the X axis of the shape.float
getSkewY()
Returns the skew of the Y axis of the shape.RMStroke
getStroke()
Returns the stroke for this shape.RMColor
getStrokeColor()
Returns the stroke color of the shape.RMColor
getTextColor()
Returns the text color for the shape.java.lang.String
getToolClassName()
Editor method - returns the tool class name for this shape.RMTransform
getTransform()
Returns the transform to this shape from its parent.RMTransform
getTransformFromShape(RMShape aShape)
Returns the transform from the given shape to this shape.RMTransform
getTransformInverse()
Returns the transform from this shape to it's parent.RMTransform
getTransformToShape(RMShape aShape)
Returns the transform from this shape to the given shape.RMUndoer
getUndoer()
Returns the undoer for this shape (or null if not there).java.lang.String
getUrl()
Sets the URL for the shape.float
getWidth()
Returns the width of the shape.float
getWidthToFit()
Returns the ideal width of this shape to accommodate its contents (just the current width for most shapes).float
getX()
Returns the X location of the shape.RMPoint
getXY()
Returns the XY location of the shape as a point.RMPoint
getXYP()
Returns the origin point of the shape in parent's coords.float
getY()
Returns the Y location of the shape.RMShape
groupShapes(java.util.List shapes, RMShape groupShape)
Adds the subset of children in given list into a given group shape, which is then added back to receiver.boolean
hasPageBreaks()
Page number resolution.float
height()
Returns raw height of shape.int
indexOf()
Returns the index of this child in its parent.int
indexOf(RMShape aChild)
Returns the index of the given child in this shape's children list.java.lang.Object
initWithArchiver(RMArchiver anArchiver)
Legacy unarchival.boolean
intersects(RMPath aPath)
Returns whether this shape is hit by the path, given in this shape's parent's coords.boolean
isAncestor(RMShape aShape)
Returns true if given shape is one of this shape's ancestors.boolean
isDescendant(RMShape aShape)
Returns true if given shape is one of this shape's descendants.boolean
isLocked()
Returns the locked state of the shape (really just to prevent location/size changes in the editor).boolean
isRoot()
Editor method - returns whether this shape is at the top level (usually RMPage).boolean
isUnderlined()
Returns whether the shape is underlined.void
mouseDragged(RMViewer aViewer, java.awt.event.MouseEvent anEvent)
Viewer method.void
mouseEntered(RMViewer aViewer, java.awt.event.MouseEvent anEvent)
Viewer method.void
mouseExited(RMViewer aViewer, java.awt.event.MouseEvent anEvent)
Viewer method.void
mouseMoved(RMViewer aViewer, java.awt.event.MouseEvent anEvent)
Viewer method.void
mousePressed(RMViewer aViewer, java.awt.event.MouseEvent anEvent)
Viewer method.void
mouseReleased(RMViewer aViewer, java.awt.event.MouseEvent anEvent)
Viewer method.boolean
notRSS()
Returns whether the shape has been rotated, scaled or skewed (for efficientency).void
offsetChildrenXY(float dx, float dy)
Offsets this shape's children by the given dx, dy.void
offsetXY(double dx, double dy)
Offsets the X and Y location of the shape by the given dx & dy amount (convenience).int
page()
Page number resolution.int
pageBreakMax()
Page number resolution.int
pageBreakPageMax()
Page number resolution.int
pageMax()
Page number resolution.void
put(java.lang.String aName, java.lang.Object anObj)
Sets an Object to be associated with the given name for the shape.void
putPropertyKey(java.lang.String aName, java.lang.String aKey)
Puts the specific property key for the given property name.void
reclaimChildren()
Ensures that children associated with this shape know who's their daddy.void
removeChild(int anIndex)
Remove's the child at the given index from this shape's children list.void
removeChild(RMShape aChild)
Removes the given child from this shape's children list.void
removeChildren()
Removes all children from this shape.void
removeChildren(java.util.List l)
Removes the given list of children from this shape.void
removeFromParent()
Removes this shape from it's parent.void
resolvePageReferences(ReportMill rm, java.lang.Object userInfo)
Replaces all @Page@ style keys with their actual values for this shape and it's children.RMShape
rpgClone(ReportMill rm)
A clone implementation that copies this shape and its children, performing data substituion as well.java.lang.Object
rpgCloneBase()
An rpgClone hook to provide the basic rpgClone (default implementation just calls Object clone).void
rpgCloneChildren(ReportMill rm, RMShape copy)
An rpgClone hook to rpgClone a shape's children.void
rpgCloneConclude(ReportMill rm)
An rpgClone hook called by RMDocument after this shape's page is rpgCloned.void
rpgCloneNotification(ReportMill aReportMill, RMShape copy)
An rpgClone hook to call ReportMill's rpgClone notification, if shape is named.void
rpgClonePrepare(ReportMill rm)
An rpgClone hook called by RMDocument before this shape's page is rpgCloned.void
rpgClonePreprocess(ReportMill rm)
An rpgClone hook called by RMDocument on all children before anything else.void
rpgCloneUrl(ReportMill aReportMill, RMShape rpgClone)
An rpgClone hook to clone a shape's URL with data substitution.void
sendShapesToBack(java.util.List shapes)
Moves the subset of children in the given list to the back of the children list.void
setActionScript(java.lang.String aString)
Returns the ActionScript for the shape.void
setAnim(RMShapeAnim anAnim)
Sets the collection of animation records for this shape.void
setAutosizeHeight(boolean aValue)
Sets whether the shape's height is set automatically to its ideal height during report generation.void
setAutosizing(java.lang.String aVal)
Sets the autosizing settings as a string with hyphens for struts and tilde for sprints (horiz,vert).void
setBounds(double x, double y, double w, double h)
Sets X, Y, width and height of shape to given dimensions.void
setBounds(java.awt.geom.Rectangle2D aRect)
Sets X, Y, width and height of shape to dimensions in given rect.void
setCausesWrapType(byte aType)
Sets how this shape causes text wrap.void
setChildren(java.util.List aList)
Sets the list of children associated with this shape.void
setColor(RMColor aColor)
Sets the color of the shape.void
setFill(RMFill aFill)
Sets the fill for this shape.void
setFont(RMFont aFont)
Sets the font for the shape.void
setFormat(RMFormat aFormat)
Sets the format for the shape.void
setFrame(double x, double y, double w, double h)
Sets the bounds of the shape such that it exacly fits in the given parent coord rect.void
setFrame(java.awt.geom.Rectangle2D aRect)
Sets the bounds of the shape such that it exacly fits in the given parent coord rect.void
setFrameSize(double w, double h)
Sets a shape's size such that its frame (enclosing rect in parent coords) will have the given width and height.void
setFrameX(double x)
Sets a shape's X such that its bounds rect (in parent coords) has origin at the given X.void
setFrameXY(double x, double y)
Sets a shape's origin such that its frame (enclosing rect in parent coords) will have the given X and Y.void
setFrameXY(RMPoint aPoint)
Sets a shape's origin such that its bounds rect (in parent coords) has origin at the given point.void
setFrameY(double y)
Sets a shape's Y such that its bounds rect (in parent coords) has origin at the given Y.void
setHeight(double aHeight)
Sets the height of the shape.void
setHeightDeep(float h)
Sets the height of this shape and its children (proportionally using their autosizing).void
setHeightDeep(float h, boolean c)
Sets the height of this shape and its children (proportionally using their autosizing).void
setHeightToFit()
Sets the shape to its getHeightToFit (which is just the current height for most shapes).void
setLineWidth(float aValue)
Sets the line width of the shape's stroke in printer points.void
setListKey(java.lang.String aKeyPath)
Sets the List Key associated with this shape.void
setLocked(boolean aValue)
Sets the locked state of the shape (really just to prevent location/size changes in the editor).void
setName(java.lang.String aName)
Sets the name for the shape.void
setNeedsRepaint()
Visual change notification - call before making changes that will require repaint.void
setNeedsRepaint(RMShape aShape)
Visual change notification - call before making changes that will require repaint.void
setOpacity(float aValue)
Sets the opactiy of the shape (1 for opaque, 0 for transparent).void
setOutline(RMXString.Outline anOutline)
Sets the outline for the shape.void
setParent(RMShape aShape)
Sets the parent of this shape (called automatically by addChild()).void
setRoll(float aValue)
Sets the roll of the shape.void
setScaleX(float aValue)
Sets the scale of the X axis of the shape.void
setScaleXY(float sx, float sy)
Sets the scale of the X and Y axis.void
setScaleY(float aValue)
Sets the scale of the Y axis of the shape.void
setSize(double width, double height)
Sets the size of the shape.void
setSize(RMSize aSize)
Sets the size of the shape.void
setSizeDeep(float aWidth, float aHeight)
Sets the size of this shape and its children (proportionally using their autosizing).void
setSizeP(double w, double h)
Sets the size of the shape to the given width and height in parent's coords.void
setSizeToFit()
Sets the shape to its ideal size from getWidthToFit and getHeightToFit.void
setSizeToFit(float maxWidth, float maxHeight)
This convenience method sets the shape to its ideal size from getWidthToFit and getHeightToFit, allowing you to additionally specify a maxWidth and maxHeight.void
setSkewX(float aValue)
Sets the skew of the X axis of the shape.void
setSkewXY(float skx, float sky)
Sets the skew of the X and Y axis.void
setSkewY(float aValue)
Sets the skew of the Y axis of the shape.void
setStroke(RMStroke aStroke)
Sets the stroke for this shape, with an option to turn on drawsStroke.void
setStrokeColor(RMColor aColor)
Sets the stroke color of the shape.void
setTextColor(RMColor aColor)
Sets the text color for the shape.void
setTime(float aTime)
Tells the shape's anim records to update the shape to the given time.void
setUnderlined(boolean aFlag)
Sets the shape to underline.void
setUrl(java.lang.String aUrl)
Returns the URL for the shape.void
setWidth(double aWidth)
Sets the width of the shape.void
setWidthDeep(float w)
Sets the width of this shape and its children (proportionally using their autosizing).void
setWidthDeep(float w, boolean c)
Sets the width of this shape and its children (proportionally using their autosizing).void
setWidthToFit()
Sets the shape to its getWidthToFit (which is just the current width for most shapes).void
setX(double x)
Sets the X location of the shape.void
setXY(double x, double y)
Sets the X and Y location of the shape to the given point (convenience).void
setXY(java.awt.geom.Point2D aPoint)
Sets the X and Y location of the shape to the given point (convenience).void
setXYP(float x, float y)
Sets the origin point of the shape to the given X and Y in parent's coords.void
setY(double y)
Sets the Y location of the shape.boolean
sizesToFitChildren()
Editor method.boolean
superSelectable()
Editor method - indicates whether this shape can be super selected.java.lang.String
toString()
Standard to string implementation (prints class name and shape bounds).RXElement
toXML(RXArchiver anArchiver)
XML Archival.RMObject
undoClone()
Undo support.void
undoCopy(RMObject anObj)
Undo support.boolean
undoEquals(RMObject anObj)
Undo support.void
undoerAddDirtyObject(RMObject anObj)
Undoer convenience - tells undoer to add a dirty object.void
undoerDisable()
Undoer convenience - disable the undoer.void
undoerEnable()
Undoer convenience - enables the undoer.void
undoerSetUndoTitle(java.lang.String aTitle)
Undoer convenience - sets title of next registered undo.float
width()
Returns raw width of shape.void
willChange()
Change notification - call before making attribute changes (provides hook for undo support).void
willChange(RMShape s)
Change notification - call before making attribute changes (provides hook for undo support).float
x()
Returns raw x location of shape.float
y()
Returns raw y location of shape.-
Methods inherited from class com.reportmill.base.RMObject
didUndo, getAnimAttribute, getClassNameShort
-
-
-
-
Field Detail
-
WRAP_TYPE_NONE
public static final byte WRAP_TYPE_NONE
- See Also:
- Constant Field Values
-
WRAP_TYPE_BOTH
public static final byte WRAP_TYPE_BOTH
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
RMShape
public RMShape()
Creates a plain shape.
-
RMShape
public RMShape(RMShape aShape)
Creates a shape with the same basic attributes as the given shape.
-
-
Method Detail
-
x
public float x()
Returns raw x location of shape. Developers should use the more common getX, which presents positive x.
-
y
public float y()
Returns raw y location of shape. Developers should use the more common getY, which presents positive y.
-
width
public float width()
Returns raw width of shape. Developers should use the more common getWidth, which presents positive width.
-
height
public float height()
Returns raw height of shape. Developers should use the more common getHeight, which presents positive height.
-
bounds
public RMRect bounds()
Returns raw x, y, width and height of shape as rect (preserves possible negative sizes).
-
getX
public float getX()
Returns the X location of the shape.
-
setX
public void setX(double x)
Sets the X location of the shape.
-
getY
public float getY()
Returns the Y location of the shape.
-
setY
public void setY(double y)
Sets the Y location of the shape.
-
getWidth
public float getWidth()
Returns the width of the shape.
-
setWidth
public void setWidth(double aWidth)
Sets the width of the shape.
-
getHeight
public float getHeight()
Returns the height of the shape.
-
setHeight
public void setHeight(double aHeight)
Sets the height of the shape.
-
getMaxX
public float getMaxX()
Returns the max X of the shape (assumes not rotated, scaled or skewed).
-
getMaxY
public float getMaxY()
Returns the max Y of the shape (assumes not rotated, scaled or skewed).
-
getXY
public RMPoint getXY()
Returns the XY location of the shape as a point.
-
setXY
public void setXY(java.awt.geom.Point2D aPoint)
Sets the X and Y location of the shape to the given point (convenience).
-
setXY
public void setXY(double x, double y)
Sets the X and Y location of the shape to the given point (convenience).
-
getSize
public RMSize getSize()
Returns the size of the shape.
-
setSize
public void setSize(RMSize aSize)
Sets the size of the shape.
-
setSize
public void setSize(double width, double height)
Sets the size of the shape.
-
getBounds
public RMRect getBounds()
Returns the X, Y, width and height of the shape as a rect (use getFrame if shape has roll/scale/skew).
-
setBounds
public void setBounds(java.awt.geom.Rectangle2D aRect)
Sets X, Y, width and height of shape to dimensions in given rect.
-
setBounds
public void setBounds(double x, double y, double w, double h)
Sets X, Y, width and height of shape to given dimensions.
-
getBoundsInside
public RMRect getBoundsInside()
Returns the bounds of the shape in the shape's own coords.
-
offsetXY
public void offsetXY(double dx, double dy)
Offsets the X and Y location of the shape by the given dx & dy amount (convenience).
-
getXYP
public RMPoint getXYP()
Returns the origin point of the shape in parent's coords.
-
setXYP
public void setXYP(float x, float y)
Sets the origin point of the shape to the given X and Y in parent's coords.
-
getSizeP
public RMSize getSizeP()
Returns the size of the shape in parent coords.
-
setSizeP
public void setSizeP(double w, double h)
Sets the size of the shape to the given width and height in parent's coords.
-
getFrame
public RMRect getFrame()
Returns the rect in parent coords that fully encloses the shape.
-
setFrame
public void setFrame(java.awt.geom.Rectangle2D aRect)
Sets the bounds of the shape such that it exacly fits in the given parent coord rect.
-
setFrame
public void setFrame(double x, double y, double w, double h)
Sets the bounds of the shape such that it exacly fits in the given parent coord rect.
-
getFrameX
public float getFrameX()
Returns the X of the rect that fully encloses the shape in parent coords.
-
setFrameX
public void setFrameX(double x)
Sets a shape's X such that its bounds rect (in parent coords) has origin at the given X.
-
getFrameY
public float getFrameY()
Returns the Y of the rect that fully encloses the shape in parent coords.
-
setFrameY
public void setFrameY(double y)
Sets a shape's Y such that its bounds rect (in parent coords) has origin at the given Y.
-
getFrameXY
public RMPoint getFrameXY()
Returns the origin of the shape's bounds rect in parent coords.
-
setFrameXY
public void setFrameXY(RMPoint aPoint)
Sets a shape's origin such that its bounds rect (in parent coords) has origin at the given point.
-
setFrameXY
public void setFrameXY(double x, double y)
Sets a shape's origin such that its frame (enclosing rect in parent coords) will have the given X and Y.
-
setFrameSize
public void setFrameSize(double w, double h)
Sets a shape's size such that its frame (enclosing rect in parent coords) will have the given width and height.
-
getFrameMaxX
public float getFrameMaxX()
Returns the max X of the shape's frame.
-
getFrameMaxY
public float getFrameMaxY()
Returns the max Y of the shape's frame.
-
getFrame
public RMRect getFrame(RMShape aShape)
Returns the rect that fully encloses the receiver in the given shape's coords.
-
getRoll
public float getRoll()
Returns the roll of the shape.
-
setRoll
public void setRoll(float aValue)
Sets the roll of the shape.
-
getScaleX
public float getScaleX()
Returns the scale of the X axis of the shape.
-
setScaleX
public void setScaleX(float aValue)
Sets the scale of the X axis of the shape.
-
getScaleY
public float getScaleY()
Returns the scale of the Y axis of the shape.
-
setScaleY
public void setScaleY(float aValue)
Sets the scale of the Y axis of the shape.
-
setScaleXY
public void setScaleXY(float sx, float sy)
Sets the scale of the X and Y axis.
-
getSkewX
public float getSkewX()
Returns the skew of the X axis of the shape.
-
setSkewX
public void setSkewX(float aValue)
Sets the skew of the X axis of the shape.
-
getSkewY
public float getSkewY()
Returns the skew of the Y axis of the shape.
-
setSkewY
public void setSkewY(float aValue)
Sets the skew of the Y axis of the shape.
-
setSkewXY
public void setSkewXY(float skx, float sky)
Sets the skew of the X and Y axis.
-
notRSS
public boolean notRSS()
Returns whether the shape has been rotated, scaled or skewed (for efficientency).
-
getFillCount
public int getFillCount()
Returns the number of fills associated with this shape.
-
getFill
public RMFill getFill(int anIndex)
Returns the specific fill at the given index.
-
getFill
public RMFill getFill(java.lang.Class aClass)
Returns the specific fill with the given class.
-
getFills
public java.util.List getFills()
Returns this list of fills - a special list that can be operated on directly.
-
getFill
public RMFill getFill()
Returns the fill for this shape.
-
setFill
public void setFill(RMFill aFill)
Sets the fill for this shape.
-
getStroke
public RMStroke getStroke()
Returns the stroke for this shape.
-
setStroke
public void setStroke(RMStroke aStroke)
Sets the stroke for this shape, with an option to turn on drawsStroke.
-
getColor
public RMColor getColor()
Returns the color of the shape.
-
setColor
public void setColor(RMColor aColor)
Sets the color of the shape.
-
getStrokeColor
public RMColor getStrokeColor()
Returns the stroke color of the shape.
-
setStrokeColor
public void setStrokeColor(RMColor aColor)
Sets the stroke color of the shape.
-
getLineWidth
public float getLineWidth()
Returns the line width of the shape's stroke in printer points.
-
setLineWidth
public void setLineWidth(float aValue)
Sets the line width of the shape's stroke in printer points.
-
getOpacity
public float getOpacity()
Returns the opactiy of the shape (1 for opaque, 0 for transparent).
-
setOpacity
public void setOpacity(float aValue)
Sets the opactiy of the shape (1 for opaque, 0 for transparent).
-
getOpacityDeep
public float getOpacityDeep()
Returns the combined opacity of this shape and its parent.
-
getImageFill
public RMImageFill getImageFill()
Returns the imageFill for this shape (or null, if fill isn't an RMImageFill).
-
getTextColor
public RMColor getTextColor()
Returns the text color for the shape.
-
setTextColor
public void setTextColor(RMColor aColor)
Sets the text color for the shape.
-
getName
public java.lang.String getName()
Returns the name for the shape.
-
setName
public void setName(java.lang.String aName)
Sets the name for the shape.
-
getUrl
public java.lang.String getUrl()
Sets the URL for the shape.
-
setUrl
public void setUrl(java.lang.String aUrl)
Returns the URL for the shape.
-
isLocked
public boolean isLocked()
Returns the locked state of the shape (really just to prevent location/size changes in the editor).
-
setLocked
public void setLocked(boolean aValue)
Sets the locked state of the shape (really just to prevent location/size changes in the editor).
-
getCausesWrap
public boolean getCausesWrap()
Returns whether this shape causes text wrap.
-
getCausesWrapType
public byte getCausesWrapType()
Returns how this shape causes text wrap.
-
setCausesWrapType
public void setCausesWrapType(byte aType)
Sets how this shape causes text wrap.
-
getPropertyKeyCount
public int getPropertyKeyCount()
Returns the number of property keys (like IsVisible, FillColor, StrokeColor, Width, etc.)
-
getPropertyKeyName
public java.lang.String getPropertyKeyName(int anIndex)
Returns the specific settable property key name at the given index.
-
getPropertyKey
public java.lang.String getPropertyKey(java.lang.String aName)
Returns the specific property key for the given property name.
-
putPropertyKey
public void putPropertyKey(java.lang.String aName, java.lang.String aKey)
Puts the specific property key for the given property name.
-
getAnim
public RMShapeAnim getAnim()
Returns the collection of animation records for this shape.
-
getAnim
public RMShapeAnim getAnim(boolean create)
Returns the collection of animation records for this shape, with an option to create if absent.
-
setAnim
public void setAnim(RMShapeAnim anAnim)
Sets the collection of animation records for this shape.
-
setTime
public void setTime(float aTime)
Tells the shape's anim records to update the shape to the given time. Recurses to shape children.
-
getActionScript
public java.lang.String getActionScript()
Sets the ActionScript for the shape.
-
setActionScript
public void setActionScript(java.lang.String aString)
Returns the ActionScript for the shape.
-
get
public java.lang.Object get(java.lang.String aName)
Returns the Object associated with the given name for the shape.
-
put
public void put(java.lang.String aName, java.lang.Object anObj)
Sets an Object to be associated with the given name for the shape.
-
getFont
public RMFont getFont()
Returns the font for the shape.
-
setFont
public void setFont(RMFont aFont)
Sets the font for the shape.
-
isUnderlined
public boolean isUnderlined()
Returns whether the shape is underlined.
-
setUnderlined
public void setUnderlined(boolean aFlag)
Sets the shape to underline.
-
getOutline
public RMXString.Outline getOutline()
Returns the outline for the shape.
-
setOutline
public void setOutline(RMXString.Outline anOutline)
Sets the outline for the shape.
-
getFormat
public RMFormat getFormat()
Returns the format for the shape.
-
setFormat
public void setFormat(RMFormat aFormat)
Sets the format for the shape.
-
acceptsFormat
public boolean acceptsFormat()
Returns whether the shape can accept a format.
-
getAutosizing
public java.lang.String getAutosizing()
Returns the autosizing settings as a string with hyphens for struts and tilde for sprints (horiz,vert).
-
setAutosizing
public void setAutosizing(java.lang.String aVal)
Sets the autosizing settings as a string with hyphens for struts and tilde for sprints (horiz,vert).
-
getAutosizeHeight
public boolean getAutosizeHeight()
Returns whether the shape's height is set automatically to its ideal height during report generation.
-
setAutosizeHeight
public void setAutosizeHeight(boolean aValue)
Sets whether the shape's height is set automatically to its ideal height during report generation.
-
getPath
public RMPath getPath()
Returns the shape's path.
-
getPathInBounds
public RMPath getPathInBounds()
Returns the shape's path scaled to the shape's current bounds.
-
setWidthDeep
public void setWidthDeep(float w)
Sets the width of this shape and its children (proportionally using their autosizing).
-
setWidthDeep
public void setWidthDeep(float w, boolean c)
Sets the width of this shape and its children (proportionally using their autosizing).
-
setHeightDeep
public void setHeightDeep(float h)
Sets the height of this shape and its children (proportionally using their autosizing).
-
setHeightDeep
public void setHeightDeep(float h, boolean c)
Sets the height of this shape and its children (proportionally using their autosizing).
-
setSizeDeep
public void setSizeDeep(float aWidth, float aHeight)
Sets the size of this shape and its children (proportionally using their autosizing).
-
getBoundsOfChildren
public RMRect getBoundsOfChildren()
Returns bounds of all children of this shape, which can sometimes differ from this shapes bounds.
-
getBoundsOfChildren
public RMRect getBoundsOfChildren(java.util.List aList)
Returns the bounds of a given subset of this shape's children.
-
getBoundsSuperSelected
public RMRect getBoundsSuperSelected()
Returns the bounds of the shape in parect coords when super selected (same as getBoundsMarked by default).
-
getBoundsMarked
public RMRect getBoundsMarked()
Returns the bounds of the path associated with this shape in parent coords, ajusted to account for stroke width.
-
getParent
public RMShape getParent()
Returns the parent of this shape.
-
setParent
public void setParent(RMShape aShape)
Sets the parent of this shape (called automatically by addChild()).
-
getParents
public java.util.List getParents()
Returns a list of this shape's parent, and that shape's parent, up to document.
-
getParentCount
public int getParentCount()
Returns the number of ancestors (from this shape's parent up to the document).
-
getChildCount
public int getChildCount()
Returns the number of children associated with this shape.
-
getChild
public RMShape getChild(int anIndex)
Returns the child at the given index.
-
getChildLast
public RMShape getChildLast()
Returns the last child of this shape.
-
getChildren
public java.util.List getChildren()
Returns the list of children associated with this shape.
-
getChildSortedByX
public RMShape getChildSortedByX(int anIndex)
Returns the child at a given index, ordered by X (left-to-right) order
-
setChildren
public void setChildren(java.util.List aList)
Sets the list of children associated with this shape.
-
reclaimChildren
public void reclaimChildren()
Ensures that children associated with this shape know who's their daddy.
-
indexOf
public int indexOf()
Returns the index of this child in its parent.
-
indexOf
public int indexOf(RMShape aChild)
Returns the index of the given child in this shape's children list.
-
addChild
public void addChild(RMShape aChild)
Adds the given child to the end of this shape's children list.
-
addChild
public void addChild(RMShape aChild, int anIndex)
Adds the given child to this shape's children list at the given index.
-
addChildBelowLastChild
public void addChildBelowLastChild(RMShape aChild)
Adds the given child to the end of this shape's children list at a y position just below previously last child.
-
removeChild
public void removeChild(RMShape aChild)
Removes the given child from this shape's children list.
-
removeChild
public void removeChild(int anIndex)
Remove's the child at the given index from this shape's children list.
-
removeChildren
public void removeChildren()
Removes all children from this shape.
-
removeChildren
public void removeChildren(java.util.List l)
Removes the given list of children from this shape.
-
removeFromParent
public void removeFromParent()
Removes this shape from it's parent.
-
delete
public void delete()
Called when a shape is removed from a shape heirarchy.
-
getChildWithName
public RMShape getChildWithName(java.lang.String aName)
Returns first child found with the given name (called recursively on children if not found at current level).
-
getChildWithClass
public RMShape getChildWithClass(java.lang.Class aClass)
Returns first child found with the given class (called recursively on children if not found at current level).
-
offsetChildrenXY
public void offsetChildrenXY(float dx, float dy)
Offsets this shape's children by the given dx, dy.
-
getRootShape
public RMShape getRootShape()
Returns the top level shape (usually an RMDocument).
-
getDocument
public RMDocument getDocument()
Returns the RMDocument ancestor of this shape (or null if not there).
-
getPageShape
public RMShape getPageShape()
Returns the RMPage ancestor of this shape (or null if not there).
-
getUndoer
public RMUndoer getUndoer()
Returns the undoer for this shape (or null if not there).
-
undoerSetUndoTitle
public void undoerSetUndoTitle(java.lang.String aTitle)
Undoer convenience - sets title of next registered undo.
-
undoerDisable
public void undoerDisable()
Undoer convenience - disable the undoer.
-
undoerEnable
public void undoerEnable()
Undoer convenience - enables the undoer.
-
undoerAddDirtyObject
public void undoerAddDirtyObject(RMObject anObj)
Undoer convenience - tells undoer to add a dirty object.
-
isRoot
public boolean isRoot()
Editor method - returns whether this shape is at the top level (usually RMPage).
-
isAncestor
public boolean isAncestor(RMShape aShape)
Returns true if given shape is one of this shape's ancestors.
-
isDescendant
public boolean isDescendant(RMShape aShape)
Returns true if given shape is one of this shape's descendants.
-
getCommonAncestor
public RMShape getCommonAncestor(RMShape aShape)
Returns first ancestor that the given shape and this shape have in common.
-
getShapesToDescendant
public java.util.List getShapesToDescendant(RMShape aShape)
Returns a list of shape's from this shape to given desendant.
-
getShapesToAncestor
public java.util.List getShapesToAncestor(RMShape shape)
Returns a list of shapes from this shape to a given ancestor.
-
getShapesToShape
public java.util.List getShapesToShape(RMShape aShape)
Returns a list of shapes from this shape to given shape.
-
getTransform
public RMTransform getTransform()
Returns the transform to this shape from its parent.
-
getTransformInverse
public RMTransform getTransformInverse()
Returns the transform from this shape to it's parent.
-
getTransformToShape
public RMTransform getTransformToShape(RMShape aShape)
Returns the transform from this shape to the given shape.
-
getTransformFromShape
public RMTransform getTransformFromShape(RMShape aShape)
Returns the transform from the given shape to this shape.
-
convertPointToShape
public RMPoint convertPointToShape(RMPoint point, RMShape shape)
Converts the given point to the given shape's coords (returns it for convenience).
-
convertPointFromShape
public RMPoint convertPointFromShape(RMPoint point, RMShape shape)
Converts the given point to the given shape's coords (returns it for convenience).
-
convertVectorToShape
public RMSize convertVectorToShape(RMSize size, RMShape shape)
Converts the given size (as a vector) to the given shape's coords (returns it for convenience).
-
convertVectorFromShape
public RMSize convertVectorFromShape(RMSize size, RMShape shape)
Converts the given size (as a vector) from the given shape's coords (returns it for convenience).
-
convertSizeToShape
public RMSize convertSizeToShape(RMSize size, RMShape shape)
Converts the given size to the given shape's coords (returns it for convenience).
-
convertSizeFromShape
public RMSize convertSizeFromShape(RMSize size, RMShape shape)
Converts the given size from the given shape's coords (returns it for convenience).
-
convertRectToShape
public RMRect convertRectToShape(RMRect rect, RMShape shape)
Converts the given rect to the given shape's coords (returns it for convenience).
-
convertRectFromShape
public RMRect convertRectFromShape(RMRect rect, RMShape shape)
Converts the given rect from the given shape's coords (returns it for convenience).
-
convertedPointToShape
public RMPoint convertedPointToShape(RMPoint aPoint, RMShape aShape)
Returns the given point converted to the given shape's coords.
-
convertedPointFromShape
public RMPoint convertedPointFromShape(RMPoint aPoint, RMShape aShape)
Returns the given point converted from the given shape's coords.
-
convertedVectorToShape
public RMSize convertedVectorToShape(RMSize aSize, RMShape aShape)
Returns the given size converted to the given shape's coords and normalized.
-
convertedVectorFromShape
public RMSize convertedVectorFromShape(RMSize aSize, RMShape aShape)
Returns the given size converted from the given shape's coords and normalized.
-
convertedSizeToShape
public RMSize convertedSizeToShape(RMSize aSize, RMShape aShape)
Returns the given size converted to the given shape's coords.
-
convertedSizeFromShape
public RMSize convertedSizeFromShape(RMSize aSize, RMShape aShape)
Returns the given size converted from the given shape's coords.
-
convertedRectToShape
public RMRect convertedRectToShape(RMRect aRect, RMShape aShape)
Returns the rect encompassing the given rect converted to the given shape's coords.
-
convertedRectFromShape
public RMRect convertedRectFromShape(RMRect aRect, RMShape aShape)
Returns the rect encompassing the given rect converted from the given shape's coords.
-
convertPathToShape
public RMPath convertPathToShape(RMPath aPath, RMShape aShape)
Returns the given path converted to the given shape's coords.
-
convertPathFromShape
public RMPath convertPathFromShape(RMPath aPath, RMShape aShape)
Returns the given path converted from the given shape's coords.
-
convertToShape
public void convertToShape(RMShape aShape)
Transforms the given shape to this shape's coords.
-
convertFromShape
public void convertFromShape(RMShape aShape)
Transforms the given shape from this shape's coords.
-
getWidthToFit
public float getWidthToFit()
Returns the ideal width of this shape to accommodate its contents (just the current width for most shapes).
-
setWidthToFit
public void setWidthToFit()
Sets the shape to its getWidthToFit (which is just the current width for most shapes).
-
getHeightToFit
public float getHeightToFit()
Returns the ideal height of this shape to accommodate its contents (just the current height for most shapes).
-
setHeightToFit
public void setHeightToFit()
Sets the shape to its getHeightToFit (which is just the current height for most shapes).
-
setSizeToFit
public void setSizeToFit()
Sets the shape to its ideal size from getWidthToFit and getHeightToFit.
-
setSizeToFit
public void setSizeToFit(float maxWidth, float maxHeight)
This convenience method sets the shape to its ideal size from getWidthToFit and getHeightToFit, allowing you to additionally specify a maxWidth and maxHeight.
-
divideShapeFromEdge
public RMShape divideShapeFromEdge(float amount, byte edge, RMShape newShape)
Divides the shape by a given amount from the given edge. Returns newShape (or, if null, a clone) whose bounds have been set to the remainder.
-
divideShapeFromTop
public RMShape divideShapeFromTop(float amount)
Divides the shape by a given amount from the top. Returns a clone of the given shape with bounds set to the remainder. Divies children among the two shapes (recursively calling divide shape for those stradling).
-
getAnimator
public RMAnimator getAnimator()
Returns the animator that this shape registers changes with.
-
getAnimator
public RMAnimator getAnimator(boolean create)
Returns the animator that this shape registers changes with (creating, if requested and currently null).
-
getChildAnimator
public RMAnimator getChildAnimator()
Returns the animator that this shape's children use.
-
getChildAnimator
public RMAnimator getChildAnimator(boolean create)
Returns the animator that this shape's children use (creating, if requested and currently null). The base implementation passes request onto ancestors, but some subclasses create and manage one (RMPage, RMSwitchShape).
-
acceptsMouse
public boolean acceptsMouse()
Viewer method.
-
mousePressed
public void mousePressed(RMViewer aViewer, java.awt.event.MouseEvent anEvent)
Viewer method.
-
mouseDragged
public void mouseDragged(RMViewer aViewer, java.awt.event.MouseEvent anEvent)
Viewer method.
-
mouseReleased
public void mouseReleased(RMViewer aViewer, java.awt.event.MouseEvent anEvent)
Viewer method.
-
mouseEntered
public void mouseEntered(RMViewer aViewer, java.awt.event.MouseEvent anEvent)
Viewer method.
-
mouseMoved
public void mouseMoved(RMViewer aViewer, java.awt.event.MouseEvent anEvent)
Viewer method.
-
mouseExited
public void mouseExited(RMViewer aViewer, java.awt.event.MouseEvent anEvent)
Viewer method.
-
rpgClone
public RMShape rpgClone(ReportMill rm)
A clone implementation that copies this shape and its children, performing data substituion as well.
-
rpgCloneBase
public java.lang.Object rpgCloneBase()
An rpgClone hook to provide the basic rpgClone (default implementation just calls Object clone).
-
rpgCloneUrl
public void rpgCloneUrl(ReportMill aReportMill, RMShape rpgClone)
An rpgClone hook to clone a shape's URL with data substitution.
-
rpgCloneChildren
public void rpgCloneChildren(ReportMill rm, RMShape copy)
An rpgClone hook to rpgClone a shape's children.
-
rpgCloneNotification
public void rpgCloneNotification(ReportMill aReportMill, RMShape copy)
An rpgClone hook to call ReportMill's rpgClone notification, if shape is named.
-
rpgClonePreprocess
public void rpgClonePreprocess(ReportMill rm)
An rpgClone hook called by RMDocument on all children before anything else.
-
rpgClonePrepare
public void rpgClonePrepare(ReportMill rm)
An rpgClone hook called by RMDocument before this shape's page is rpgCloned.
-
rpgCloneConclude
public void rpgCloneConclude(ReportMill rm)
An rpgClone hook called by RMDocument after this shape's page is rpgCloned.
-
resolvePageReferences
public void resolvePageReferences(ReportMill rm, java.lang.Object userInfo)
Replaces all @Page@ style keys with their actual values for this shape and it's children.
-
getPageCount
public int getPageCount()
Returns the number of pages associated with this shape. This is generally zero, except for RMDocument's implementation. Additionally, transient RPG objects use this to declare if they have paginated themselves over multiple pages during rpgCloning.
-
getListKey
public java.lang.String getListKey()
Returns the "List Key" associated with this shape. A List Key is a key path that specifies a specific list of objects in the document's datasource.
-
setListKey
public void setListKey(java.lang.String aKeyPath)
Sets the List Key associated with this shape. Not all shapes support this (only List Key shapes, like table, graph, crosstab and labels). In fact this default implementation does nothing.
-
getListKeyDeep
public java.lang.String getListKeyDeep()
Returns the concatenated list keys of this shape and its parents (useful for nested list key shapes.
-
getListKeyShape
public RMShape getListKeyShape()
Returns the real shape used to resolve the list key for this shape. This seems bogus - might go soon.
-
contains
public boolean contains(RMPoint aPoint)
Returns whether this shape is hit by the point, given in this shape's parent's coords.
-
intersects
public boolean intersects(RMPath aPath)
Returns whether this shape is hit by the path, given in this shape's parent's coords.
-
getChildContaining
public RMShape getChildContaining(RMPoint aPoint)
Returns the first (top) shape hit by the point given in this shape's coords.
-
getChildrenIntersecting
public java.util.List getChildrenIntersecting(RMPath aPath)
Returns the child shapes hit by the path given in this shape's coords.
-
bringShapesToFront
public void bringShapesToFront(java.util.List shapes)
Moves the subset of children in the given list to the front of the children list.
-
sendShapesToBack
public void sendShapesToBack(java.util.List shapes)
Moves the subset of children in the given list to the back of the children list.
-
groupShapes
public RMShape groupShapes(java.util.List shapes, RMShape groupShape)
Adds the subset of children in given list into a given group shape, which is then added back to receiver.
-
getGroupShape
public RMShape getGroupShape(java.util.List shapes)
Returns a newly created RMShape whose bounds has been set to the combined bounds of the subset of children in the given list.
-
getChildrenWhoHitTest
public java.util.List getChildrenWhoHitTest()
Returns the subset of children that should be used for hit detection (useful for implementing page layering).
-
getChildrenWhoDraw
public java.util.List getChildrenWhoDraw()
Returns the subset of children that should be drawn (useful for implementing page layering).
-
getChildrenWhoCauseWrap
public java.util.List getChildrenWhoCauseWrap(RMShape aPeer)
Returns the subset of children that cause wrap.
-
clone
public java.lang.Object clone()
Standard implementation of Object clone. Null's out shape's parent and children.
-
cloneDeep
public RMShape cloneDeep()
Clones all attributes of this shape with complete clones of its children as well.
-
equals
public boolean equals(java.lang.Object anObj)
Standard implementation of Object equals.- Overrides:
equals
in classjava.lang.Object
-
copy
public void copy(java.lang.Object anObj)
Copies all the attributes of the given object that are in common with this object.
-
copyShape
public void copyShape(RMShape aShape)
Copies basic shape attributes from given RMShape (location, size, fill, stroke, roll, scale, name, url, etc.).
-
initWithArchiver
public java.lang.Object initWithArchiver(RMArchiver anArchiver)
Legacy unarchival.- Specified by:
initWithArchiver
in interfaceRMArchiver.Archiving
- Overrides:
initWithArchiver
in classRMObject
-
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
-
willChange
public void willChange()
Change notification - call before making attribute changes (provides hook for undo support).
-
willChange
public void willChange(RMShape s)
Change notification - call before making attribute changes (provides hook for undo support).
-
setNeedsRepaint
public void setNeedsRepaint()
Visual change notification - call before making changes that will require repaint.
-
setNeedsRepaint
public void setNeedsRepaint(RMShape aShape)
Visual change notification - call before making changes that will require repaint.
-
boundsChanged
public void boundsChanged()
Notifies a shape and its parents that its bounds changed.
-
boundsChanged
public void boundsChanged(RMShape aShape)
Notifies this shape that a given shape's bounds have changed (presumably a descendant).
-
getToolClassName
public java.lang.String getToolClassName()
Editor method - returns the tool class name for this shape.
-
canBeUngrouped
public boolean canBeUngrouped()
Editor method.
-
acceptsChildren
public boolean acceptsChildren()
Editor method.
-
sizesToFitChildren
public boolean sizesToFitChildren()
Editor method.
-
superSelectable
public boolean superSelectable()
Editor method - indicates whether this shape can be super selected.
-
childrenSuperSelectImmediately
public boolean childrenSuperSelectImmediately()
Editor method.
-
acceptsDragKeys
public boolean acceptsDragKeys()
Editor method.
-
dragKeyAtPoint
public void dragKeyAtPoint(java.lang.String aKey, RMPoint aPoint)
Editor method.
-
dropKeyAtPoint
public void dropKeyAtPoint(java.lang.String aKey, RMPoint aPoint)
Editor method.
-
dragExit
public void dragExit()
Editor method.
-
toString
public java.lang.String toString()
Standard to string implementation (prints class name and shape bounds).- Overrides:
toString
in classjava.lang.Object
-
page
public int page()
Page number resolution.
-
pageMax
public int pageMax()
Page number resolution.
-
pageBreakMax
public int pageBreakMax()
Page number resolution.
-
pageBreakPageMax
public int pageBreakPageMax()
Page number resolution.
-
hasPageBreaks
public boolean hasPageBreaks()
Page number resolution.
-
undoEquals
public boolean undoEquals(RMObject anObj)
Undo support.- Overrides:
undoEquals
in classRMObject
-
-