from __future__ import annotations
from typing import TYPE_CHECKING, TypeVar, Generic
if TYPE_CHECKING:
from com.sun.star.style import XStyle
from ooodev.adapter.style.cell_style_comp import CellStyleComp
from ooodev.proto.component_proto import ComponentT
from ooodev.loader import lo as mLo
from ooodev.loader.inst.lo_inst import LoInst
from ooodev.utils.partial.prop_partial import PropPartial
from ooodev.utils.partial.qi_partial import QiPartial
T = TypeVar("T", bound="ComponentT")
[docs]class WriteCellStyle(Generic[T], CellStyleComp, QiPartial, PropPartial):
"""Represents writer Cell Style."""
[docs] def __init__(self, owner: T, component: XStyle, lo_inst: LoInst | None = None) -> None:
"""
Constructor
Args:
owner (T): Owner of this component.
component (XStyle): UNO object that supports ``com.sun.star.style.CharacterStyle`` service.
lo_inst (LoInst, optional): Lo instance. Defaults to ``None``.
"""
if lo_inst is None:
self._lo_inst = mLo.Lo.current_lo
else:
self._lo_inst = lo_inst
self._owner = owner
CellStyleComp.__init__(self, component) # type: ignore
QiPartial.__init__(self, component=component, lo_inst=self._lo_inst) # type: ignore
PropPartial.__init__(self, component=component, lo_inst=self._lo_inst) # type: ignore
# self.__doc = doc
# region Properties
@property
def owner(self) -> T:
"""Owner of this component."""
return self._owner
# endregion Properties