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

1# Copyright (c) 2010-2022 openpyxl 

2 

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) 

21 

22 

23class GraphicalProperties(Serialisable): 

24 

25 """ 

26 Somewhat vaguely 21.2.2.197 says this: 

27 

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. 

31 

32 This doesn't leave much. And the element is used in different places. 

33 """ 

34 

35 tagname = "spPr" 

36 

37 bwMode = NoneSet(values=(['clr', 'auto', 'gray', 'ltGray', 'invGray', 

38 'grayWhite', 'blackGray', 'blackWhite', 'black', 'white', 'hidden'] 

39 ) 

40 ) 

41 

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) 

46 

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) 

52 

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) 

59 

60 __elements__ = ('xfrm', 'prstGeom', 'noFill', 'solidFill', 'gradFill', 'pattFill', 

61 'ln', 'scene3d', 'sp3d') 

62 

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