org.apache.poi.xslf.usermodel
Class XSLFGroupShape

java.lang.Object
  extended by org.apache.poi.xslf.usermodel.XSLFShape
      extended by org.apache.poi.xslf.usermodel.XSLFGroupShape
All Implemented Interfaces:
java.lang.Iterable<XSLFShape>, XSLFShapeContainer

@Beta
public class XSLFGroupShape
extends XSLFShape
implements XSLFShapeContainer

Represents a group shape that consists of many shapes grouped together.

Author:
Yegor Kozlov

Method Summary
 void clear()
          Removes all of the elements from this container (optional operation).
 XSLFAutoShape createAutoShape()
          create a new shape with a predefined geometry and add it to this shape container
 XSLFConnectorShape createConnector()
          create a connector
 XSLFFreeformShape createFreeform()
          create a new shape with a custom geometry
 XSLFGroupShape createGroup()
          create a group of shapes belonging to this container
 XSLFPictureShape createPicture(int pictureIndex)
          create a picture belonging to this container
 XSLFTextBox createTextBox()
          create a text box
 void draw(java.awt.Graphics2D graphics)
          Draw this shape into the supplied canvas
 java.awt.geom.Rectangle2D getAnchor()
           
 boolean getFlipHorizontal()
          Whether the shape is horizontally flipped
 boolean getFlipVertical()
          Whether the shape is vertically flipped
 java.awt.geom.Rectangle2D getInteriorAnchor()
           
 double getRotation()
          Rotation angle in degrees
 int getShapeId()
          Returns a unique identifier for this shape within the current document.
 java.lang.String getShapeName()
           
 XSLFShape[] getShapes()
          Returns an array containing all of the elements in this container in proper sequence (from first to last element).
 org.openxmlformats.schemas.presentationml.x2006.main.CTGroupShape getXmlObject()
           
 java.util.Iterator<XSLFShape> iterator()
          Returns an iterator over the shapes in this sheet
 boolean removeShape(XSLFShape xShape)
          Remove the specified shape from this group
 void setAnchor(java.awt.geom.Rectangle2D anchor)
           
 void setFlipHorizontal(boolean flip)
           
 void setFlipVertical(boolean flip)
          Whether the shape is vertically flipped
 void setInteriorAnchor(java.awt.geom.Rectangle2D anchor)
           
 void setRotation(double theta)
          Rotate this shape.
 
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

getXmlObject

public org.openxmlformats.schemas.presentationml.x2006.main.CTGroupShape getXmlObject()
Specified by:
getXmlObject in class XSLFShape
Returns:
the xml bean holding this shape's data

getAnchor

public java.awt.geom.Rectangle2D getAnchor()
Specified by:
getAnchor in class XSLFShape
Returns:
the position of this shape within the drawing canvas. The coordinates are expressed in points

setAnchor

public void setAnchor(java.awt.geom.Rectangle2D anchor)
Specified by:
setAnchor in class XSLFShape
Parameters:
anchor - the position of this shape within the drawing canvas. The coordinates are expressed in points

getInteriorAnchor

public java.awt.geom.Rectangle2D getInteriorAnchor()
Returns:
the coordinates of the child extents rectangle used for calculations of grouping, scaling, and rotation behavior of shapes placed within a group.

setInteriorAnchor

public void setInteriorAnchor(java.awt.geom.Rectangle2D anchor)
Parameters:
anchor - the coordinates of the child extents rectangle used for calculations of grouping, scaling, and rotation behavior of shapes placed within a group.

getShapes

public XSLFShape[] getShapes()
Description copied from interface: XSLFShapeContainer
Returns an array containing all of the elements in this container in proper sequence (from first to last element).

Specified by:
getShapes in interface XSLFShapeContainer
Returns:
child shapes contained witin this group

iterator

public java.util.Iterator<XSLFShape> iterator()
Returns an iterator over the shapes in this sheet

Specified by:
iterator in interface java.lang.Iterable<XSLFShape>
Returns:
an iterator over the shapes in this sheet

removeShape

public boolean removeShape(XSLFShape xShape)
Remove the specified shape from this group

Specified by:
removeShape in interface XSLFShapeContainer
Parameters:
xShape - shape to be removed from this sheet, if present
Returns:
true if this sheet contained the specified element

getShapeName

public java.lang.String getShapeName()
Specified by:
getShapeName in class XSLFShape
Returns:
human-readable name of this shape, e.g. "Rectange 3"

getShapeId

public int getShapeId()
Description copied from class: XSLFShape
Returns a unique identifier for this shape within the current document. This ID may be used to assist in uniquely identifying this object so that it can be referred to by other parts of the document.

If multiple objects within the same document share the same id attribute value, then the document shall be considered non-conformant.

Specified by:
getShapeId in class XSLFShape
Returns:
unique id of this shape

createAutoShape

public XSLFAutoShape createAutoShape()
Description copied from interface: XSLFShapeContainer
create a new shape with a predefined geometry and add it to this shape container

Specified by:
createAutoShape in interface XSLFShapeContainer

createFreeform

public XSLFFreeformShape createFreeform()
Description copied from interface: XSLFShapeContainer
create a new shape with a custom geometry

Specified by:
createFreeform in interface XSLFShapeContainer

createTextBox

public XSLFTextBox createTextBox()
Description copied from interface: XSLFShapeContainer
create a text box

Specified by:
createTextBox in interface XSLFShapeContainer

createConnector

public XSLFConnectorShape createConnector()
Description copied from interface: XSLFShapeContainer
create a connector

Specified by:
createConnector in interface XSLFShapeContainer

createGroup

public XSLFGroupShape createGroup()
Description copied from interface: XSLFShapeContainer
create a group of shapes belonging to this container

Specified by:
createGroup in interface XSLFShapeContainer

createPicture

public XSLFPictureShape createPicture(int pictureIndex)
Description copied from interface: XSLFShapeContainer
create a picture belonging to this container

Specified by:
createPicture in interface XSLFShapeContainer
Returns:

setFlipHorizontal

public void setFlipHorizontal(boolean flip)
Specified by:
setFlipHorizontal in class XSLFShape
Parameters:
flip - whether the shape is horizontally flipped

setFlipVertical

public void setFlipVertical(boolean flip)
Description copied from class: XSLFShape
Whether the shape is vertically flipped

Specified by:
setFlipVertical in class XSLFShape
Parameters:
flip - whether the shape is vertically flipped

getFlipHorizontal

public boolean getFlipHorizontal()
Description copied from class: XSLFShape
Whether the shape is horizontally flipped

Specified by:
getFlipHorizontal in class XSLFShape
Returns:
whether the shape is horizontally flipped

getFlipVertical

public boolean getFlipVertical()
Description copied from class: XSLFShape
Whether the shape is vertically flipped

Specified by:
getFlipVertical in class XSLFShape
Returns:
whether the shape is vertically flipped

setRotation

public void setRotation(double theta)
Description copied from class: XSLFShape
Rotate this shape.

Positive angles are clockwise (i.e., towards the positive y axis); negative angles are counter-clockwise (i.e., towards the negative y axis).

Specified by:
setRotation in class XSLFShape
Parameters:
theta - the rotation angle in degrees.

getRotation

public double getRotation()
Description copied from class: XSLFShape
Rotation angle in degrees

Positive angles are clockwise (i.e., towards the positive y axis); negative angles are counter-clockwise (i.e., towards the negative y axis).

Specified by:
getRotation in class XSLFShape
Returns:
rotation angle in degrees

draw

public void draw(java.awt.Graphics2D graphics)
Description copied from class: XSLFShape
Draw this shape into the supplied canvas

Specified by:
draw in class XSLFShape
Parameters:
graphics - the graphics to draw into

clear

public void clear()
Removes all of the elements from this container (optional operation). The container will be empty after this call returns.

Specified by:
clear in interface XSLFShapeContainer


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