Coverage for /var/srv/projects/api.amasfac.comuna18.com/tmp/venv/lib/python3.9/site-packages/openpyxl/chart/shapes.py: 65%
39 statements
« prev ^ index » next coverage.py v6.4.4, created at 2023-07-17 14:22 -0600
« prev ^ index » next coverage.py v6.4.4, created at 2023-07-17 14:22 -0600
1# Copyright (c) 2010-2022 openpyxl
3from openpyxl.descriptors.serialisable import Serialisable
4from openpyxl.descriptors import (
5 Typed,
6 Alias
7)
8from openpyxl.descriptors.nested import (
9 EmptyTag
10)
11from openpyxl.drawing.colors import ColorChoiceDescriptor
12from openpyxl.drawing.fill import *
13from openpyxl.drawing.line import LineProperties
14from openpyxl.drawing.geometry import (
15 Shape3D,
16 Scene3D,
17 Transform2D,
18 CustomGeometry2D,
19 PresetGeometry2D,
20)
23class GraphicalProperties(Serialisable):
25 """
26 Somewhat vaguely 21.2.2.197 says this:
28 This element specifies the formatting for the parent chart element. The
29 custGeom, prstGeom, scene3d, and xfrm elements are not supported. The
30 bwMode attribute is not supported.
32 This doesn't leave much. And the element is used in different places.
33 """
35 tagname = "spPr"
37 bwMode = NoneSet(values=(['clr', 'auto', 'gray', 'ltGray', 'invGray',
38 'grayWhite', 'blackGray', 'blackWhite', 'black', 'white', 'hidden']
39 )
40 )
42 xfrm = Typed(expected_type=Transform2D, allow_none=True)
43 transform = Alias('xfrm')
44 custGeom = Typed(expected_type=CustomGeometry2D, allow_none=True) # either or
45 prstGeom = Typed(expected_type=PresetGeometry2D, allow_none=True)
47 # fills one of
48 noFill = EmptyTag(namespace=DRAWING_NS)
49 solidFill = ColorChoiceDescriptor()
50 gradFill = Typed(expected_type=GradientFillProperties, allow_none=True)
51 pattFill = Typed(expected_type=PatternFillProperties, allow_none=True)
53 ln = Typed(expected_type=LineProperties, allow_none=True)
54 line = Alias('ln')
55 scene3d = Typed(expected_type=Scene3D, allow_none=True)
56 sp3d = Typed(expected_type=Shape3D, allow_none=True)
57 shape3D = Alias('sp3d')
58 extLst = Typed(expected_type=OfficeArtExtensionList, allow_none=True)
60 __elements__ = ('xfrm', 'prstGeom', 'noFill', 'solidFill', 'gradFill', 'pattFill',
61 'ln', 'scene3d', 'sp3d')
63 def __init__(self,
64 bwMode=None,
65 xfrm=None,
66 noFill=None,
67 solidFill=None,
68 gradFill=None,
69 pattFill=None,
70 ln=None,
71 scene3d=None,
72 custGeom=None,
73 prstGeom=None,
74 sp3d=None,
75 extLst=None,
76 ):
77 self.bwMode = bwMode
78 self.xfrm = xfrm
79 self.noFill = noFill
80 self.solidFill = solidFill
81 self.gradFill = gradFill
82 self.pattFill = pattFill
83 if ln is None:
84 ln = LineProperties()
85 self.ln = ln
86 self.custGeom = custGeom
87 self.prstGeom = prstGeom
88 self.scene3d = scene3d
89 self.sp3d = sp3d