From 337da61c224114faef7383a65c70fce358f9f237 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Mon, 13 Nov 2023 19:22:17 +0100 Subject: [PATCH] Easily open all viewports in test_viewports app --- examples/test_viewports/src/main.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/examples/test_viewports/src/main.rs b/examples/test_viewports/src/main.rs index 68eba7ccc..9cbdad035 100644 --- a/examples/test_viewports/src/main.rs +++ b/examples/test_viewports/src/main.rs @@ -92,6 +92,13 @@ impl ViewportState { }); } } + + pub fn set_visible_recursive(&mut self, visible: bool) { + self.visible = visible; + for child in &self.children { + child.write().set_visible_recursive(true); + } + } } pub struct App { @@ -140,6 +147,11 @@ impl eframe::App for App { { let mut embed_viewports = ctx.embed_viewports(); ui.checkbox(&mut embed_viewports, "Embed all viewports"); + if ui.button("Open all viewports").clicked() { + for viewport in &self.top { + viewport.write().set_visible_recursive(true); + } + } ctx.set_embed_viewports(embed_viewports); }