diff options
| author | Christian Kolset <ckolset@colostate.edu> | 2026-08-13 13:39:25 -0600 |
|---|---|---|
| committer | Christian Kolset <ckolset@colostate.edu> | 2026-08-13 13:39:25 -0600 |
| commit | 34c12b2b5b280206890cd03153b1c95116acc85e (patch) | |
| tree | 9b3dee7e0818d94c0bae87a35e7bf930a612ca2c /ui/windows/config_window.py | |
| parent | a6e812dcbf3f2fc27565e52b6c0c6f9b7e4363ee (diff) | |
Channels tab drag-to-reorder, Namespace absolute references, fix stale Channel ID renames
Generalized the Plot pane drag-to-reorder (_PaneDragHandle/_PlotDropContainer
-> _DragHandle/_DragReorderContainer) and reused it for the Channels tab's
derived-channel list; reordering also updates SignalProcessor's evaluation
order (list order matters for chained Channels) via new reorder_derived().
Namespace panel: added an ID column (bare channel_id, matching the actual
channels.get(...) script convention) and fixed the Source column for
Channels to show resolved absolute references (dev_id/ch_id for a Signal,
bare id for a chained Channel) instead of the operation kind, so a chain
is traceable by eye.
Fixed a real bug this surfaced: renaming a Channel's ID never propagated
to other Channels' sources, leaving dangling ("derived", old_id)
references that silently stopped updating. Added
SignalProcessor.rename_derived() to fix up sources plus carry the ring
buffer/latest-value cache to the new key, wired to DerivedBlock's Apply.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Diffstat (limited to 'ui/windows/config_window.py')
| -rw-r--r-- | ui/windows/config_window.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/ui/windows/config_window.py b/ui/windows/config_window.py index 3bd3dc6..34cc789 100644 --- a/ui/windows/config_window.py +++ b/ui/windows/config_window.py @@ -34,7 +34,7 @@ from ui.windows.devices_window import DeviceRow, ChannelsTab from ui.windows.channels_window import PipelineTab, _slug_id, _dedupe_name from ui.windows.plot_window import ( PlotWindow, LayoutConfig, LayoutCanvas, PaneBlock, - build_default_layout, _PlotDropContainer, + build_default_layout, _DragReorderContainer, ) from ui.namespace_panel import NamespacePanel @@ -242,7 +242,7 @@ class _PlotTab(PlotWindow): scroll = QScrollArea(); scroll.setWidgetResizable(True) scroll.setObjectName("deviceScroll") - self._cont = _PlotDropContainer(self) + self._cont = _DragReorderContainer(self) self._blay = QVBoxLayout(self._cont) self._blay.setContentsMargins(10, 10, 10, 10); self._blay.setSpacing(12) self._blay.addStretch() |
