aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/openpyxl/worksheet/views.py
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/openpyxl/worksheet/views.py')
-rw-r--r--.venv/lib/python3.12/site-packages/openpyxl/worksheet/views.py155
1 files changed, 155 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/openpyxl/worksheet/views.py b/.venv/lib/python3.12/site-packages/openpyxl/worksheet/views.py
new file mode 100644
index 00000000..27046b0d
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/openpyxl/worksheet/views.py
@@ -0,0 +1,155 @@
+# Copyright (c) 2010-2024 openpyxl
+
+from openpyxl.descriptors import (
+ Bool,
+ Integer,
+ String,
+ Set,
+ Float,
+ Typed,
+ NoneSet,
+ Sequence,
+)
+from openpyxl.descriptors.excel import ExtensionList
+from openpyxl.descriptors.serialisable import Serialisable
+
+
+class Pane(Serialisable):
+ xSplit = Float(allow_none=True)
+ ySplit = Float(allow_none=True)
+ topLeftCell = String(allow_none=True)
+ activePane = Set(values=("bottomRight", "topRight", "bottomLeft", "topLeft"))
+ state = Set(values=("split", "frozen", "frozenSplit"))
+
+ def __init__(self,
+ xSplit=None,
+ ySplit=None,
+ topLeftCell=None,
+ activePane="topLeft",
+ state="split"):
+ self.xSplit = xSplit
+ self.ySplit = ySplit
+ self.topLeftCell = topLeftCell
+ self.activePane = activePane
+ self.state = state
+
+
+class Selection(Serialisable):
+ pane = NoneSet(values=("bottomRight", "topRight", "bottomLeft", "topLeft"))
+ activeCell = String(allow_none=True)
+ activeCellId = Integer(allow_none=True)
+ sqref = String(allow_none=True)
+
+ def __init__(self,
+ pane=None,
+ activeCell="A1",
+ activeCellId=None,
+ sqref="A1"):
+ self.pane = pane
+ self.activeCell = activeCell
+ self.activeCellId = activeCellId
+ self.sqref = sqref
+
+
+class SheetView(Serialisable):
+
+ """Information about the visible portions of this sheet."""
+
+ tagname = "sheetView"
+
+ windowProtection = Bool(allow_none=True)
+ showFormulas = Bool(allow_none=True)
+ showGridLines = Bool(allow_none=True)
+ showRowColHeaders = Bool(allow_none=True)
+ showZeros = Bool(allow_none=True)
+ rightToLeft = Bool(allow_none=True)
+ tabSelected = Bool(allow_none=True)
+ showRuler = Bool(allow_none=True)
+ showOutlineSymbols = Bool(allow_none=True)
+ defaultGridColor = Bool(allow_none=True)
+ showWhiteSpace = Bool(allow_none=True)
+ view = NoneSet(values=("normal", "pageBreakPreview", "pageLayout"))
+ topLeftCell = String(allow_none=True)
+ colorId = Integer(allow_none=True)
+ zoomScale = Integer(allow_none=True)
+ zoomScaleNormal = Integer(allow_none=True)
+ zoomScaleSheetLayoutView = Integer(allow_none=True)
+ zoomScalePageLayoutView = Integer(allow_none=True)
+ zoomToFit = Bool(allow_none=True) # Chart sheets only
+ workbookViewId = Integer()
+ selection = Sequence(expected_type=Selection)
+ pane = Typed(expected_type=Pane, allow_none=True)
+
+ def __init__(self,
+ windowProtection=None,
+ showFormulas=None,
+ showGridLines=None,
+ showRowColHeaders=None,
+ showZeros=None,
+ rightToLeft=None,
+ tabSelected=None,
+ showRuler=None,
+ showOutlineSymbols=None,
+ defaultGridColor=None,
+ showWhiteSpace=None,
+ view=None,
+ topLeftCell=None,
+ colorId=None,
+ zoomScale=None,
+ zoomScaleNormal=None,
+ zoomScaleSheetLayoutView=None,
+ zoomScalePageLayoutView=None,
+ zoomToFit=None,
+ workbookViewId=0,
+ selection=None,
+ pane=None,):
+ self.windowProtection = windowProtection
+ self.showFormulas = showFormulas
+ self.showGridLines = showGridLines
+ self.showRowColHeaders = showRowColHeaders
+ self.showZeros = showZeros
+ self.rightToLeft = rightToLeft
+ self.tabSelected = tabSelected
+ self.showRuler = showRuler
+ self.showOutlineSymbols = showOutlineSymbols
+ self.defaultGridColor = defaultGridColor
+ self.showWhiteSpace = showWhiteSpace
+ self.view = view
+ self.topLeftCell = topLeftCell
+ self.colorId = colorId
+ self.zoomScale = zoomScale
+ self.zoomScaleNormal = zoomScaleNormal
+ self.zoomScaleSheetLayoutView = zoomScaleSheetLayoutView
+ self.zoomScalePageLayoutView = zoomScalePageLayoutView
+ self.zoomToFit = zoomToFit
+ self.workbookViewId = workbookViewId
+ self.pane = pane
+ if selection is None:
+ selection = (Selection(), )
+ self.selection = selection
+
+
+class SheetViewList(Serialisable):
+
+ tagname = "sheetViews"
+
+ sheetView = Sequence(expected_type=SheetView, )
+ extLst = Typed(expected_type=ExtensionList, allow_none=True)
+
+ __elements__ = ('sheetView',)
+
+ def __init__(self,
+ sheetView=None,
+ extLst=None,
+ ):
+ if sheetView is None:
+ sheetView = [SheetView()]
+ self.sheetView = sheetView
+
+
+ @property
+ def active(self):
+ """
+ Returns the first sheet view which is assumed to be active
+ """
+ return self.sheetView[0]