Refactor code to remove closed windows

This commit is contained in:
pjht 2023-05-30 15:03:05 -05:00
parent bea57e2110
commit 77503b4ffb
Signed by: pjht
GPG Key ID: CA239FC6934E6F3A

View File

@ -126,15 +126,9 @@ impl eframe::App for MyApp {
if ui.button("Add").clicked() && self.new_roll_window.is_none() {
self.new_roll_window = Some(NewRollWindow::default());
}
let mut to_close = Vec::new();
for (i, roll_view_window) in self.roll_views.iter_mut().enumerate() {
if roll_view_window.draw(ctx, &mut self.state) {
to_close.push(i);
}
}
for i in to_close {
self.roll_views.remove(i);
}
self.roll_views.retain_mut(|win| {
!win.draw(ctx, &mut self.state)
});
if let Some(new_roll_window) = self.new_roll_window.as_mut() {
if new_roll_window.draw(ctx, &mut self.state) {
self.new_roll_window = None;