generated from lks/eframe_template_android
Add logic to close device selection window
This commit is contained in:
parent
8978be49bd
commit
9f18bb6920
23
src/app.rs
23
src/app.rs
@ -25,6 +25,7 @@ pub struct TemplateApp {
|
|||||||
_backends: backend::Backends,
|
_backends: backend::Backends,
|
||||||
_selected_backend: usize,
|
_selected_backend: usize,
|
||||||
_open_device: Option<Box<dyn backend::Device>>,
|
_open_device: Option<Box<dyn backend::Device>>,
|
||||||
|
device_window_open: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl TemplateApp {
|
impl TemplateApp {
|
||||||
@ -57,6 +58,7 @@ impl TemplateApp {
|
|||||||
_backends: Backends::default(),
|
_backends: Backends::default(),
|
||||||
_selected_backend: 0,
|
_selected_backend: 0,
|
||||||
_open_device: None,
|
_open_device: None,
|
||||||
|
device_window_open: true,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -87,13 +89,16 @@ impl eframe::App for TemplateApp {
|
|||||||
egui::menu::bar(ui, |ui| {
|
egui::menu::bar(ui, |ui| {
|
||||||
// NOTE: no File->Quit on web pages!
|
// NOTE: no File->Quit on web pages!
|
||||||
let is_web = cfg!(target_arch = "wasm32");
|
let is_web = cfg!(target_arch = "wasm32");
|
||||||
if !is_web {
|
ui.menu_button("File", |ui| {
|
||||||
ui.menu_button("File", |ui| {
|
if ui.button("Open Device").clicked() {
|
||||||
|
self.device_window_open = true;
|
||||||
|
}
|
||||||
|
if !is_web {
|
||||||
if ui.button("Quit").clicked() {
|
if ui.button("Quit").clicked() {
|
||||||
ctx.send_viewport_cmd(egui::ViewportCommand::Close);
|
ctx.send_viewport_cmd(egui::ViewportCommand::Close);
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
}
|
});
|
||||||
self.plots.render_menu_buttons(ui);
|
self.plots.render_menu_buttons(ui);
|
||||||
ui.add_space(16.0);
|
ui.add_space(16.0);
|
||||||
|
|
||||||
@ -103,7 +108,12 @@ impl eframe::App for TemplateApp {
|
|||||||
|
|
||||||
self.plots.render_plot_windows(ctx);
|
self.plots.render_plot_windows(ctx);
|
||||||
|
|
||||||
|
if self._open_device.is_none() {
|
||||||
|
self.device_window_open = true;
|
||||||
|
}
|
||||||
|
let mut close_device_window = false;
|
||||||
egui::Window::new("Select Device")
|
egui::Window::new("Select Device")
|
||||||
|
.open(&mut self.device_window_open)
|
||||||
.default_width(600.0)
|
.default_width(600.0)
|
||||||
.default_height(400.0)
|
.default_height(400.0)
|
||||||
.vscroll(false)
|
.vscroll(false)
|
||||||
@ -129,7 +139,6 @@ impl eframe::App for TemplateApp {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
//egui::CentralPanel::default().show_inside(ui, |ui| {
|
|
||||||
ui.vertical_centered(|ui| {
|
ui.vertical_centered(|ui| {
|
||||||
egui::ScrollArea::vertical().show(ui, |ui| {
|
egui::ScrollArea::vertical().show(ui, |ui| {
|
||||||
//if self._selected_backend < self._backends.0.len() {
|
//if self._selected_backend < self._backends.0.len() {
|
||||||
@ -142,6 +151,7 @@ impl eframe::App for TemplateApp {
|
|||||||
b.build_device(self._fft.tx.clone(), self.plots.get_sender())
|
b.build_device(self._fft.tx.clone(), self.plots.get_sender())
|
||||||
{
|
{
|
||||||
self._open_device = Some(device);
|
self._open_device = Some(device);
|
||||||
|
close_device_window = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -150,6 +160,9 @@ impl eframe::App for TemplateApp {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
if close_device_window {
|
||||||
|
self.device_window_open = false;
|
||||||
|
}
|
||||||
|
|
||||||
egui::CentralPanel::default().show(ctx, |ui| {
|
egui::CentralPanel::default().show(ctx, |ui| {
|
||||||
// The central panel the region left after adding TopPanel's and SidePanel's
|
// The central panel the region left after adding TopPanel's and SidePanel's
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user