online indicator

This commit is contained in:
Ruben van de Ven 2025-07-03 14:38:01 +02:00
parent 82b69bd6b9
commit f78fc95c50

View file

@ -352,8 +352,9 @@ fn model(app: &App) -> GuiModel {
// A user-interface to tweak the settings. // A user-interface to tweak the settings.
let window = app.window(w_id_lasersettings).unwrap(); let window = app.window(w_id_lasersettings).unwrap();
let egui = Egui::from_window(&window); let egui = Egui::from_window(&window);
// egui.ctx().set_fonts(fonts());
egui.ctx().set_style(style()); let egui_ctx = egui.ctx();
egui_ctx.set_style(style());
let current_lines = RenderableLines::new(); //Vec::new(); let current_lines = RenderableLines::new(); //Vec::new();
@ -628,10 +629,12 @@ fn update(_app: &App, model: &mut GuiModel, update: Update) {
for (dac_id, _config) in per_laser_config.iter() { for (dac_id, _config) in per_laser_config.iter() {
let is_available = laser_streams.contains_key(&dac_id); let is_available = laser_streams.contains_key(&dac_id);
ui.style_mut().visuals.override_text_color = if is_available {Some(egui::Color32::RED)} else {None}; ui.style_mut().visuals.override_text_color = if is_available {Some(egui::Color32::GREEN)} else {None};
ui.style_mut().visuals.widgets.inactive.bg_stroke = if is_available {egui::Stroke::new(2.0, egui::Color32::RED)} else {egui::Stroke::NONE}; ui.style_mut().visuals.widgets.inactive.bg_stroke = if is_available {egui::Stroke::new(2.0, egui::Color32::GREEN)} else {egui::Stroke::NONE};
let name = if let Some(config) = per_laser_config.get(&dac_id) { config.name.clone() } else { "DAC".into() }; let name = if let Some(config) = per_laser_config.get(&dac_id) { config.name.clone() } else { "DAC".into() };
let indicator = if is_available{"*"}else{""}; let indicator = if is_available{" 🔌"}else{""};
// egui::widgets::SelectableLabel cannot have border unless hovered/highlighted
// TODO: alternatively underscore with ui.painter().rect/hline(ui.selectable_value().rect.max/min, ....)
ui.selectable_value( ui.selectable_value(
selected_stream, selected_stream,
Some(dac_id.clone()), Some(dac_id.clone()),