layout: detach a figure to its own window, and attach it back
Beside each figure row's full-screen toggle -- same corner, same show-on-approach reveal, same one-figure/never-maximized rules -- a **detach** button moves the figure into a window of its own: copied into a new scope window (titled "detached") and removed from the main window's rows, which then save the change. The detached window is the one scope window with an **attach** control: an overlay wrapping its GL area, a button in the top-right corner revealed by the same pointer-proximity rule from the overlay's own motion controller, and one click appends the figure back to the main window's rows (cells, weights, every slot's signal in its colour) and closes the window. `detach_figure()` / `attach_scope_window()`; the reveal and placement share the maximize buttons' geometry and pointer state, per row. A detached window's rows participate everywhere a scope window's do (drops, the signal page's *Plot on* groups), which the previous commit gave them. Probe: `[maximize-probe]` now counts the detach buttons (`detach_single=0` for one figure, `detach=2` for two, absent while maximized) and reads their corner reveal (`detach_near=1 detach_other=0`, the pointer parked on the detach button's own centre -- the strictest zone of the pair). Real-pointer smoke: hover reveals the pair, clicking detach opens the window, clicking attach closes it with the figure back. Docs: README, the Mallard layout page, the probe readings, the layout invariant, and the tour's plot stop.
This commit is contained in:
1 parent
51b4fad386
commit
5ed75eb470
7 files changed
+303
-28
No files matched your search
@@ -129,7 +129,11 @@ rect plus a `kMaximizeRevealPx` of slack, per row) and is invisible otherwise, s
|
||||
decorated by controls nobody is reaching for; one click makes that row fill
|
||||
the plot area and the same button restores the whole arrangement; the plot's right-click menu
|
||||
offers the same as **Full screen this figure** / **Restore the layout**, and a layout of a single
|
||||
figure carries no button (there is nothing to enlarge *to*). It is a *view* — the row set
|
||||
figure carries no button (there is nothing to enlarge *to*). Beside the toggle, and with the
|
||||
same show-on-approach, a **detach** button moves the figure into a window of its own (removed
|
||||
from the main window's rows, which save the change); the detached window carries an **attach**
|
||||
button in the same corner — its figure returns to the main window's rows and the window closes.
|
||||
It is a *view* — the row set
|
||||
saves every row's state on the way in and re-applies it on the way out (`RowState` in
|
||||
`plot_host.*`), so nothing plotted moves and nothing is saved. A plot's right-click menu has
|
||||
**Open this plot in a new window**, which copies that figure — its cells, their width shares and
|
||||
|
||||
Reference in new issue
Block a user