org.apache.poi.xslf.usermodel
Class XSLFTextShape

java.lang.Object
  extended by org.apache.poi.xslf.usermodel.XSLFShape
      extended by org.apache.poi.xslf.usermodel.XSLFSimpleShape
          extended by org.apache.poi.xslf.usermodel.XSLFTextShape
All Implemented Interfaces:
java.lang.Iterable<XSLFTextParagraph>
Direct Known Subclasses:
XSLFAutoShape, XSLFTableCell

@Beta
public abstract class XSLFTextShape
extends XSLFSimpleShape
implements java.lang.Iterable<XSLFTextParagraph>

Represents a shape that can hold text.

Author:
Yegor Kozlov

Method Summary
 XSLFTextParagraph addNewTextParagraph()
          add a new paragraph run to this shape
 void clearText()
          unset text from this shape
 void drawContent(java.awt.Graphics2D graphics)
          draw any content within this shape (image, text, etc.).
 double getBottomInset()
          Returns the distance (in points) between the bottom of the text frame and the bottom of the inscribed rectangle of the shape that contains the text.
 double getLeftInset()
          Returns the distance (in points) between the left edge of the text frame and the left edge of the inscribed rectangle of the shape that contains the text.
 double getRightInset()
          Returns the distance (in points) between the right edge of the text frame and the right edge of the inscribed rectangle of the shape that contains the text.
 java.lang.String getText()
           
 TextAutofit getTextAutofit()
           
protected abstract  org.openxmlformats.schemas.drawingml.x2006.main.CTTextBody getTextBody(boolean create)
           
protected  org.openxmlformats.schemas.drawingml.x2006.main.CTTextBodyProperties getTextBodyPr()
           
 TextDirection getTextDirection()
           
 double getTextHeight()
          Compute the cumulative height occupied by the text
 java.util.List<XSLFTextParagraph> getTextParagraphs()
           
 Placeholder getTextType()
           
 double getTopInset()
          Returns the distance (in points) between the top of the text frame and the top of the inscribed rectangle of the shape that contains the text.
 VerticalAlignment getVerticalAlignment()
          Returns the type of vertical alignment for the text.
 boolean getWordWrap()
           
 java.util.Iterator<XSLFTextParagraph> iterator()
           
 java.awt.geom.Rectangle2D resizeToFitText()
          Adjust the size of the shape so it encompasses the text inside it.
 void setBottomInset(double margin)
          Sets the botom margin.
 void setLeftInset(double margin)
          Sets the left margin.
 void setPlaceholder(Placeholder placeholder)
          Specifies that the corresponding shape should be represented by the generating application as a placeholder.
 void setRightInset(double margin)
          Sets the right margin.
 void setText(java.lang.String text)
           
 void setTextAutofit(TextAutofit value)
          Specifies that a shape should be auto-fit to fully contain the text described within it.
 void setTextDirection(TextDirection orientation)
           
 void setTopInset(double margin)
          Sets the top margin.
 void setVerticalAlignment(VerticalAlignment anchor)
          Sets the type of vertical alignment for the text.
 void setWordWrap(boolean wrap)
           
 
Methods inherited from class org.apache.poi.xslf.usermodel.XSLFSimpleShape
draw, getAnchor, getCTPlaceholder, getFillColor, getFlipHorizontal, getFlipVertical, getLineCap, getLineColor, getLineDash, getLineHeadDecoration, getLineHeadLength, getLineHeadWidth, getLineTailDecoration, getLineTailLength, getLineTailWidth, getLineWidth, getNvPr, getRotation, getShadow, getShapeId, getShapeName, getShapeType, getSheet, getSpPr, getSpStyle, getXmlObject, setAnchor, setFillColor, setFlipHorizontal, setFlipVertical, setLineCap, setLineColor, setLineDash, setLineHeadDecoration, setLineHeadLength, setLineHeadWidth, setLineTailDecoration, setLineTailLength, setLineTailWidth, setLineWidth, setRotation, setShapeType
 
Methods inherited from class org.apache.poi.xslf.usermodel.XSLFShape
applyTransform
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

iterator

public java.util.Iterator<XSLFTextParagraph> iterator()
Specified by:
iterator in interface java.lang.Iterable<XSLFTextParagraph>

getText

public java.lang.String getText()
Returns:
text contained within this shape or empty string

clearText

public void clearText()
unset text from this shape


setText

public void setText(java.lang.String text)

getTextParagraphs

public java.util.List<XSLFTextParagraph> getTextParagraphs()
Returns:
text paragraphs in this shape

addNewTextParagraph

public XSLFTextParagraph addNewTextParagraph()
add a new paragraph run to this shape

Returns:
created paragraph run

setVerticalAlignment

public void setVerticalAlignment(VerticalAlignment anchor)
Sets the type of vertical alignment for the text.

Parameters:
anchor - - the type of alignment. A null values unsets this property.

getVerticalAlignment

public VerticalAlignment getVerticalAlignment()
Returns the type of vertical alignment for the text.

Returns:
the type of vertical alignment

setTextDirection

public void setTextDirection(TextDirection orientation)
Parameters:
orientation - vertical orientation of the text

getTextDirection

public TextDirection getTextDirection()
Returns:
vertical orientation of the text

getBottomInset

public double getBottomInset()
Returns the distance (in points) between the bottom of the text frame and the bottom of the inscribed rectangle of the shape that contains the text.

Returns:
the bottom inset in points

getLeftInset

public double getLeftInset()
Returns the distance (in points) between the left edge of the text frame and the left edge of the inscribed rectangle of the shape that contains the text.

Returns:
the left inset in points

getRightInset

public double getRightInset()
Returns the distance (in points) between the right edge of the text frame and the right edge of the inscribed rectangle of the shape that contains the text.

Returns:
the right inset in points

getTopInset

public double getTopInset()
Returns the distance (in points) between the top of the text frame and the top of the inscribed rectangle of the shape that contains the text.

Returns:
the top inset in points

setBottomInset

public void setBottomInset(double margin)
Sets the botom margin.

Parameters:
margin - the bottom margin
See Also:
getBottomInset()

setLeftInset

public void setLeftInset(double margin)
Sets the left margin.

Parameters:
margin - the left margin
See Also:
getLeftInset()

setRightInset

public void setRightInset(double margin)
Sets the right margin.

Parameters:
margin - the right margin
See Also:
getRightInset()

setTopInset

public void setTopInset(double margin)
Sets the top margin.

Parameters:
margin - the top margin
See Also:
getTopInset()

getWordWrap

public boolean getWordWrap()
Returns:
whether to wrap words within the bounding rectangle

setWordWrap

public void setWordWrap(boolean wrap)
Parameters:
wrap - whether to wrap words within the bounding rectangle

setTextAutofit

public void setTextAutofit(TextAutofit value)
Specifies that a shape should be auto-fit to fully contain the text described within it. Auto-fitting is when text within a shape is scaled in order to contain all the text inside

Parameters:
value - type of autofit

getTextAutofit

public TextAutofit getTextAutofit()
Returns:
type of autofit

getTextBodyPr

protected org.openxmlformats.schemas.drawingml.x2006.main.CTTextBodyProperties getTextBodyPr()

getTextBody

protected abstract org.openxmlformats.schemas.drawingml.x2006.main.CTTextBody getTextBody(boolean create)

getTextType

public Placeholder getTextType()

setPlaceholder

public void setPlaceholder(Placeholder placeholder)
Specifies that the corresponding shape should be represented by the generating application as a placeholder. When a shape is considered a placeholder by the generating application it can have special properties to alert the user that they may enter content into the shape. Different types of placeholders are allowed and can be specified by using the placeholder type attribute for this element

Parameters:
placeholder -

getTextHeight

public double getTextHeight()
Compute the cumulative height occupied by the text


resizeToFitText

public java.awt.geom.Rectangle2D resizeToFitText()
Adjust the size of the shape so it encompasses the text inside it.

Returns:
a Rectangle2D that is the bounds of this shape.

drawContent

public void drawContent(java.awt.Graphics2D graphics)
Description copied from class: XSLFSimpleShape
draw any content within this shape (image, text, etc.).

Overrides:
drawContent in class XSLFSimpleShape
Parameters:
graphics - the graphics to draw into


Copyright 2012 The Apache Software Foundation or its licensors, as applicable.