scope windows: a right-click menu of their own
A scope window is a view with its own arrangement, but its plot had no menu: every right-click went nowhere, because the main window's row menu acts on the main window's rows. `on_scope_right_click()` wires each scope window's GL area (beside its drop target) to a menu that acts on **that window's** row set: y axis auto scale, y axis fixed range (the main menu's dialog, aimed at the window's rows through `FixedRangeContext::rows`), fit, and one *Remove '<signal>'* per trace on the plot. A detached window's menu also carries **Attach back to the main window**. What it deliberately does not carry is an x fit: the window follows the main window's time span, so an x fit here would be undone by the next frame's mirror. `remove_trace()` and `FixedRangeContext` are generalized to take the row set they act on (the main window passes its own). Probe: `[scope-probe] rclick=1` asserts the click gesture is wired per window; the menu build is exercised by the real right-clicks the smoke makes.
This commit is contained in:
1 parent
b90a99ec39
commit
2924f7627d
5 files changed
+205
-10
No files matched your search
@@ -1473,6 +1473,7 @@ a defect in the copy. Measured output:
|
||||
[scope-probe] detach=1 scopes=3 frows=1 attach=1 scopes_back=2 frows_back=2 slot='ramp'
|
||||
[scope-probe] gl copy=ok(67f) empty=ok(39f) empty_bound=1
|
||||
[scope-probe] gl detached ok=1 frames=42 rows=1 slot0='sine'
|
||||
[scope-probe] rclick=1
|
||||
```
|
||||
|
||||
- `count=2` is both windows having been created and retained; `windows=1` each being a visible
|
||||
@@ -1492,6 +1493,9 @@ a defect in the copy. Measured output:
|
||||
signal into it" — landing in its row set. `drop=0` names a refused drop (a full plot or an
|
||||
unacquirable signal); `page_groups` less than the window count is a page rebuilt before the
|
||||
windows were read or a group that lost its window.
|
||||
- `rclick=1` is the scope window's **own right-click menu** being wired (one click gesture with
|
||||
button 3 on its GL area, beside the drop target): the menu's actions act on that window's row
|
||||
set.
|
||||
- The fourth line is the windows' **GL account** (`gl copy=`/`gl empty=`): `ok(Nf)` is a context
|
||||
that staged N frames, `err:` carries the adapter's failure message. A scope whose context
|
||||
failed draws *nothing* — no axes, no traces, exactly the "blank plot widget" report — so
|
||||
|
||||
Reference in new issue
Block a user