ui: a slide-over panel over the plot's right edge, with its probe
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
73f74ca495
commit
a40863fa45
7 files changed
+334
-9
No files matched your search
+8
-1
@@ -5009,6 +5009,7 @@ void on_activate(GtkApplication* application, gpointer user) {
|
||||
GtkWidget* events_divider = GTK_WIDGET(gtk_builder_get_object(app->window_ui, "events_divider"));
|
||||
app->plot_box = GTK_WIDGET(gtk_builder_get_object(app->window_ui, "plot_box"));
|
||||
app->plot_split = GTK_WIDGET(gtk_builder_get_object(app->window_ui, "plot_split"));
|
||||
app->plot_overlay = GTK_WIDGET(gtk_builder_get_object(app->window_ui, "plot_overlay"));
|
||||
app->status_badge = GTK_WIDGET(gtk_builder_get_object(app->window_ui, "status_badge"));
|
||||
app->status_label = GTK_WIDGET(gtk_builder_get_object(app->window_ui, "status_label"));
|
||||
app->status_info_button = GTK_WIDGET(gtk_builder_get_object(app->window_ui, "status_info"));
|
||||
@@ -5023,7 +5024,8 @@ void on_activate(GtkApplication* application, gpointer user) {
|
||||
// A missing id is the one mistake neither the build nor `GtkBuilder` sees, and every use below would
|
||||
// be a null pointer.
|
||||
if (app->window == nullptr || side_view == nullptr || events_divider == nullptr ||
|
||||
app->plot_box == nullptr || app->plot_split == nullptr || app->status_badge == nullptr ||
|
||||
app->plot_box == nullptr || app->plot_overlay == nullptr || app->plot_split == nullptr ||
|
||||
app->status_badge == nullptr ||
|
||||
app->status_label == nullptr || app->status_info_button == nullptr ||
|
||||
app->status_row == nullptr ||
|
||||
side == nullptr || side_stack == nullptr || side_switcher == nullptr ||
|
||||
@@ -5063,6 +5065,8 @@ void on_activate(GtkApplication* application, gpointer user) {
|
||||
app->tour.overlay = overlay;
|
||||
build_tour(*app);
|
||||
}
|
||||
// The slide-over panel: an overlay child of the plot, above the GL area.
|
||||
build_slideover(*app);
|
||||
|
||||
// The size the window opens at, stated in code as well as in the `.ui`: `default-width` there is the
|
||||
// size it *asks* for, and a window whose content has a larger minimum opens at that minimum instead --
|
||||
@@ -5905,6 +5909,9 @@ int run_ui(int argc, char** argv, const Config& cfg, ScopeModel& model, Acquisit
|
||||
if (const char* env = g_getenv("UDPSCOPE_PROBE_SIDE_TAB_MS")) {
|
||||
g_timeout_add(static_cast<guint>(std::atoi(env)), side_tab_probe, &app);
|
||||
}
|
||||
if (const char* env = g_getenv("UDPSCOPE_PROBE_SLIDEOVER_MS")) {
|
||||
g_timeout_add(static_cast<guint>(std::atoi(env)), slideover_probe, &app);
|
||||
}
|
||||
if (const char* env = g_getenv("UDPSCOPE_PROBE_SEARCH_MS")) {
|
||||
g_timeout_add(static_cast<guint>(std::atoi(env)), search_probe, &app);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user