docs: the signal badges, the signal pages and the six-badge overflow (step 2 of the redesign)
Also wrap the signals page's hint line, which at 375 px minimum widened the whole slide-over panel to 376. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
f315c677f3
commit
5242babf99
8 files changed
+55
-21
No files matched your search
@@ -99,19 +99,23 @@ touching the data path.
|
||||
- **`SlideOver`** (`src/ui_slideover.cpp`) is one `GtkRevealer` holding a `GtkStack`, added as the second
|
||||
child placed *over* the plot (after the layout editor's buttons) in `GtkOverlay#plot_overlay`. A page is
|
||||
a `slideover_add_page(app, id, title, widget)`: the widget is wrapped in a `GtkScrolledWindow` of its
|
||||
own and registered under its id (`trigger`, `source-<id>`; `signal:<name>`, `signals`, `measure`,
|
||||
`cursors` and `events` are reserved for later steps). One page is open at a time and `App::slideover.page`
|
||||
own and registered under its id (`trigger`, `source-<id>`, `signals` (the signal list) and
|
||||
`signal:<name>` (one signal's page, `src/ui_signal_page.cpp`, created on demand by `signal_page_ensure()`
|
||||
and pruned by `signal_pages_sync()`, which `rebuild_signal_panels()` ends with); `measure`, `cursors`
|
||||
and `events` are reserved for later steps). One page is open at a time and `App::slideover.page`
|
||||
is its id, empty when closed. The open page is **not** a session value. Esc, *Close*, a second click on the
|
||||
badge and a click on the plot close it; the click-away is a capture-phase observer (see
|
||||
[invariants-gtk-and-chrome.md](invariants-gtk-and-chrome.md)). With two or more `source-*` pages, an
|
||||
`AdwToggleGroup` under the header is the segmented switch between them.
|
||||
- **`BadgeBar`** (`src/ui_badges.cpp`) is the fixed-height row between the plot and the status line
|
||||
(`main-window.ui` `badge_bar`, two slots: signals, left, empty until step 2; system, right, holding the
|
||||
**Trigger** and **Source** badges). A badge is a flat button whose `page` is the slide-over page it
|
||||
(`main-window.ui` `badge_bar`, two slots: signals, left, a scroller holding one badge per enabled signal
|
||||
and the `+`, or a single "N signals" badge past six; system, right, holding the **Trigger** and
|
||||
**Source** badges). `sync_signal_badges()` rebuilds the signal badges (from `rebuild_signal_panels()`);
|
||||
their order is `App::badge_order`, in memory only. A badge is a flat button whose `page` is the slide-over page it
|
||||
toggles; the Source badge's page is the first `source-*` page, and a kind with none (UDPS, Flat UDP, a
|
||||
file) leaves it a read-out with `can_target` off.
|
||||
- **The dock** is the `AdwOverlaySplitView` sidebar (`side_box` > `dock_scroller` > `dock_page`): the
|
||||
signal list, the cursors and the measurements in one scroller. It holds no tab switcher and no
|
||||
cursors and the measurements only, in one scroller (the signal list is the `signals` page). It holds no tab switcher and no
|
||||
revealer, and it does not hold a source kind's panels (those are slide-over pages).
|
||||
|
||||
**When each is built and when it is read.** `build_slideover()` runs in `on_activate` right after the tour
|
||||
|
||||
Reference in new issue
Block a user