GroupShape Class
Represents a group of shapes in a document.
Inheritance Hierarchy

Namespace: Aspose.Words.Drawing
Assembly: Aspose.Words (in Aspose.Words.dll) Version: 19.12
Syntax
public class GroupShape : ShapeBase

The GroupShape type exposes the following members.

Constructors
  NameDescription
Public methodCode exampleGroupShape
Creates a new group shape.
Properties
  NameDescription
Public propertyCode exampleAllowOverlap
Gets or sets a value that specifies whether this shape can overlap other shapes.
(Inherited from ShapeBase.)
Public propertyCode exampleAlternativeText
Defines alternative text to be displayed instead of a graphic.
(Inherited from ShapeBase.)
Public propertyCode exampleAnchorLocked
Specifies whether the shape's anchor is locked.
(Inherited from ShapeBase.)
Public propertyCode exampleAspectRatioLocked
Specifies whether the shape's aspect ratio is locked.
(Inherited from ShapeBase.)
Public propertyCode exampleBehindText
Specifies whether the shape is below or above text.
(Inherited from ShapeBase.)
Public propertyCode exampleBottom
Gets the position of the bottom edge of the containing block of the shape.
(Inherited from ShapeBase.)
Public propertyCode exampleBounds
Gets or sets the location and size of the containing block of the shape.
(Inherited from ShapeBase.)
Public propertyCode exampleBoundsInPoints
Gets the location and size of the containing block of the shape in points, relative to the anchor of the topmost shape.
(Inherited from ShapeBase.)
Public propertyCode exampleBoundsWithEffects
Gets final extent that this shape object has after applying drawing effects. Value is measured in points.
(Inherited from ShapeBase.)
Public propertyCode exampleCanHaveImage
Returns true if the shape type allows the shape to have an image.
(Inherited from ShapeBase.)
Public propertyCode exampleChildNodes
Gets all immediate child nodes of this node.
(Inherited from CompositeNode.)
Public propertyCode exampleCoordOrigin
The coordinates at the top-left corner of the containing block of this shape.
(Inherited from ShapeBase.)
Public propertyCode exampleCoordSize
The width and height of the coordinate space inside the containing block of this shape.
(Inherited from ShapeBase.)
Public propertyCode exampleCount
Gets the number of immediate children of this node.
(Inherited from CompositeNode.)
Public propertyCode exampleDistanceBottom
Returns or sets the distance (in points) between the document text and the bottom edge of the shape.
(Inherited from ShapeBase.)
Public propertyCode exampleDistanceLeft
Returns or sets the distance (in points) between the document text and the left edge of the shape.
(Inherited from ShapeBase.)
Public propertyCode exampleDistanceRight
Returns or sets the distance (in points) between the document text and the right edge of the shape.
(Inherited from ShapeBase.)
Public propertyCode exampleDistanceTop
Returns or sets the distance (in points) between the document text and the top edge of the shape.
(Inherited from ShapeBase.)
Public propertyCode exampleDocument
Gets the document to which this node belongs.
(Inherited from Node.)
Public propertyCode exampleFirstChild
Gets the first child of the node.
(Inherited from CompositeNode.)
Public propertyCode exampleFlipOrientation
Switches the orientation of a shape.
(Inherited from ShapeBase.)
Public propertyCode exampleFont
Provides access to the font formatting of this object.
(Inherited from ShapeBase.)
Public propertyCode exampleHasChildNodes
Returns true if this node has any child nodes.
(Inherited from CompositeNode.)
Public propertyCode exampleHeight
Gets or sets the height of the containing block of the shape.
(Inherited from ShapeBase.)
Public propertyCode exampleHorizontalAlignment
Specifies how the shape is positioned horizontally.
(Inherited from ShapeBase.)
Public propertyCode exampleHRef
Gets or sets the full hyperlink address for a shape.
(Inherited from ShapeBase.)
Public propertyCode exampleIsComposite
Returns true as this node can have child nodes.
(Inherited from CompositeNode.)
Public propertyCode exampleIsDeleteRevision
Returns true if this object was deleted in Microsoft Word while change tracking was enabled.
(Inherited from ShapeBase.)
Public propertyCode exampleIsGroup
Returns true if this is a group shape.
(Inherited from ShapeBase.)
Public propertyCode exampleIsHorizontalRule
Returns true if this shape is a horizontal rule.
(Inherited from ShapeBase.)
Public propertyCode exampleIsImage
Returns true if this shape is an image shape.
(Inherited from ShapeBase.)
Public propertyCode exampleIsInline
A quick way to determine if this shape is positioned inline with text.
(Inherited from ShapeBase.)
Public propertyCode exampleIsInsertRevision
Returns true if this object was inserted in Microsoft Word while change tracking was enabled.
(Inherited from ShapeBase.)
Public propertyCode exampleIsLayoutInCell
Gets or sets a flag indicating whether the shape is displayed inside a table or outside of it.
(Inherited from ShapeBase.)
Public propertyCode exampleIsMoveFromRevision
Returns true if this object was moved (deleted) in Microsoft Word while change tracking was enabled.
(Inherited from ShapeBase.)
Public propertyCode exampleIsMoveToRevision
Returns true if this object was moved (inserted) in Microsoft Word while change tracking was enabled.
(Inherited from ShapeBase.)
Public propertyCode exampleIsSignatureLine
Indicates that shape is a SignatureLine.
(Inherited from ShapeBase.)
Public propertyCode exampleIsTopLevel
Returns true if this shape is not a child of a group shape.
(Inherited from ShapeBase.)
Public propertyCode exampleIsWordArt
Returns true if this shape is a WordArt object.
(Inherited from ShapeBase.)
Public propertyCode exampleLastChild
Gets the last child of the node.
(Inherited from CompositeNode.)
Public propertyCode exampleLeft
Gets or sets the position of the left edge of the containing block of the shape.
(Inherited from ShapeBase.)
Public propertyCode exampleMarkupLanguage
Gets MarkupLanguage used for this graphic object.
(Inherited from ShapeBase.)
Public propertyCode exampleName
Gets or sets the optional shape name.
(Inherited from ShapeBase.)
Public propertyCode exampleNextSibling
Gets the node immediately following this node.
(Inherited from Node.)
Public propertyCode exampleNodeType
Returns GroupShape.
(Overrides NodeNodeType.)
Public propertyCode exampleParentNode
Gets the immediate parent of this node.
(Inherited from Node.)
Public propertyCode exampleParentParagraph
Returns the immediate parent paragraph.
(Inherited from ShapeBase.)
Public propertyCode examplePreviousSibling
Gets the node immediately preceding this node.
(Inherited from Node.)
Public propertyCode exampleRange
Returns a Range object that represents the portion of a document that is contained in this node.
(Inherited from Node.)
Public propertyCode exampleRelativeHorizontalPosition
Specifies relative to what the shape is positioned horizontally.
(Inherited from ShapeBase.)
Public propertyCode exampleRelativeVerticalPosition
Specifies relative to what the shape is positioned vertically.
(Inherited from ShapeBase.)
Public propertyCode exampleRight
Gets the position of the right edge of the containing block of the shape.
(Inherited from ShapeBase.)
Public propertyCode exampleRotation
Defines the angle (in degrees) that a shape is rotated. Positive value corresponds to clockwise rotation angle.
(Inherited from ShapeBase.)
Public propertyCode exampleScreenTip
Defines the text displayed when the mouse pointer moves over the shape.
(Inherited from ShapeBase.)
Public propertyCode exampleShapeType
Gets the shape type.
(Inherited from ShapeBase.)
Public propertyCode exampleSizeInPoints
Gets the size of the shape in points.
(Inherited from ShapeBase.)
Public propertyCode exampleTarget
Gets or sets the target frame for the shape hyperlink.
(Inherited from ShapeBase.)
Public propertyCode exampleTitle
Gets or sets the title (caption) of the current shape object.
(Inherited from ShapeBase.)
Public propertyCode exampleTop
Gets or sets the position of the top edge of the containing block of the shape.
(Inherited from ShapeBase.)
Public propertyCode exampleVerticalAlignment
Specifies how the shape is positioned vertically.
(Inherited from ShapeBase.)
Public propertyCode exampleWidth
Gets or sets the width of the containing block of the shape.
(Inherited from ShapeBase.)
Public propertyCode exampleWrapSide
Specifies how the text is wrapped around the shape.
(Inherited from ShapeBase.)
Public propertyCode exampleWrapType
Defines whether the shape is inline or floating. For floating shapes defines the wrapping mode for text around the shape.
(Inherited from ShapeBase.)
Public propertyCode exampleZOrder
Determines the display order of overlapping shapes.
(Inherited from ShapeBase.)
Methods
  NameDescription
Public methodCode exampleAccept
Accepts a visitor.
(Overrides NodeAccept(DocumentVisitor).)
Protected methodAcceptChildren (Inherited from CompositeNode.)
Protected methodAcceptCore (Inherited from CompositeNode.)
Public methodCode exampleAdjustWithEffects
Adds to the source rectangle values of the effect extent and returns the final rectangle.
(Inherited from ShapeBase.)
Public methodCode exampleAppendChild
Adds the specified node to the end of the list of child nodes for this node.
(Inherited from CompositeNode.)
Public methodCode exampleClone (Inherited from Node.)
Protected methodCoreRemoveSelfOnly (Inherited from CompositeNode.)
Public methodCode exampleCreateNavigator
Reserved for system use. IXPathNavigable.
(Inherited from CompositeNode.)
Public methodEquals (Inherited from Object.)
Public methodFetchInheritedShapeAttr
Reserved for system use. IShapeAttrSource.
(Inherited from ShapeBase.)
Public methodFetchShapeAttr
Reserved for system use. IShapeAttrSource.
(Inherited from ShapeBase.)
Protected methodFinalize (Inherited from Object.)
Public methodCode exampleGetAncestor(Type)
Gets the first ancestor of the specified object type.
(Inherited from Node.)
Public methodCode exampleGetAncestor(NodeType)
Gets the first ancestor of the specified NodeType.
(Inherited from Node.)
Public methodCode exampleGetChild
Returns an Nth child node that matches the specified type.
(Inherited from CompositeNode.)
Public methodCode exampleGetChildNodes
Returns a live collection of child nodes that match the specified type.
(Inherited from CompositeNode.)
Public methodGetDirectShapeAttr
Reserved for system use. IShapeAttrSource.
(Inherited from ShapeBase.)
Public methodCode exampleGetEnumerator
Provides support for the for each style iteration over the child nodes of this node.
(Inherited from CompositeNode.)
Public methodGetHashCode (Inherited from Object.)
Public methodCode exampleGetShapeRenderer
Creates and returns an object that can be used to render this shape into an image.
(Inherited from ShapeBase.)
Public methodCode exampleGetText
Gets the text of this node and of all its children.
(Inherited from CompositeNode.)
Public methodGetType (Inherited from Object.)
Public methodCode exampleIndexOf
Returns the index of the specified child node in the child node array.
(Inherited from CompositeNode.)
Public methodCode exampleInsertAfter
Inserts the specified node immediately after the specified reference node.
(Inherited from CompositeNode.)
Public methodCode exampleInsertBefore
Inserts the specified node immediately before the specified reference node.
(Inherited from CompositeNode.)
Public methodCode exampleLocalToParent
Converts a value from the local coordinate space into the coordinate space of the parent shape.
(Inherited from ShapeBase.)
Protected methodMemberwiseClone (Inherited from Object.)
Public methodCode exampleNextPreOrder
Gets next node according to the pre-order tree traversal algorithm.
(Inherited from Node.)
Public methodCode examplePrependChild
Adds the specified node to the beginning of the list of child nodes for this node.
(Inherited from CompositeNode.)
Public methodCode examplePreviousPreOrder
Gets the previous node according to the pre-order tree traversal algorithm.
(Inherited from Node.)
Public methodCode exampleRemove
Removes itself from the parent.
(Inherited from Node.)
Public methodCode exampleRemoveAllChildren
Removes all the child nodes of the current node.
(Inherited from CompositeNode.)
Public methodCode exampleRemoveChild
Removes the specified child node.
(Inherited from CompositeNode.)
Public methodRemoveShapeAttr
Reserved for system use. IShapeAttrSource.
(Inherited from ShapeBase.)
Public methodCode exampleRemoveSmartTags
Removes all SmartTag descendant nodes of the current node.
(Inherited from CompositeNode.)
Public methodCode exampleSelectNodes
Selects a list of nodes matching the XPath expression.
(Inherited from CompositeNode.)
Public methodCode exampleSelectSingleNode
Selects the first Node that matches the XPath expression.
(Inherited from CompositeNode.)
Public methodSetShapeAttr
Reserved for system use. IShapeAttrSource.
(Inherited from ShapeBase.)
Public methodToString (Inherited from Object.)
Public methodCode exampleToString(SaveFormat)
Exports the content of the node into a string in the specified format.
(Inherited from Node.)
Public methodCode exampleToString(SaveOptions)
Exports the content of the node into a string using the specified save options.
(Inherited from Node.)
Remarks

A GroupShape is a composite node and can have Shape and GroupShape nodes as children.

Each GroupShape defines a new coordinate system for its child shapes. The coordinate system is defined using the CoordSize and CoordOrigin properties.

Examples
Shows how to create a group of shapes, and let it accept a visitor
public void GroupOfShapes()
{
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    // If you need to create "NonPrimitive" shapes, like SingleCornerSnipped, TopCornersSnipped, DiagonalCornersSnipped,
    // TopCornersOneRoundedOneSnipped, SingleCornerRounded, TopCornersRounded, DiagonalCornersRounded
    // please use DocumentBuilder.InsertShape methods
    Shape balloon = new Shape(doc, ShapeType.Balloon)
    {
        Width = 200, 
        Height = 200,
        Stroke = { Color = Color.Red }
    };

    Shape cube = new Shape(doc, ShapeType.Cube)
    {
        Width = 100, 
        Height = 100,
        Stroke = { Color = Color.Blue }
    };

    GroupShape group = new GroupShape(doc);
    group.AppendChild(balloon);
    group.AppendChild(cube);

    Assert.True(group.IsGroup);

    builder.InsertNode(group);

    ShapeInfoPrinter printer = new ShapeInfoPrinter();
    group.Accept(printer);

    Console.WriteLine(printer.GetText());
}

/// <summary>
/// Visitor that prints shape group contents information to the console.
/// </summary>
public class ShapeInfoPrinter : DocumentVisitor
{
    public ShapeInfoPrinter()
    {
        mBuilder = new StringBuilder();
    }

    public string GetText()
    {
        return mBuilder.ToString();
    }

    public override VisitorAction VisitGroupShapeStart(GroupShape groupShape)
    {
        mBuilder.AppendLine("Shape group started:");
        return VisitorAction.Continue;
    }

    public override VisitorAction VisitGroupShapeEnd(GroupShape groupShape)
    {
        mBuilder.AppendLine("End of shape group");
        return VisitorAction.Continue;
    }

    public override VisitorAction VisitShapeStart(Shape shape)
    {
        mBuilder.AppendLine("\tShape - " + shape.ShapeType + ":");
        mBuilder.AppendLine("\t\tWidth: " + shape.Width);
        mBuilder.AppendLine("\t\tHeight: " + shape.Height);
        mBuilder.AppendLine("\t\tStroke color: " + shape.Stroke.Color);
        mBuilder.AppendLine("\t\tFill color: " + shape.Fill.Color);
        return VisitorAction.Continue;
    }

    public override VisitorAction VisitShapeEnd(Shape shape)
    {
        mBuilder.AppendLine("\tEnd of shape");
        return VisitorAction.Continue;
    }

    private readonly StringBuilder mBuilder;
}
See Also