Source code for ooodev.events.args.calc.cell_args

from __future__ import annotations
from typing import Any, TYPE_CHECKING
from ooodev.events.args.event_args import AbstractEvent


if TYPE_CHECKING:
    from com.sun.star.sheet import XSpreadsheet


class AbstractCellArgs(AbstractEvent):
    __slots__ = ()

    def __init__(self, source: Any) -> None:
        """
        Constructor

        Args:
            source (Any): Event Source
        """
        super().__init__(source)
        self.sheet = None
        self.cells = None

    sheet: XSpreadsheet | None
    """Gets/Sets spreadsheet of the event"""
    cells: Any
    """
    Gets/Sets the cells for the event.

    Depending on the event can be any cell value such as a cell name, range, XCell, XCellRange etc.
    """


[docs]class CellArgs(AbstractCellArgs): __slots__ = ("source", "_event_name", "event_data", "sheet", "cells", "_event_source", "_kv_data")
[docs] @staticmethod def from_args(args: AbstractCellArgs) -> CellArgs: """ Gets a new instance from existing instance Args: args (AbstractCellArgs): Existing Instance Returns: CellArgs: args """ eargs = CellArgs(source=args.source) eargs._event_name = args.event_name eargs._event_source = args.event_source eargs.sheet = args.sheet eargs.cells = args.cells eargs.event_data = args.event_data return eargs