about summary refs log tree commit diff
path: root/.venv/lib/python3.12/site-packages/docx/oxml/settings.py
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/docx/oxml/settings.py')
-rw-r--r--.venv/lib/python3.12/site-packages/docx/oxml/settings.py138
1 files changed, 138 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/docx/oxml/settings.py b/.venv/lib/python3.12/site-packages/docx/oxml/settings.py
new file mode 100644
index 00000000..d5bb41a6
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/docx/oxml/settings.py
@@ -0,0 +1,138 @@
+"""Custom element classes related to document settings."""
+
+from __future__ import annotations
+
+from typing import TYPE_CHECKING, Callable
+
+from docx.oxml.xmlchemy import BaseOxmlElement, ZeroOrOne
+
+if TYPE_CHECKING:
+    from docx.oxml.shared import CT_OnOff
+
+
+class CT_Settings(BaseOxmlElement):
+    """`w:settings` element, root element for the settings part."""
+
+    get_or_add_evenAndOddHeaders: Callable[[], CT_OnOff]
+    _remove_evenAndOddHeaders: Callable[[], None]
+
+    _tag_seq = (
+        "w:writeProtection",
+        "w:view",
+        "w:zoom",
+        "w:removePersonalInformation",
+        "w:removeDateAndTime",
+        "w:doNotDisplayPageBoundaries",
+        "w:displayBackgroundShape",
+        "w:printPostScriptOverText",
+        "w:printFractionalCharacterWidth",
+        "w:printFormsData",
+        "w:embedTrueTypeFonts",
+        "w:embedSystemFonts",
+        "w:saveSubsetFonts",
+        "w:saveFormsData",
+        "w:mirrorMargins",
+        "w:alignBordersAndEdges",
+        "w:bordersDoNotSurroundHeader",
+        "w:bordersDoNotSurroundFooter",
+        "w:gutterAtTop",
+        "w:hideSpellingErrors",
+        "w:hideGrammaticalErrors",
+        "w:activeWritingStyle",
+        "w:proofState",
+        "w:formsDesign",
+        "w:attachedTemplate",
+        "w:linkStyles",
+        "w:stylePaneFormatFilter",
+        "w:stylePaneSortMethod",
+        "w:documentType",
+        "w:mailMerge",
+        "w:revisionView",
+        "w:trackRevisions",
+        "w:doNotTrackMoves",
+        "w:doNotTrackFormatting",
+        "w:documentProtection",
+        "w:autoFormatOverride",
+        "w:styleLockTheme",
+        "w:styleLockQFSet",
+        "w:defaultTabStop",
+        "w:autoHyphenation",
+        "w:consecutiveHyphenLimit",
+        "w:hyphenationZone",
+        "w:doNotHyphenateCaps",
+        "w:showEnvelope",
+        "w:summaryLength",
+        "w:clickAndTypeStyle",
+        "w:defaultTableStyle",
+        "w:evenAndOddHeaders",
+        "w:bookFoldRevPrinting",
+        "w:bookFoldPrinting",
+        "w:bookFoldPrintingSheets",
+        "w:drawingGridHorizontalSpacing",
+        "w:drawingGridVerticalSpacing",
+        "w:displayHorizontalDrawingGridEvery",
+        "w:displayVerticalDrawingGridEvery",
+        "w:doNotUseMarginsForDrawingGridOrigin",
+        "w:drawingGridHorizontalOrigin",
+        "w:drawingGridVerticalOrigin",
+        "w:doNotShadeFormData",
+        "w:noPunctuationKerning",
+        "w:characterSpacingControl",
+        "w:printTwoOnOne",
+        "w:strictFirstAndLastChars",
+        "w:noLineBreaksAfter",
+        "w:noLineBreaksBefore",
+        "w:savePreviewPicture",
+        "w:doNotValidateAgainstSchema",
+        "w:saveInvalidXml",
+        "w:ignoreMixedContent",
+        "w:alwaysShowPlaceholderText",
+        "w:doNotDemarcateInvalidXml",
+        "w:saveXmlDataOnly",
+        "w:useXSLTWhenSaving",
+        "w:saveThroughXslt",
+        "w:showXMLTags",
+        "w:alwaysMergeEmptyNamespace",
+        "w:updateFields",
+        "w:hdrShapeDefaults",
+        "w:footnotePr",
+        "w:endnotePr",
+        "w:compat",
+        "w:docVars",
+        "w:rsids",
+        "m:mathPr",
+        "w:attachedSchema",
+        "w:themeFontLang",
+        "w:clrSchemeMapping",
+        "w:doNotIncludeSubdocsInStats",
+        "w:doNotAutoCompressPictures",
+        "w:forceUpgrade",
+        "w:captions",
+        "w:readModeInkLockDown",
+        "w:smartTagType",
+        "sl:schemaLibrary",
+        "w:shapeDefaults",
+        "w:doNotEmbedSmartTags",
+        "w:decimalSymbol",
+        "w:listSeparator",
+    )
+    evenAndOddHeaders: CT_OnOff | None = ZeroOrOne(  # pyright: ignore[reportAssignmentType]
+        "w:evenAndOddHeaders", successors=_tag_seq[48:]
+    )
+    del _tag_seq
+
+    @property
+    def evenAndOddHeaders_val(self) -> bool:
+        """Value of `w:evenAndOddHeaders/@w:val` or |None| if not present."""
+        evenAndOddHeaders = self.evenAndOddHeaders
+        if evenAndOddHeaders is None:
+            return False
+        return evenAndOddHeaders.val
+
+    @evenAndOddHeaders_val.setter
+    def evenAndOddHeaders_val(self, value: bool | None):
+        if value is None or value is False:
+            self._remove_evenAndOddHeaders()
+            return
+
+        self.get_or_add_evenAndOddHeaders().val = value