aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/openpyxl/worksheet/scenario.py
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/openpyxl/worksheet/scenario.py')
-rw-r--r--.venv/lib/python3.12/site-packages/openpyxl/worksheet/scenario.py105
1 files changed, 105 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/openpyxl/worksheet/scenario.py b/.venv/lib/python3.12/site-packages/openpyxl/worksheet/scenario.py
new file mode 100644
index 00000000..3c86f607
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/openpyxl/worksheet/scenario.py
@@ -0,0 +1,105 @@
+# Copyright (c) 2010-2024 openpyxl
+
+from openpyxl.descriptors.serialisable import Serialisable
+from openpyxl.descriptors import (
+ String,
+ Integer,
+ Bool,
+ Sequence,
+ Convertible,
+)
+from .cell_range import MultiCellRange
+
+
+class InputCells(Serialisable):
+
+ tagname = "inputCells"
+
+ r = String()
+ deleted = Bool(allow_none=True)
+ undone = Bool(allow_none=True)
+ val = String()
+ numFmtId = Integer(allow_none=True)
+
+ def __init__(self,
+ r=None,
+ deleted=False,
+ undone=False,
+ val=None,
+ numFmtId=None,
+ ):
+ self.r = r
+ self.deleted = deleted
+ self.undone = undone
+ self.val = val
+ self.numFmtId = numFmtId
+
+
+class Scenario(Serialisable):
+
+ tagname = "scenario"
+
+ inputCells = Sequence(expected_type=InputCells)
+ name = String()
+ locked = Bool(allow_none=True)
+ hidden = Bool(allow_none=True)
+ user = String(allow_none=True)
+ comment = String(allow_none=True)
+
+ __elements__ = ('inputCells',)
+ __attrs__ = ('name', 'locked', 'hidden', 'user', 'comment', 'count')
+
+ def __init__(self,
+ inputCells=(),
+ name=None,
+ locked=False,
+ hidden=False,
+ count=None,
+ user=None,
+ comment=None,
+ ):
+ self.inputCells = inputCells
+ self.name = name
+ self.locked = locked
+ self.hidden = hidden
+ self.user = user
+ self.comment = comment
+
+
+ @property
+ def count(self):
+ return len(self.inputCells)
+
+
+class ScenarioList(Serialisable):
+
+ tagname = "scenarios"
+
+ scenario = Sequence(expected_type=Scenario)
+ current = Integer(allow_none=True)
+ show = Integer(allow_none=True)
+ sqref = Convertible(expected_type=MultiCellRange, allow_none=True)
+
+ __elements__ = ('scenario',)
+
+ def __init__(self,
+ scenario=(),
+ current=None,
+ show=None,
+ sqref=None,
+ ):
+ self.scenario = scenario
+ self.current = current
+ self.show = show
+ self.sqref = sqref
+
+
+ def append(self, scenario):
+ s = self.scenario
+ s.append(scenario)
+ self.scenario = s
+
+
+ def __bool__(self):
+ return bool(self.scenario)
+