aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/openpyxl/chart/text.py
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/openpyxl/chart/text.py')
-rw-r--r--.venv/lib/python3.12/site-packages/openpyxl/chart/text.py78
1 files changed, 78 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/openpyxl/chart/text.py b/.venv/lib/python3.12/site-packages/openpyxl/chart/text.py
new file mode 100644
index 00000000..bd034c24
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/openpyxl/chart/text.py
@@ -0,0 +1,78 @@
+# Copyright (c) 2010-2024 openpyxl
+from openpyxl.descriptors.serialisable import Serialisable
+from openpyxl.descriptors import (
+ Typed,
+ Alias,
+ Sequence,
+)
+
+
+from openpyxl.drawing.text import (
+ RichTextProperties,
+ ListStyle,
+ Paragraph,
+)
+
+from .data_source import StrRef
+
+
+class RichText(Serialisable):
+
+ """
+ From the specification: 21.2.2.216
+
+ This element specifies text formatting. The lstStyle element is not supported.
+ """
+
+ tagname = "rich"
+
+ bodyPr = Typed(expected_type=RichTextProperties)
+ properties = Alias("bodyPr")
+ lstStyle = Typed(expected_type=ListStyle, allow_none=True)
+ p = Sequence(expected_type=Paragraph)
+ paragraphs = Alias('p')
+
+ __elements__ = ("bodyPr", "lstStyle", "p")
+
+ def __init__(self,
+ bodyPr=None,
+ lstStyle=None,
+ p=None,
+ ):
+ if bodyPr is None:
+ bodyPr = RichTextProperties()
+ self.bodyPr = bodyPr
+ self.lstStyle = lstStyle
+ if p is None:
+ p = [Paragraph()]
+ self.p = p
+
+
+class Text(Serialisable):
+
+ """
+ The value can be either a cell reference or a text element
+ If both are present then the reference will be used.
+ """
+
+ tagname = "tx"
+
+ strRef = Typed(expected_type=StrRef, allow_none=True)
+ rich = Typed(expected_type=RichText, allow_none=True)
+
+ __elements__ = ("strRef", "rich")
+
+ def __init__(self,
+ strRef=None,
+ rich=None
+ ):
+ self.strRef = strRef
+ if rich is None:
+ rich = RichText()
+ self.rich = rich
+
+
+ def to_tree(self, tagname=None, idx=None, namespace=None):
+ if self.strRef and self.rich:
+ self.rich = None # can only have one
+ return super().to_tree(tagname, idx, namespace)