feat: switching a signal off takes its traces off every plot
The switch in the signal list means "do not acquire this", and until now a trace of it
stayed on its plot drawing nothing: a slot that holds one of the four a plot has, reads
`--`, and blocks the drop that would fill it with something live.
`on_signal_switch()` now clears every slot that holds that signal, by the **signal name**
the slot remembers -- never the channel index, which is what the enable change renumbers --
and says what it did: `'sine' is off: 1 trace left the plots`. The follow-ups (a relayout,
the panels' chips, the layout save) happen once rather than per slot.
Re-enabling deliberately does not put the traces back: the arrangement is the user's, and
guessing where they were is worse than leaving them off. Say the word if you want that
direction too.
[enable-all-probe] reads it end to end -- it enables every signal, assigns the channels
across the rows, then switches one off *through its own acquire tick*:
[enable-all-probe] switched 'sine' off: traces_left=0 (want 0) notice=''sine' is off: 1 trace left the plots'
which is also why the notice shares the status line's warning styling from the previous
commit: the trace leaving the plots is something the user should see happen.
This commit is contained in:
1 parent
aaf544be1e
commit
8b3240cacb
6 files changed
+102
-1
No files matched your search
@@ -1250,6 +1250,7 @@ void on_y_auto_clicked(GtkButton* button, gpointer user);
|
||||
void on_fixed_range_apply(GtkButton*, gpointer user);
|
||||
void on_y_fixed_clicked(GtkButton* button, gpointer user);
|
||||
void remove_trace(App& app, int row, int slot);
|
||||
int remove_signal_from_plots(App& app, const std::string& name);
|
||||
void on_remove_clicked(GtkButton* button, gpointer user);
|
||||
GtkWidget* menu_icon_button(const char* icon, const char* label);
|
||||
void on_row_menu_show_remove(GtkButton*, gpointer user);
|
||||
|
||||
Reference in new issue
Block a user