Revert "test without typing"

This reverts commit c8a5e1b832.
pull/35074/head
Cameron Clough 2 months ago
parent 7185ee4ec0
commit f2dc05cd69
  1. 15
      system/ui/lib/window.py
  2. 2
      system/ui/spinner.py
  3. 2
      system/ui/text.py

@ -1,14 +1,23 @@
import threading
import time
import os
from typing import Generic, Protocol, TypeVar
from openpilot.system.ui.lib.application import gui_app
class BaseWindow:
class RendererProtocol(Protocol):
def render(self):
...
R = TypeVar("R", bound=RendererProtocol)
class BaseWindow(Generic[R]):
def __init__(self, title: str):
self._title = title
self._renderer = None
self._renderer: R | None = None
self._stop_event = threading.Event()
self._thread = threading.Thread(target=self._run)
self._thread.start()
@ -17,7 +26,7 @@ class BaseWindow:
while self._renderer is None and self._thread.is_alive():
time.sleep(0.01)
def _create_renderer(self):
def _create_renderer(self) -> R:
raise NotImplementedError("Subclasses of BaseWindow must implement _create_renderer()")
def _run(self):

@ -86,7 +86,7 @@ class SpinnerRenderer:
FONT_SIZE, 0.0, rl.WHITE)
class Spinner(BaseWindow):
class Spinner(BaseWindow[SpinnerRenderer]):
def __init__(self):
super().__init__("Spinner")

@ -73,7 +73,7 @@ class TextWindowRenderer:
return ret
class TextWindow(BaseWindow):
class TextWindow(BaseWindow[TextWindowRenderer]):
def __init__(self, text: str):
self._text = text
super().__init__("Text")

Loading…
Cancel
Save