Source code for ooodev.events.args.cancel_event_args_generic

from __future__ import annotations
from typing import Any, Generic, TypeVar
from ooodev.events.args.event_args_generic import EventArgsGeneric

_T = TypeVar("_T")
# pylint: disable=protected-access
# pylint: disable=assigning-non-slot


[docs]class CancelEventArgsGeneric(EventArgsGeneric[_T], Generic[_T]): """Cancel Event Arguments""" __slots__ = ("cancel", "handled")
[docs] def __init__( self, source: Any, event_data: _T, cancel=False, ) -> None: """ Constructor Args: source (Any): Event Source cancel (bool, optional): Cancel value. Defaults to False. """ super().__init__(source, event_data) self.cancel = cancel self.handled = False
def __repr__(self) -> str: return f"<{self.__class__.__name__}: {self.source}, {self.event_data}, {self.cancel}>" cancel: bool """Gets/Sets cancel value""" handled: bool """Get/Set Handled value. Typically if set to ``True`` then ``cancel`` is ignored."""
[docs] @staticmethod def from_args(args: CancelEventArgsGeneric) -> CancelEventArgsGeneric: """ Gets a new instance from existing instance Args: args (CancelEventArgsGeneric): Existing Instance Returns: CancelEventArgsGeneric: args """ eargs = CancelEventArgsGeneric(source=args.source, event_data=args.event_data) eargs._event_name = args.event_name eargs._event_source = args.event_source eargs.event_data = args.event_data eargs.cancel = args.cancel eargs.handled = args.handled if args._kv_data is not None: eargs._kv_data = args._kv_data.copy() return eargs