public class RMTextShape extends RMRectShape
RMXString xstring = new RMXString("Hello world!", RMFont.getFont("Arial", 12), RMColor.red); RMText text = new RMText(xstring); template.getPage(0).addChild(text); text.setXY(36, 36); text.setSizeToFit();
RMTypes.Align, RMTypes.AlignX, RMTypes.AlignY| Modifier and Type | Field and Description |
|---|---|
static byte |
WRAP_BASIC |
static byte |
WRAP_NONE |
static byte |
WRAP_SCALE |
BINDING_PROP_NAME, STROKE_BORDER, STROKE_DOUBLE, STROKE_HIDDEN, STROKE_SHAPE| Constructor and Description |
|---|
RMTextShape()
Creates an empty text instance.
|
RMTextShape(RMXString string)
Creates a text instance initialized with the given RMXString.
|
RMTextShape(java.lang.String plainText)
Creates a text instance initialized with the given plain text String.
|
| Modifier and Type | Method and Description |
|---|---|
RMTextShape |
clone()
Standard clone implementation.
|
protected double |
computePrefHeight(double aWidth)
Override to compute from RMTextLayout.
|
protected double |
computePrefWidth(double aHeight)
Override to compute from RMTextLayout.
|
void |
copyText(RMTextShape aText)
Copies attributes from given object.
|
protected RMShape |
createDivideShapeRemainder(byte anEdge)
Creates a shape suitable for the "remainder" portion of a divideShape call (just a clone by default).
|
RMTextLayout |
createTextLayout()
Creates a new layout.
|
protected RMXString |
createXString()
Creates the xstring for this text.
|
java.lang.Object |
fromXML(RXArchiver anArchiver,
RXElement anElement)
XML unarchival.
|
void |
fromXMLFinish(RXArchiver anArchiver,
RXElement anElement)
XML reference unarchival - to unarchive linked text.
|
RMTypes.AlignX |
getAlignmentX()
Returns the alignment for char 0.
|
RMTypes.AlignY |
getAlignmentY()
Returns the vertical alignment.
|
java.lang.String |
getAlignString()
Returns the alignment as a string, one of: "left", "center" or "right".
|
java.lang.String |
getAutosizingDefault()
Returns the autosizing default.
|
float |
getCharSpacing()
Returns the char spacing at char 0.
|
boolean |
getCoalesceNewlines()
Returns whether text should coalesce consecutive newlines in rpgClone.
|
java.lang.String |
getDateFormat() |
boolean |
getDrawsSelectionRect()
Returns whether text should always draw at least a light gray border (useful when editing).
|
RMFont |
getFont()
Returns the font for char 0.
|
float |
getLineGap()
Returns the line gap at char 0.
|
float |
getLineHeightMax()
Returns the maximum line height at char 0.
|
float |
getLineHeightMin()
Returns the minimum line height at char 0.
|
float |
getLineSpacing()
Returns the line spacing at char 0.
|
RMLinkedText |
getLinkedText()
Returns the linked text for this text (if any).
|
java.awt.Insets |
getMargin()
Returns margin.
|
int |
getMarginBottom()
Returns the bottom margin of the text (defaults to 0).
|
java.awt.Insets |
getMarginDefault()
Returns the default margin of the text (top=1, left=2, right=2, bottom=0).
|
int |
getMarginLeft()
Returns the left margin of the text (default to 2).
|
int |
getMarginRight()
Returns the right margin of the text (defaults to 2).
|
java.lang.String |
getMarginString()
Returns the margin as a string.
|
int |
getMarginTop()
Returns the top margin of the text (defaults to 1).
|
RMPath |
getMaskPath()
Overridden from RMShape to provide the outlines of all the glyphs
|
boolean |
getNegativeInRed() |
java.lang.String |
getNullFormat() |
java.lang.String |
getNumberFormat() |
RMXString.Outline |
getOutline()
Returns the outline for char 0.
|
RMPath |
getPath()
Returns the path for this shape (might be PathShape).
|
RMPath |
getPathInBounds()
Overrides shape implementation to pass through getPathInBounds(inset).
|
RMPath |
getPathInBounds(int anInset)
Returns the shape's path scaled to the shape's current bounds.
|
RMShape |
getPathShape()
Returns the shape that provides the path for this text to wrap text to.
|
boolean |
getPerformsWrap()
Returns whether text should wrap around other shapes that cause wrap.
|
protected void |
getPropertyNames(java.util.List<java.lang.String> aList)
Returns the property names for RMShape.
|
java.lang.String |
getText()
Returns the text associated with this RMText as a plain String.
|
RMColor |
getTextColor()
Returns the color of the first character of the xstring associated with this RMText.
|
RMTextLayout |
getTextLayout()
Returns a text layout.
|
int |
getVisibleEnd()
Returns the last character index visible in this text.
|
int |
getVisibleStart()
Returns the first character index visible in this text.
|
byte |
getWraps()
Returns the wrapping behavior for over-filled rpgCloned text (NONE, WRAP, SHRINK).
|
RMXString |
getXString()
Returns the XString associated with this RMText.
|
boolean |
isAllTextVisible()
Returns whether all characters can be visibly rendered in text bounds.
|
boolean |
isDeletable()
Override this for shapes (like a table row) that don't don't make sense to delete by themselves.
|
boolean |
isStructured()
Editor method.
|
boolean |
isUnderlined()
Returns if char 0 is underlined.
|
int |
length()
Returns the length, in characters, of the XString associated with this RMText.
|
protected java.util.List<RMTextShape> |
paginate()
Paginates this text by creating linked texts to show all text and returns a list of this text and the linked
texts.
|
void |
paintShape(RMShapePainter aPntr)
Paints a text shape.
|
void |
paintShapeBack(RMShapePainter aPntr)
Paints the text shape background.
|
void |
paintShapeText(RMShapePainter aPntr)
Paints the text shape text.
|
protected void |
paintTextRun(RMShapePainter aPntr,
RMTextRun aRun)
Paints the layout in a given graphics.
|
void |
peerDidChange(RMShape aShape)
This notification method is called when any peer is changed.
|
void |
propertyChange(java.beans.PropertyChangeEvent anEvent)
Override to catch XString changes.
|
protected void |
resolvePageReferences(ReportOwner aRptOwner,
java.lang.Object userInfo)
Re-does the RPG clone to resolve any @Page@ keys (assumed to be present in userInfo).
|
void |
revalidate()
Override to do home-brew layout.
|
protected RMShape |
rpgShape(ReportOwner anRptOwner,
RMShape aParent)
Generate report.
|
void |
scaleFonts(double aFactor)
Resizes all the fonts in text string by given factor.
|
void |
setAlignmentX(RMTypes.AlignX anAlignmentX)
Sets the align for all chars.
|
void |
setAlignmentY(RMTypes.AlignY anAlignment)
Sets the vertical alignment.
|
void |
setCharSpacing(float aValue)
Sets the char spacing for the text string.
|
void |
setCoalesceNewlines(boolean aFlag)
Sets whether text should coalesce consecutive newlines in rpgClone.
|
void |
setDateFormat(java.lang.String dateFormatStr)
Applies the given date format.
|
void |
setDrawsSelectionRect(boolean aValue)
Sets whether text should always draw at least a light-gray border (useful when editing).
|
void |
setFont(RMFont aFont)
Sets the font for all characters.
|
void |
setFormat(RMFormat aFormat)
Deprecated.
|
void |
setHeight(double aValue)
Override to revalidate.
|
void |
setLineGap(float aHeight)
Sets the line gap for all chars.
|
void |
setLineHeightMax(float aHeight)
Sets the maximum line height for all chars.
|
void |
setLineHeightMin(float aHeight)
Sets the minimum line height for all chars.
|
void |
setLineSpacing(float aHeight)
Sets the line spacing for all chars.
|
void |
setLinkedText(RMLinkedText aLinkedText)
Sets the linked text for this text (if any).
|
void |
setMargin(java.awt.Insets aMargin)
Sets margin.
|
void |
setMarginString(java.lang.String aString)
Sets the margin as a string.
|
void |
setNegativeInRed(boolean negativeInRed) |
void |
setNullFormat(java.lang.String nullFormat) |
void |
setNumberFormat(java.lang.String numberFormatStr)
Applies the given number format.
|
void |
setOutline(RMXString.Outline anOutline)
Sets the Outline for all characters.
|
void |
setPathShape(RMShape aShape)
Sets the shape that provides the path for this text to wrap text to.
|
void |
setPerformsWrap(boolean aFlag)
Sets whether text should wrap around other shapes that cause wrap.
|
void |
setRadius(float aValue)
Overrides rectangle implementation to potentially clear path shape.
|
void |
setText(java.lang.String aString)
Replaces the current text associated with this RMText with the given String.
|
void |
setTextColor(RMColor aColor)
Sets the color of the characters in the XString associated with this RMText.
|
void |
setUnderlined(boolean aFlag)
Sets all chars to be underlined.
|
void |
setWidth(double aValue)
Override to revalidate.
|
void |
setWraps(byte aValue)
Sets the wrapping behavior for over-filled rpgCloned text (NONE, WRAP, SHRINK).
|
void |
setXString(RMXString xString)
Sets the XString associated with this RMText.
|
boolean |
superSelectable()
Editor method - indicates that this shape can be super selected.
|
java.lang.String |
toString()
Standard toString implementation.
|
RXElement |
toXML(RXArchiver anArchiver)
XML archival.
|
getRadiusacceptsChildren, acceptsMouse, addBinding, addBinding, addDeepChangeListener, addMouseListener, animUpdate, bounds, childrenSuperSelectImmediately, cloneDeep, contains, convertedPointFromShape, convertedPointToShape, convertedRectFromShape, convertedRectToShape, convertedVectorFromShape, convertedVectorToShape, convertFromShape, convertPathFromShape, convertPathToShape, convertPointFromShape, convertPointToShape, convertRectFromShape, convertRectToShape, convertToShape, convertVectorFromShape, convertVectorToShape, copyShape, deepChange, divideShapeFromEdge, divideShapeFromTop, get, get, getAlignment, getAncestor, getAncestorCount, getAncestorInCommon, getAnimator, getAnimator, getAutosizing, getBestHeight, getBestHeight, getBestWidth, getBestWidth, getBinding, getBinding, getBindingCount, getBindings, getBounds, getBoundsInside, getBoundsMarked, getBoundsMarkedDeep, getChild, getChildAnimator, getChildAnimator, getChildClipShape, getChildCount, getChildren, getClipShape, getColor, getDashArrayString, getDashPhase, getDatasetEntity, getDatasetKey, getDisplayedFill, getDisplayedStroke, getDocument, getEffect, getEventAdapter, getFill, getFormat, getFrame, getFrameHeight, getFrameMaxX, getFrameMaxY, getFrameWidth, getFrameX, getFrameXY, getFrameY, getHeight, getHover, getLayoutInfo, getMaxX, getMaxY, getMinHeight, getMinHeight, getMinWidth, getMinWidth, getName, getOpacity, getOpacityDeep, getPageBreak, getPageBreakMax, getPageBreakPage, getPageBreakPageMax, getPageShape, getParent, getParent, getPrefHeight, getPrefHeight, getPrefWidth, getPrefWidth, getPropertyNameMapped, getPropertyNames, getRoll, getRootShape, getRSS, getScaleX, getScaleY, getShapesToAncestor, getShapesToDescendant, getShapesToShape, getSize, getSkewX, getSkewY, getStroke, getStrokeColor, getStrokeOnTop, getStrokeStyle, getStrokeWidth, 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, isUseFill, isUseStroke, isViewing, isVisible, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, offsetXY, page, pageMax, paint, paintShapeAll, paintShapeChildren, paintShapeOver, put, removeBinding, removeBinding, removeDeepChangeListener, removeFromParent, removeMouseListener, repaint, repaint, rpgAll, rpgBindings, setAlignment, setAutosizing, setBestHeight, setBestSize, setBounds, setBounds, setColor, setDashArrayString, setDashPhase, setEffect, setEnabled, setFill, setFrame, setFrame, setFrameSize, setFrameX, setFrameXY, setFrameXY, setFrameY, setHover, setLayoutInfo, setLocked, setMinHeight, setMinSize, setMinWidth, setName, setOpacity, setParent, setPrefHeight, setPrefWidth, setRoll, setScaleX, setScaleXY, setScaleY, setShowing, setSize, setSize, setSkewX, setSkewXY, setSkewY, setStroke, setStrokeColor, setStrokeStyle, setStrokeWidth, setTime, setTimeline, setURL, setUseFill, setUseStroke, setVisible, setX, setXY, setXY, setXYP, setY, shapeHidden, shapeShown, undoerDisable, undoerEnable, undoerSetUndoTitle, width, x, yaddPropertyChangeListener, firePropertyChange, firePropertyChange, firePropertyChange, getPCEvent, removePropertyChangeListener, sendPropertyChangeaddListener, getListener, getListenerCount, getListenerCount, getListenerList, getListeners, hasListeners, removeListenerpublic static final byte WRAP_NONE
public static final byte WRAP_BASIC
public static final byte WRAP_SCALE
public RMTextShape()
public RMTextShape(RMXString string)
public RMTextShape(java.lang.String plainText)
@Nonnull public RMXString getXString()
public void setXString(RMXString xString)
@Nonnull protected RMXString createXString()
public int length()
public java.lang.String getText()
public void setText(java.lang.String aString)
public int getVisibleStart()
public int getVisibleEnd()
public boolean isAllTextVisible()
public void setFont(RMFont aFont)
@Deprecated public void setFormat(RMFormat aFormat)
public boolean getNegativeInRed()
public void setNegativeInRed(boolean negativeInRed)
@Nonnull public java.lang.String getNumberFormat()
public void setNumberFormat(java.lang.String numberFormatStr)
@Nonnull public java.lang.String getDateFormat()
public void setDateFormat(@Nullable
java.lang.String dateFormatStr)
dateFormatStr - @Nonnull public java.lang.String getNullFormat()
public void setNullFormat(java.lang.String nullFormat)
public RMColor getTextColor()
getTextColor in class RMShapepublic void setTextColor(RMColor aColor)
setTextColor in class RMShapepublic boolean isUnderlined()
isUnderlined in class RMShapepublic void setUnderlined(boolean aFlag)
setUnderlined in class RMShapepublic RMXString.Outline getOutline()
getOutline in class RMShapepublic void setOutline(RMXString.Outline anOutline)
setOutline in class RMShapepublic RMTypes.AlignX getAlignmentX()
getAlignmentX in class RMShapepublic void setAlignmentX(RMTypes.AlignX anAlignmentX)
setAlignmentX in class RMShapepublic java.lang.String getAlignString()
public RMTypes.AlignY getAlignmentY()
getAlignmentY in class RMShapepublic void setAlignmentY(RMTypes.AlignY anAlignment)
setAlignmentY in class RMShapepublic byte getWraps()
public void setWraps(byte aValue)
public boolean getPerformsWrap()
public void setPerformsWrap(boolean aFlag)
public boolean getCoalesceNewlines()
public void setCoalesceNewlines(boolean aFlag)
public boolean getDrawsSelectionRect()
public void setDrawsSelectionRect(boolean aValue)
public float getCharSpacing()
public void setCharSpacing(float aValue)
public float getLineSpacing()
public void setLineSpacing(float aHeight)
public float getLineGap()
public void setLineGap(float aHeight)
public float getLineHeightMin()
public void setLineHeightMin(float aHeight)
public float getLineHeightMax()
public void setLineHeightMax(float aHeight)
public java.awt.Insets getMargin()
public void setMargin(java.awt.Insets aMargin)
public java.awt.Insets getMarginDefault()
public java.lang.String getMarginString()
public void setMarginString(java.lang.String aString)
public int getMarginLeft()
public int getMarginRight()
public int getMarginTop()
public int getMarginBottom()
public void setWidth(double aValue)
public void setHeight(double aValue)
public RMPath getPath()
getPath in class RMRectShapepublic RMPath getPathInBounds()
getPathInBounds in class RMShapepublic RMPath getPathInBounds(int anInset)
public void peerDidChange(RMShape aShape)
public RMShape getPathShape()
public void setPathShape(RMShape aShape)
public void setRadius(float aValue)
setRadius in class RMRectShapepublic RMLinkedText getLinkedText()
public void setLinkedText(RMLinkedText aLinkedText)
public RMTextLayout getTextLayout()
public RMTextLayout createTextLayout()
protected double computePrefWidth(double aHeight)
computePrefWidth in class RMShapeprotected double computePrefHeight(double aWidth)
computePrefHeight in class RMShapepublic void scaleFonts(double aFactor)
@Nullable protected RMShape rpgShape(ReportOwner anRptOwner, RMShape aParent)
protected java.util.List<RMTextShape> paginate()
protected void resolvePageReferences(ReportOwner aRptOwner, java.lang.Object userInfo)
resolvePageReferences in class RMShape@Nullable protected RMShape createDivideShapeRemainder(byte anEdge)
createDivideShapeRemainder in class RMShapepublic RMPath getMaskPath()
getMaskPath in class RMShapepublic boolean superSelectable()
superSelectable in class RMShapepublic boolean isStructured()
public void paintShape(RMShapePainter aPntr)
paintShape in class RMShapepublic void paintShapeBack(RMShapePainter aPntr)
public void paintShapeText(RMShapePainter aPntr)
protected void paintTextRun(RMShapePainter aPntr, RMTextRun aRun)
public void copyText(RMTextShape aText)
protected void getPropertyNames(java.util.List<java.lang.String> aList)
getPropertyNames in class RMShapepublic void propertyChange(java.beans.PropertyChangeEvent anEvent)
propertyChange in interface java.beans.PropertyChangeListenerpropertyChange in class RMShapepublic void revalidate()
@Nullable public RMTextShape clone()
public RXElement toXML(RXArchiver anArchiver)
toXML in interface ArchivabletoXML in class RMRectShapepublic java.lang.Object fromXML(RXArchiver anArchiver, RXElement anElement)
fromXML in interface ArchivablefromXML in class RMRectShapepublic void fromXMLFinish(RXArchiver anArchiver, RXElement anElement)
public java.lang.String toString()
public boolean isDeletable()
RMShapeisDeletable in class RMShapepublic java.lang.String getAutosizingDefault()
RMShapegetAutosizingDefault in class RMShape