Source code for src.data_acquisition.event_manager.key_press_event_manager

from logging import Logger
from typing import Optional

from ..events import KeyPressEvent
from ..gui import Gui
from ..gui.event_types import Key
from .simple_event_manager import SimpleEventManager


[docs] class KeyPressEventManager(SimpleEventManager[None]): def __init__( self, *, gui: Gui, key: Key, logger: Optional[Logger] = None, ) -> None: self._gui = gui self._key = key self._key_press_event = KeyPressEvent(gui=gui, key=key, logger=logger) super().__init__(events=[self._key_press_event], logger=logger) def _setup(self) -> None: self._key_press_event.subscribe(lambda: self._trigger_callbacks(None)) def _clone(self) -> "KeyPressEventManager": return KeyPressEventManager( gui=self._gui, key=self._key, )