Source code for fastpyxl.chart.print_settings
# Copyright (c) 2010-2024 fastpyxl
from __future__ import annotations
from fastpyxl.typed_serialisable.base import Serialisable
from fastpyxl.typed_serialisable.fields import AliasField, Field
from fastpyxl.worksheet.page import PrintPageSetup
from fastpyxl.worksheet.header_footer import HeaderFooter
[docs]
class PageMargins(Serialisable):
"""
Identical to fastpyxl.worksheet.page.Pagemargins but element names are different :-/
"""
tagname = "pageMargins"
l: float | None = Field.attribute(expected_type=float, default=0.75) # noqa: E741
left = AliasField("l", default=None)
r: float | None = Field.attribute(expected_type=float, default=0.75)
right = AliasField("r", default=None)
t: float | None = Field.attribute(expected_type=float, default=1)
top = AliasField("t", default=None)
b: float | None = Field.attribute(expected_type=float, default=1)
bottom = AliasField("b", default=None)
header: float | None = Field.attribute(expected_type=float, default=0.5)
footer: float | None = Field.attribute(expected_type=float, default=0.5)
def __init__(self, l=0.75, r=0.75, t=1, b=1, header=0.5, footer=0.5): # noqa: E741
self.l = l # noqa: E741
self.r = r
self.t = t
self.b = b
self.header = header
self.footer = footer
[docs]
class PrintSettings(Serialisable):
tagname = "printSettings"
headerFooter: HeaderFooter | None = Field.element(
expected_type=HeaderFooter, allow_none=True, default=None
)
pageMargins: PageMargins | None = Field.element(
expected_type=PageMargins, allow_none=True, default=None
)
pageSetup: PrintPageSetup | None = Field.element(
expected_type=PrintPageSetup, allow_none=True, default=None
)
xml_order = ("headerFooter", "pageMargins", "pageSetup")
def __init__(self, headerFooter=None, pageMargins=None, pageSetup=None):
self.headerFooter = headerFooter
self.pageMargins = pageMargins
self.pageSetup = pageSetup