Sample list: spreadsheet param columns + whole-row mounted highlight #209

Open
duan_j wants to merge 2 commits from where_I_am_show_more_info into main
Owner

Summary

Two independent changes to the dewar sample list, one commit each:

  1. feat: show spreadsheet params in sample list

    • New columns after Rotation count: Oscillation (deg), Exposure (s),
      Total range (deg), Transmission (%).
    • Read from SampleShortInfo.aaredb_params, which spreadsheetupdater
      already fills from the AareDB message. No server or DB change.
    • Transmission is shown as percent like the user spreadsheet
      (model holds a 0-1 fraction).
    • Header sort key is now None-safe: blanks sort last instead of
      raising on None < float.
  2. feat: highlight whole mounted row in sample list

    • Mounted sample paints the full row in the existing blue
      (SAMPLE_ROW_QUEUED_BG) instead of only the frozen "#" cell.
    • Mounted row keeps the theme's own text color; the dark-ink override
      stays only on the pastel status tints in the "#" column.
    • Mount/unmount repaints the whole row span.

Test plan

  • tests/unit/gui/test_models.py: 2 new tests (param columns + None-safe
    sort, whole-row blue without foreground override)
  • ruff check (incl. isort gate), ruff format --check
  • diff-cover 100%, diff-quality basedpyright 100%
  • Full unit suite: only the known-flaky test_main_window QSettings
    tests failed in-suite, both pass in isolation
  • Visual check on the RHEL9/noVNC sandbox

Generated with Claude Code

## Summary Two independent changes to the dewar sample list, one commit each: 1. feat: show spreadsheet params in sample list - New columns after Rotation count: Oscillation (deg), Exposure (s), Total range (deg), Transmission (%). - Read from SampleShortInfo.aaredb_params, which spreadsheetupdater already fills from the AareDB message. No server or DB change. - Transmission is shown as percent like the user spreadsheet (model holds a 0-1 fraction). - Header sort key is now None-safe: blanks sort last instead of raising on None < float. 2. feat: highlight whole mounted row in sample list - Mounted sample paints the full row in the existing blue (SAMPLE_ROW_QUEUED_BG) instead of only the frozen "#" cell. - Mounted row keeps the theme's own text color; the dark-ink override stays only on the pastel status tints in the "#" column. - Mount/unmount repaints the whole row span. ## Test plan - [x] tests/unit/gui/test_models.py: 2 new tests (param columns + None-safe sort, whole-row blue without foreground override) - [x] ruff check (incl. isort gate), ruff format --check - [x] diff-cover 100%, diff-quality basedpyright 100% - [x] Full unit suite: only the known-flaky test_main_window QSettings tests failed in-suite, both pass in isolation - [ ] Visual check on the RHEL9/noVNC sandbox Generated with Claude Code

Coverage report (automated)

Total line + branch coverage: 51%
Diff coverage vs main: 100% (minimum 80%)

Full report: coverage artifact on this run.

Coverage report (automated) Total line + branch coverage: 51% Diff coverage vs main: 100% (minimum 80%) Full report: coverage artifact on this run.
duan_j added 2 commits 2026-09-09 16:54:45 +02:00
Add Oscillation, Exposure, Total range and Transmission columns to the
dewar sample table, read from SampleShortInfo.aaredb_params (already
filled by spreadsheetupdater from AareDB, so no server change).
Transmission is shown as percent like the user spreadsheet.

The new columns are nullable, so the header sort key now puts None last
instead of raising on None < float.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
feat: highlight whole mounted row in sample list
CI / lint (push) Skipped
CI / test (3.12) (push) Skipped
CI / test (3.13) (push) Skipped
CI / test-with-beamline-plugins (pxi_bec) (push) Skipped
CI / test-with-beamline-plugins (pxii_bec) (push) Skipped
CI / test-with-beamline-plugins (pxiii_bec) (push) Skipped
CI / lint (pull_request) Successful in 42s
CI / test (3.12) (pull_request) Successful in 1m4s
CI / test (3.13) (pull_request) Successful in 1m3s
CI / test (3.14) (pull_request) Successful in 1m7s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m7s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 1m16s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Successful in 1m25s
CI / test-with-coverage (pull_request) Successful in 1m33s
CI / coverage-analysis (pull_request) Successful in 4s
22228c0868
The mounted sample used to tint only the frozen "#" cell. Paint the full
row in the same blue so it is findable at a glance, and keep the theme's
own text color on it (the mid-tone blue reads fine without the dark ink
that the pastel status tints need). Repaint the whole row span on
mount/unmount, not just column 0.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
duan_j force-pushed where_I_am_show_more_info from 22bb3b2e46 to 22228c0868 2026-09-09 16:54:45 +02:00 Compare
All checks were successful
CI / lint (push) Skipped
Required
CI / test (3.12) (push) Skipped
Required
CI / test (3.13) (push) Skipped
Required
CI / test-with-beamline-plugins (pxi_bec) (push) Skipped
Required
CI / test-with-beamline-plugins (pxii_bec) (push) Skipped
Required
CI / test-with-beamline-plugins (pxiii_bec) (push) Skipped
Required
CI / lint (pull_request) Successful in 42s
Required
Details
CI / test (3.12) (pull_request) Successful in 1m4s
Required
Details
CI / test (3.13) (pull_request) Successful in 1m3s
Required
Details
CI / test (3.14) (pull_request) Successful in 1m7s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m7s
Required
Details
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 1m16s
Required
Details
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Successful in 1m25s
Required
Details
CI / test-with-coverage (pull_request) Successful in 1m33s
CI / coverage-analysis (pull_request) Successful in 4s
You are not authorized to merge this pull request.
This pull request can be merged automatically.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin where_I_am_show_more_info:where_I_am_show_more_info
git checkout where_I_am_show_more_info
Sign in to join this conversation.