From b8938e01c49256531c9a3b8adda870874b99a354 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Fri, 28 Aug 2020 16:21:35 +0200 Subject: [PATCH] [demo] add menu option to auto-reorganize windows --- egui/src/demos/app.rs | 9 ++++++++- egui/src/memory.rs | 6 ++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/egui/src/demos/app.rs b/egui/src/demos/app.rs index 680d7f3b..ae9e5c4f 100644 --- a/egui/src/demos/app.rs +++ b/egui/src/demos/app.rs @@ -236,7 +236,14 @@ impl OpenWindows { fn show_menu_bar(ui: &mut Ui, windows: &mut OpenWindows) { menu::bar(ui, |ui| { menu::menu(ui, "File", |ui| { - if ui.add(Button::new("Clear memory")).clicked { + if ui.add(Button::new("Reorganize windows")).clicked { + ui.ctx().memory().reset_areas(); + } + if ui + .add(Button::new("Clear entire Egui memory")) + .tooltip_text("Forget scroll, collapsibles etc") + .clicked + { *ui.ctx().memory() = Default::default(); } }); diff --git a/egui/src/memory.rs b/egui/src/memory.rs index 9619ae78..ad7f3029 100644 --- a/egui/src/memory.rs +++ b/egui/src/memory.rs @@ -152,6 +152,12 @@ impl Memory { self.interaction.kb_focus_id = None; } } + + /// Forget window positions, sizes etc. + /// Can be used to auto-layout windows. + pub fn reset_areas(&mut self) { + self.areas = Default::default(); + } } impl Areas {