Source code for src.data_acquisition.sequencers.simple_screen_sequencer

from abc import ABC, abstractmethod
from logging import Logger
from typing import Callable, Generic, Optional, TypeVar

from ..eventful_screen import EventfulScreen
from ..gui import Gui
from .screen_sequencer import ScreenSequencer

T = TypeVar("T")


[docs] class SimpleScreenSequencer(ScreenSequencer[T], Generic[T], ABC): def __init__( self, *, gui: Gui, screen_show_callback: Callable[[str], None] = lambda _: None, logger: Optional[Logger] = None, ) -> None: super().__init__(logger=logger) self._gui = gui self._screen_show_callback = screen_show_callback @abstractmethod def _get_next(self) -> EventfulScreen[T]: pass