(
cls,
slide_idx: int,
shape_idx: int,
shape: PPTXGroupShape,
style: dict,
text_frame: TextFrame,
config: Config,
slide_area: float,
level: int,
)
| 737 | class GroupShape(ShapeElement): |
| 738 | @classmethod |
| 739 | def from_shape( |
| 740 | cls, |
| 741 | slide_idx: int, |
| 742 | shape_idx: int, |
| 743 | shape: PPTXGroupShape, |
| 744 | style: dict, |
| 745 | text_frame: TextFrame, |
| 746 | config: Config, |
| 747 | slide_area: float, |
| 748 | level: int, |
| 749 | ): |
| 750 | data = [ |
| 751 | ShapeElement.from_shape( |
| 752 | slide_idx, |
| 753 | (shape_idx + 1) * 100 + i, |
| 754 | sub_shape, |
| 755 | config, |
| 756 | slide_area, |
| 757 | level=level + 1, |
| 758 | ) |
| 759 | for i, sub_shape in enumerate(shape.shapes) |
| 760 | ] |
| 761 | for idx, shape_bounds in enumerate(parse_groupshape(shape)): |
| 762 | data[idx].style["shape_bounds"] = shape_bounds |
| 763 | return cls( |
| 764 | slide_idx, shape_idx, style, data, text_frame, slide_area, level=level |
| 765 | ) |
| 766 | |
| 767 | def build(self, slide: PPTXSlide): |
| 768 | for shape in self.data: |
nothing calls this directly
no test coverage detected