feat(map): add min/max highlighting toggle and live safeguards
- Add "Highlight Min/Max" option to ReadoutPanel showing peak rings. - Reset to review mode and blank wafer map when switching away from map tab. - Disable hover highlights and sensor dialog triggers during live stream. - Lower trendPane height and add top margin headroom for tick labels. - Add test coverage for blanking states, toggle overrides, and interactions.
This commit is contained in:
@@ -12,6 +12,7 @@ ColumnLayout {
|
||||
spacing: 6
|
||||
property var s: streamController.stats
|
||||
property alias showLabels: labelsToggle.checked
|
||||
property alias showExtremes: extremesToggle.checked
|
||||
property alias heatmapBlend: heatmapSlider.value
|
||||
property alias showThickness: thicknessToggle.checked
|
||||
|
||||
@@ -353,6 +354,13 @@ ColumnLayout {
|
||||
font.pixelSize: Theme.fontSm
|
||||
}
|
||||
|
||||
PanelCheckBox {
|
||||
id: extremesToggle
|
||||
text: "Highlight Min/Max"
|
||||
checked: true
|
||||
font.pixelSize: Theme.fontSm
|
||||
}
|
||||
|
||||
PanelCheckBox {
|
||||
id: clusterAverageToggle
|
||||
text: "Average Clusters"
|
||||
|
||||
@@ -7,6 +7,7 @@ Item {
|
||||
id: root
|
||||
property real blend: 0.0
|
||||
property bool showLabels: true
|
||||
property alias showExtremes: map.showExtremes
|
||||
property alias showThickness: map.showThickness
|
||||
|
||||
WaferMapItem {
|
||||
@@ -39,7 +40,9 @@ Item {
|
||||
HoverHandler {
|
||||
id: hoverHandler
|
||||
onPointChanged: {
|
||||
map.hoveredIndex = map.which_marker(hoverHandler.point.position.x, hoverHandler.point.position.y);
|
||||
map.hoveredIndex = streamController.mode === "live"
|
||||
? -1
|
||||
: map.which_marker(hoverHandler.point.position.x, hoverHandler.point.position.y);
|
||||
}
|
||||
onHoveredChanged: if (!hoverHandler.hovered) map.hoveredIndex = -1
|
||||
cursorShape: map.hoveredIndex >= 0 ? Qt.PointingHandCursor : Qt.ArrowCursor
|
||||
@@ -47,6 +50,8 @@ Item {
|
||||
|
||||
TapHandler {
|
||||
onTapped: ev => {
|
||||
if (streamController.mode === "live")
|
||||
return;
|
||||
var idx = map.which_marker(ev.position.x, ev.position.y);
|
||||
if (idx >= 0)
|
||||
replaceDialog.openFor(idx);
|
||||
|
||||
Reference in New Issue
Block a user