aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/pptx/shapes/group.py
diff options
context:
space:
mode:
authorS. Solomon Darnell2025-03-28 21:52:21 -0500
committerS. Solomon Darnell2025-03-28 21:52:21 -0500
commit4a52a71956a8d46fcb7294ac71734504bb09bcc2 (patch)
treeee3dc5af3b6313e921cd920906356f5d4febc4ed /.venv/lib/python3.12/site-packages/pptx/shapes/group.py
parentcc961e04ba734dd72309fb548a2f97d67d578813 (diff)
downloadgn-ai-master.tar.gz
two version of R2R are hereHEADmaster
Diffstat (limited to '.venv/lib/python3.12/site-packages/pptx/shapes/group.py')
-rw-r--r--.venv/lib/python3.12/site-packages/pptx/shapes/group.py69
1 files changed, 69 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/pptx/shapes/group.py b/.venv/lib/python3.12/site-packages/pptx/shapes/group.py
new file mode 100644
index 00000000..71737585
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/pptx/shapes/group.py
@@ -0,0 +1,69 @@
+"""GroupShape and related objects."""
+
+from __future__ import annotations
+
+from typing import TYPE_CHECKING
+
+from pptx.dml.effect import ShadowFormat
+from pptx.enum.shapes import MSO_SHAPE_TYPE
+from pptx.shapes.base import BaseShape
+from pptx.util import lazyproperty
+
+if TYPE_CHECKING:
+ from pptx.action import ActionSetting
+ from pptx.oxml.shapes.groupshape import CT_GroupShape
+ from pptx.shapes.shapetree import GroupShapes
+ from pptx.types import ProvidesPart
+
+
+class GroupShape(BaseShape):
+ """A shape that acts as a container for other shapes."""
+
+ def __init__(self, grpSp: CT_GroupShape, parent: ProvidesPart):
+ super().__init__(grpSp, parent)
+ self._grpSp = grpSp
+
+ @lazyproperty
+ def click_action(self) -> ActionSetting:
+ """Unconditionally raises `TypeError`.
+
+ A group shape cannot have a click action or hover action.
+ """
+ raise TypeError("a group shape cannot have a click action")
+
+ @property
+ def has_text_frame(self) -> bool:
+ """Unconditionally |False|.
+
+ A group shape does not have a textframe and cannot itself contain text. This does not
+ impact the ability of shapes contained by the group to each have their own text.
+ """
+ return False
+
+ @lazyproperty
+ def shadow(self) -> ShadowFormat:
+ """|ShadowFormat| object representing shadow effect for this group.
+
+ A |ShadowFormat| object is always returned, even when no shadow is explicitly defined on
+ this group shape (i.e. when the group inherits its shadow behavior).
+ """
+ return ShadowFormat(self._grpSp.grpSpPr)
+
+ @property
+ def shape_type(self) -> MSO_SHAPE_TYPE:
+ """Member of :ref:`MsoShapeType` identifying the type of this shape.
+
+ Unconditionally `MSO_SHAPE_TYPE.GROUP` in this case
+ """
+ return MSO_SHAPE_TYPE.GROUP
+
+ @lazyproperty
+ def shapes(self) -> GroupShapes:
+ """|GroupShapes| object for this group.
+
+ The |GroupShapes| object provides access to the group's member shapes and provides methods
+ for adding new ones.
+ """
+ from pptx.shapes.shapetree import GroupShapes
+
+ return GroupShapes(self._element, self)