[demo] Window options window: add checkbox to toggle close button

This commit is contained in:
Emil Ernerfeldt 2021-01-10 10:41:46 +01:00
parent e079ac5b46
commit d895285482

View file

@ -5,6 +5,7 @@ use crate::__egui_github_link_file;
pub struct WindowOptions { pub struct WindowOptions {
title: String, title: String,
title_bar: bool, title_bar: bool,
closable: bool,
collapsible: bool, collapsible: bool,
resizable: bool, resizable: bool,
scroll: bool, scroll: bool,
@ -15,6 +16,7 @@ impl Default for WindowOptions {
Self { Self {
title: "🗖 Window Options".to_owned(), title: "🗖 Window Options".to_owned(),
title_bar: true, title_bar: true,
closable: true,
collapsible: true, collapsible: true,
resizable: true, resizable: true,
scroll: false, scroll: false,
@ -32,20 +34,23 @@ impl super::Demo for WindowOptions {
let Self { let Self {
title, title,
title_bar, title_bar,
closable,
collapsible, collapsible,
resizable, resizable,
scroll, scroll,
} = self.clone(); } = self.clone();
use super::View; use super::View;
egui::Window::new(title) let mut window = egui::Window::new(title)
.id(egui::Id::new("demo_window_options")) // required since we change the title .id(egui::Id::new("demo_window_options")) // required since we change the title
.open(open)
.resizable(resizable) .resizable(resizable)
.collapsible(collapsible) .collapsible(collapsible)
.title_bar(title_bar) .title_bar(title_bar)
.scroll(scroll) .scroll(scroll);
.show(ctx, |ui| self.ui(ui)); if closable {
window = window.open(open);
}
window.show(ctx, |ui| self.ui(ui));
} }
} }
@ -56,6 +61,7 @@ impl super::View for WindowOptions {
let Self { let Self {
title, title,
title_bar, title_bar,
closable,
collapsible, collapsible,
resizable, resizable,
scroll, scroll,
@ -66,6 +72,7 @@ impl super::View for WindowOptions {
ui.text_edit_singleline(title); ui.text_edit_singleline(title);
}); });
ui.checkbox(title_bar, "title_bar"); ui.checkbox(title_bar, "title_bar");
ui.checkbox(closable, "closable");
ui.checkbox(collapsible, "collapsible"); ui.checkbox(collapsible, "collapsible");
ui.checkbox(resizable, "resizable"); ui.checkbox(resizable, "resizable");
ui.checkbox(scroll, "scroll"); ui.checkbox(scroll, "scroll");