ui: the Source badge, and the source panels as slide-over pages
This commit is contained in:
1 parent
5fb479bd69
commit
31ff778e07
6 files changed
+101
-28
No files matched your search
+7
-7
@@ -109,11 +109,11 @@ struct TourView {
|
||||
void* done_user = nullptr;
|
||||
};
|
||||
|
||||
/// One capability panel a source kind contributed to the side stack. `content` is the kind's own widget
|
||||
/// One capability panel a source kind contributed to the slide-over. `content` is the kind's own widget
|
||||
/// (made insensitive while the source is disconnected); the page wrapping it is named `name`.
|
||||
struct SourcePanelPage {
|
||||
std::string name; ///< stack page name: "source-" + the kind's panel id
|
||||
std::string title; ///< the pill's tooltip and accessible name; the page's own title stays empty
|
||||
std::string name; ///< slide-over page id: "source-" + the kind's panel id
|
||||
std::string title; ///< the slide-over page's title, and the segmented switch's label
|
||||
GtkWidget* content = nullptr;
|
||||
};
|
||||
|
||||
@@ -143,7 +143,7 @@ struct BadgeBar {
|
||||
GtkWidget* signals_slot = nullptr; ///< left; empty in step 1, step 2 fills it
|
||||
GtkWidget* system_slot = nullptr; ///< right: Trigger, Source
|
||||
Badge trigger;
|
||||
Badge source; ///< task 3
|
||||
Badge source; ///< opens the first source page; a read-out when the source has none
|
||||
};
|
||||
|
||||
struct App {
|
||||
@@ -1606,8 +1606,8 @@ void save_layout_now(App& app);
|
||||
void keep_tabs_icon_free(App& app);
|
||||
|
||||
/// Capability panels (`src/ui_source.cpp`). `build_source_panels` adds the source kind's panels as
|
||||
/// pages of `side_stack`, once, before the first tick. `apply_source_panels` sets every panel's
|
||||
/// sensitivity from `connected` -- disabled, never hidden: the tab switcher owns visibility.
|
||||
/// pages of the slide-over (`source-<id>`), once, before the first tick. `apply_source_panels` sets every panel's
|
||||
/// sensitivity from `connected` -- disabled, never hidden.
|
||||
/// `sync_source_panels` is the per-tick call: it applies the model's own connection flag.
|
||||
void build_source_panels(App& app);
|
||||
void apply_source_panels(App& app, bool connected);
|
||||
@@ -1925,7 +1925,7 @@ gboolean slideover_probe(gpointer user); // UDPSCOPE_PROBE_SLIDEOVER_MS
|
||||
/// The badge bar (`src/ui_badges.cpp`): setup is reached by the object it configures.
|
||||
/// The Trigger badge's state word. Pure, so the probe can assert the whole table.
|
||||
const char* trigger_badge_state(bool enabled, bool armed, bool pending, bool has_event);
|
||||
void build_badge_bar(App& app); // after build_slideover and after the toolbar (it reads trigger_toggle)
|
||||
void build_badge_bar(App& app); // after build_slideover, the toolbar (it reads trigger_toggle) and build_source_panels (the Source badge's page)
|
||||
void sync_badge_bar(App& app); // per tick and on every slide-over open/close; only writes what changed
|
||||
gboolean badges_probe(gpointer user); // UDPSCOPE_PROBE_BADGES_MS
|
||||
gboolean source_kinds_probe_report(gpointer user);
|
||||
|
||||
Reference in new issue
Block a user