|
10 | 10 | import pyqtgraph as pg # type: ignore |
11 | 11 | from qtpy import QtCore, QtWidgets # type: ignore |
12 | 12 |
|
13 | | -from robot_log_visualizer.utils.utils import ColorPalette |
14 | 13 | from robot_log_visualizer.signal_provider.signal_provider import ProviderType |
| 14 | +from robot_log_visualizer.utils.utils import ColorPalette |
15 | 15 |
|
16 | 16 | # ------------------------------------------------------------------------ |
17 | 17 | # Type aliases |
@@ -201,6 +201,11 @@ def _add_missing_curves( |
201 | 201 | symbol=None, |
202 | 202 | ) |
203 | 203 |
|
| 204 | + # For real-time mode, disable curve clickability to avoid interfering with live updates |
| 205 | + if self._signal_provider.provider_type == ProviderType.REALTIME: |
| 206 | + self._curves[key].setCurveClickable(False) |
| 207 | + self._curves[key].setEnabled(False) |
| 208 | + |
204 | 209 | def _remove_obsolete_curves(self, paths: Sequence[Path]) -> None: |
205 | 210 | """Delete curves that disappeared from *paths*.""" |
206 | 211 | valid = {"/".join(p) for p in paths} |
@@ -240,6 +245,10 @@ def _on_mouse_click(self, event) -> None: # noqa: N802 |
240 | 245 | if event.button() != QtCore.Qt.MouseButton.LeftButton: |
241 | 246 | return # ignore other buttons |
242 | 247 |
|
| 248 | + # Disable point selection / labels in realtime mode |
| 249 | + if self._signal_provider.provider_type == ProviderType.REALTIME: |
| 250 | + return |
| 251 | + |
243 | 252 | # Scene → data coordinates |
244 | 253 | scene_pos = event.scenePos() |
245 | 254 | if not self._plot.sceneBoundingRect().contains(scene_pos): |
|
0 commit comments