diff --git a/selfdrive/ui/layouts/main.py b/selfdrive/ui/layouts/main.py index 17bd9b656e..cc93865424 100644 --- a/selfdrive/ui/layouts/main.py +++ b/selfdrive/ui/layouts/main.py @@ -41,7 +41,7 @@ class MainLayout(Widget): self._sidebar.set_callbacks(on_settings=self._on_settings_clicked, on_flag=self._on_flag_clicked) self._layouts[MainState.SETTINGS].set_callbacks(on_close=self._set_mode_for_state) - self._layouts[MainState.ONROAD].on_click = self._on_onrad_clicked + self._layouts[MainState.ONROAD].set_callbacks(on_click=self._on_onroad_clicked) def _update_layout_rects(self, rect): self._window_rect = rect @@ -71,7 +71,7 @@ class MainLayout(Widget): def _on_flag_clicked(self): pass - def _on_onrad_clicked(self): + def _on_onroad_clicked(self): self._sidebar_visible = not self._sidebar_visible def _render_main_content(self): diff --git a/selfdrive/ui/onroad/augmented_road_view.py b/selfdrive/ui/onroad/augmented_road_view.py index 611320ad36..441c861470 100644 --- a/selfdrive/ui/onroad/augmented_road_view.py +++ b/selfdrive/ui/onroad/augmented_road_view.py @@ -50,7 +50,10 @@ class AugmentedRoadView(CameraView): self.driver_state_renderer = DriverStateRenderer() # Callbacks - self.on_click: Callable | None = None + self._click_callback: Callable | None = None + + def set_callbacks(self, on_click: Callable | None = None): + self._click_callback = on_click def _render(self, rect): # Only render when system is started to avoid invalid data access @@ -99,9 +102,9 @@ class AugmentedRoadView(CameraView): # Handle click events if no HUD interaction occurred if not self._hud_renderer.handle_mouse_event(): - if self.on_click and rl.is_mouse_button_pressed(rl.MouseButton.MOUSE_BUTTON_LEFT): + if self._click_callback and rl.is_mouse_button_pressed(rl.MouseButton.MOUSE_BUTTON_LEFT): if rl.check_collision_point_rec(rl.get_mouse_position(), self._content_rect): - self.on_click() + self._click_callback() def _draw_border(self, rect: rl.Rectangle): border_color = BORDER_COLORS.get(ui_state.status, BORDER_COLORS[UIStatus.DISENGAGED])