Source code for openpyxl.drawing.properties

# Copyright (c) 2010-2024 openpyxl

from openpyxl.xml.constants import DRAWING_NS
from openpyxl.descriptors.serialisable import Serialisable
from openpyxl.descriptors import (
    Typed,
    Bool,
    Integer,
    Set,
    String,
    Alias,
    NoneSet,
)
from openpyxl.descriptors.excel import ExtensionList as OfficeArtExtensionList

from .geometry import GroupTransform2D, Scene3D
from .text import Hyperlink


[docs] class GroupShapeProperties(Serialisable): tagname = "grpSpPr" bwMode = NoneSet(values=(['clr', 'auto', 'gray', 'ltGray', 'invGray', 'grayWhite', 'blackGray', 'blackWhite', 'black', 'white', 'hidden'])) xfrm = Typed(expected_type=GroupTransform2D, allow_none=True) scene3d = Typed(expected_type=Scene3D, allow_none=True) extLst = Typed(expected_type=OfficeArtExtensionList, allow_none=True) def __init__(self, bwMode=None, xfrm=None, scene3d=None, extLst=None, ): self.bwMode = bwMode self.xfrm = xfrm self.scene3d = scene3d self.extLst = extLst
[docs] class GroupLocking(Serialisable): tagname = "grpSpLocks" namespace = DRAWING_NS noGrp = Bool(allow_none=True) noUngrp = Bool(allow_none=True) noSelect = Bool(allow_none=True) noRot = Bool(allow_none=True) noChangeAspect = Bool(allow_none=True) noMove = Bool(allow_none=True) noResize = Bool(allow_none=True) noChangeArrowheads = Bool(allow_none=True) noEditPoints = Bool(allow_none=True) noAdjustHandles = Bool(allow_none=True) noChangeArrowheads = Bool(allow_none=True) noChangeShapeType = Bool(allow_none=True) extLst = Typed(expected_type=OfficeArtExtensionList, allow_none=True) __elements__ = () def __init__(self, noGrp=None, noUngrp=None, noSelect=None, noRot=None, noChangeAspect=None, noChangeArrowheads=None, noMove=None, noResize=None, noEditPoints=None, noAdjustHandles=None, noChangeShapeType=None, extLst=None, ): self.noGrp = noGrp self.noUngrp = noUngrp self.noSelect = noSelect self.noRot = noRot self.noChangeAspect = noChangeAspect self.noChangeArrowheads = noChangeArrowheads self.noMove = noMove self.noResize = noResize self.noEditPoints = noEditPoints self.noAdjustHandles = noAdjustHandles self.noChangeShapeType = noChangeShapeType
[docs] class NonVisualGroupDrawingShapeProps(Serialisable): tagname = "cNvGrpSpPr" grpSpLocks = Typed(expected_type=GroupLocking, allow_none=True) extLst = Typed(expected_type=OfficeArtExtensionList, allow_none=True) __elements__ = ("grpSpLocks",) def __init__(self, grpSpLocks=None, extLst=None, ): self.grpSpLocks = grpSpLocks
[docs] class NonVisualDrawingShapeProps(Serialisable): tagname = "cNvSpPr" spLocks = Typed(expected_type=GroupLocking, allow_none=True) txBax = Bool(allow_none=True) extLst = Typed(expected_type=OfficeArtExtensionList, allow_none=True) __elements__ = ("spLocks", "txBax") def __init__(self, spLocks=None, txBox=None, extLst=None, ): self.spLocks = spLocks self.txBox = txBox
[docs] class NonVisualDrawingProps(Serialisable): tagname = "cNvPr" id = Integer() name = String() descr = String(allow_none=True) hidden = Bool(allow_none=True) title = String(allow_none=True) hlinkClick = Typed(expected_type=Hyperlink, allow_none=True) hlinkHover = Typed(expected_type=Hyperlink, allow_none=True) extLst = Typed(expected_type=OfficeArtExtensionList, allow_none=True) __elements__ = ["hlinkClick", "hlinkHover"] def __init__(self, id=None, name=None, descr=None, hidden=None, title=None, hlinkClick=None, hlinkHover=None, extLst=None, ): self.id = id self.name = name self.descr = descr self.hidden = hidden self.title = title self.hlinkClick = hlinkClick self.hlinkHover = hlinkHover self.extLst = extLst
[docs] class NonVisualGroupShape(Serialisable): tagname = "nvGrpSpPr" cNvPr = Typed(expected_type=NonVisualDrawingProps) cNvGrpSpPr = Typed(expected_type=NonVisualGroupDrawingShapeProps) __elements__ = ("cNvPr", "cNvGrpSpPr") def __init__(self, cNvPr=None, cNvGrpSpPr=None, ): self.cNvPr = cNvPr self.cNvGrpSpPr = cNvGrpSpPr