docs: the readouts dock, the cursors and measurement pages
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
a2ce02db92
commit
ce3cc97b91
11 files changed
+205
-88
No files matched your search
@@ -41,6 +41,22 @@ Part of [CLAUDE.md](../../CLAUDE.md). These are rules that cost a defect to lear
|
||||
window's **first sample** and never from history before the window, so a measurement never depends on data
|
||||
outside the window it reports on: the left-edge step transient is removed by the seeding, not by priming
|
||||
from earlier samples.
|
||||
- **The dock's readouts and the pages' panels are one string, never two.** The dock (`src/ui_dock.cpp`)
|
||||
shows a read-only copy of the cursors table and of the measurement values, and it must not format
|
||||
anything: `update_cursors_pane()` and `update_measures()` format each value **once**, into a local, and
|
||||
hand that same variable to the page's label **and** to `dock_cursor_cell()` / `dock_measure_value()` --
|
||||
on every branch, including the `"--"` blanking one (cursors off, no sample). A second formatter in the
|
||||
dock would be two spellings of one reading that drift the first time `format_measure()` changes, and
|
||||
the dock exists so that the two can be read side by side. The `who` cell is copied from the page's label
|
||||
verbatim (markup chip and name), and the dock's lines are rebuilt from the page's whenever the page
|
||||
rebuilds (`dock_rebuild_cursors()`, `dock_rebuild_measures()`), so the line counts agree by
|
||||
construction. A cell is **ellipsized at a fixed character count** (who 5, values 9, measurement type 12) with
|
||||
the full text in its tooltip: the dock is 280 px wide and its layout must not depend on what a value
|
||||
reads, so a long value is cut and quoted whole in the tooltip rather than widening the column (the
|
||||
`who` cell was 8 characters, which made the readouts 304 px wide and pushed the sidebar past its
|
||||
pin). `[cursors-probe] ... dock cursors:` and `[measures-probe] ... dock measures:` assert it: `same_text=1`
|
||||
compares `gtk_label_get_text()` (the untruncated text) of every dock label with the page's, and
|
||||
`fits=1` that the Readouts box is no wider than the dock.
|
||||
- **`format_measure()` is the one formatter for both panes, and its SI prefix does not depend on
|
||||
there being a unit.** The cursors pane's values and the measurements pane's `text=` go through
|
||||
it, so a change reaches both. The prefix ladder used to be inside `if (!unit.empty())`, which
|
||||
@@ -55,7 +71,7 @@ Part of [CLAUDE.md](../../CLAUDE.md). These are rules that cost a defect to lear
|
||||
unit (`636.62 mV`). Below `1e-12` the ladder runs out, and `%.2f` would print `0.00` again, so
|
||||
that range falls back to `%.3g`.
|
||||
- **With the instruments off the readout blanks, and the panel stays on screen.** Cursors-off makes the
|
||||
pane *insensitive* rather than hiding it -- a panel you can still see is a panel you can read, and the
|
||||
pane *insensitive* (the page's body, and the dock's cursor grid beside it) rather than hiding it -- a panel you can still see is a panel you can read, and the
|
||||
settings you are about to switch back on must not vanish while you look for them -- and every cell in
|
||||
it is written `"--"`, the spelling an unavailable cell already uses. A readout quotes a stored sample;
|
||||
with nothing bracketing one there is no sample to quote, and keeping the last values would be quoting
|
||||
|
||||
Reference in new issue
Block a user