From 1448c5047f37ed40e570288cceaceac92088c085 Mon Sep 17 00:00:00 2001 From: Konkitoman Date: Thu, 3 Aug 2023 19:53:17 +0300 Subject: [PATCH] Remove viewport_id and parent_viewport_id from Window::show arguments because can be accessed from Context::get_viewport_id and Context::get_parent_viewport_id --- crates/egui/src/containers/window.rs | 20 +++------- crates/egui_demo_app/src/backend_panel.rs | 8 ++-- crates/egui_demo_app/src/wrap_app.rs | 2 +- crates/egui_demo_lib/src/demo/about.rs | 2 +- crates/egui_demo_lib/src/demo/code_editor.rs | 2 +- crates/egui_demo_lib/src/demo/code_example.rs | 2 +- crates/egui_demo_lib/src/demo/context_menu.rs | 2 +- .../egui_demo_lib/src/demo/dancing_strings.rs | 2 +- .../src/demo/demo_app_windows.rs | 2 +- .../egui_demo_lib/src/demo/drag_and_drop.rs | 2 +- crates/egui_demo_lib/src/demo/font_book.rs | 2 +- crates/egui_demo_lib/src/demo/highlighting.rs | 2 +- crates/egui_demo_lib/src/demo/layout_test.rs | 2 +- .../src/demo/misc_demo_window.rs | 2 +- crates/egui_demo_lib/src/demo/multi_touch.rs | 2 +- crates/egui_demo_lib/src/demo/paint_bezier.rs | 2 +- crates/egui_demo_lib/src/demo/painting.rs | 2 +- crates/egui_demo_lib/src/demo/plot_demo.rs | 2 +- crates/egui_demo_lib/src/demo/scrolling.rs | 2 +- crates/egui_demo_lib/src/demo/sliders.rs | 2 +- crates/egui_demo_lib/src/demo/strip_demo.rs | 2 +- crates/egui_demo_lib/src/demo/table_demo.rs | 2 +- crates/egui_demo_lib/src/demo/tests.rs | 38 ++++++++---------- crates/egui_demo_lib/src/demo/text_edit.rs | 2 +- .../egui_demo_lib/src/demo/widget_gallery.rs | 2 +- .../egui_demo_lib/src/demo/window_options.rs | 2 +- .../src/demo/window_with_panels.rs | 2 +- examples/confirm_exit/src/main.rs | 2 +- examples/hello_world_par/src/main.rs | 7 ++-- examples/viewports/src/main.rs | 39 ++++++++++++------- 30 files changed, 81 insertions(+), 81 deletions(-) diff --git a/crates/egui/src/containers/window.rs b/crates/egui/src/containers/window.rs index 46e3306ba..9a0ecd93b 100644 --- a/crates/egui/src/containers/window.rs +++ b/crates/egui/src/containers/window.rs @@ -434,7 +434,7 @@ impl<'open> Window<'open> { pub fn show( self, ctx: &Context, - add_contents: impl FnOnce(&mut Ui, u64, u64) -> R, + add_contents: impl FnOnce(&mut Ui) -> R, ) -> Option>> { self.show_dyn(ctx, Box::new(add_contents)) } @@ -442,7 +442,7 @@ impl<'open> Window<'open> { fn show_dyn<'a, R>( self, ctx: &Context, - add_contents: Box R + 'a>, + add_contents: Box R + 'a>, ) -> Option>> { let Window { title, @@ -662,17 +662,9 @@ impl<'open> Window<'open> { } if scroll.has_any_bar() { - scroll - .show(ui, |ui| { - add_contents( - ui, - viewport_id, - parent_viewport_id, - ) - }) - .inner + scroll.show(ui, |ui| add_contents(ui)).inner } else { - add_contents(ui, viewport_id, parent_viewport_id) + add_contents(ui) } }) }) @@ -854,9 +846,9 @@ impl<'open> Window<'open> { } if scroll.has_any_bar() { - scroll.show(ui, |ui| add_contents(ui, 0, 0)).inner + scroll.show(ui, |ui| add_contents(ui)).inner } else { - add_contents(ui, 0, 0) + add_contents(ui) } }) }) diff --git a/crates/egui_demo_app/src/backend_panel.rs b/crates/egui_demo_app/src/backend_panel.rs index 7b2a04c9b..5966ce683 100644 --- a/crates/egui_demo_app/src/backend_panel.rs +++ b/crates/egui_demo_app/src/backend_panel.rs @@ -417,7 +417,7 @@ impl EguiWindows { egui::Window::new("🔧 Settings") .open(settings) .vscroll(true) - .show(ctx, move |ui, _, _| { + .show(ctx, move |ui| { tmp_ctx.settings_ui(ui); }); @@ -425,7 +425,7 @@ impl EguiWindows { egui::Window::new("🔍 Inspection") .open(inspection) .vscroll(true) - .show(ctx, move |ui, _, _| { + .show(ctx, move |ui| { tmp_ctx.inspection_ui(ui); }); @@ -433,7 +433,7 @@ impl EguiWindows { egui::Window::new("📝 Memory") .open(memory) .resizable(false) - .show(ctx, move |ui, _, _| { + .show(ctx, move |ui| { tmp_ctx.memory_ui(ui); }); @@ -442,7 +442,7 @@ impl EguiWindows { .open(output_events) .resizable(true) .default_width(520.0) - .show(ctx, move |ui, _, _| { + .show(ctx, move |ui| { ui.label( "Recent output events from egui. \ These are emitted when you interact with widgets, or move focus between them with TAB. \ diff --git a/crates/egui_demo_app/src/wrap_app.rs b/crates/egui_demo_app/src/wrap_app.rs index ab3c97661..d068b2a40 100644 --- a/crates/egui_demo_app/src/wrap_app.rs +++ b/crates/egui_demo_app/src/wrap_app.rs @@ -475,7 +475,7 @@ impl WrapApp { let dropped_files = self.dropped_files.clone(); egui::Window::new("Dropped files") .open(&mut open) - .show(ctx, move |ui, _, _| { + .show(ctx, move |ui| { let dropped_files = &*dropped_files.read().unwrap(); for file in dropped_files { let mut info = if let Some(path) = &file.path { diff --git a/crates/egui_demo_lib/src/demo/about.rs b/crates/egui_demo_lib/src/demo/about.rs index c91514e36..b5ccc027a 100644 --- a/crates/egui_demo_lib/src/demo/about.rs +++ b/crates/egui_demo_lib/src/demo/about.rs @@ -12,7 +12,7 @@ impl super::Demo for About { egui::Window::new(self.name()) .default_width(320.0) .open(open) - .show(ctx, |ui, _, _| { + .show(ctx, |ui| { use super::View as _; Self::default().ui(ui); }); diff --git a/crates/egui_demo_lib/src/demo/code_editor.rs b/crates/egui_demo_lib/src/demo/code_editor.rs index 1fa509f73..10934727a 100644 --- a/crates/egui_demo_lib/src/demo/code_editor.rs +++ b/crates/egui_demo_lib/src/demo/code_editor.rs @@ -40,7 +40,7 @@ impl super::Demo for CodeEditor { egui::Window::new(self.name()) .open(open) .default_height(500.0) - .show(ctx, move |ui, _, _| clone.clone().ui(ui)); + .show(ctx, move |ui| clone.clone().ui(ui)); } } diff --git a/crates/egui_demo_lib/src/demo/code_example.rs b/crates/egui_demo_lib/src/demo/code_example.rs index 4fd37ee88..86841f5e1 100644 --- a/crates/egui_demo_lib/src/demo/code_example.rs +++ b/crates/egui_demo_lib/src/demo/code_example.rs @@ -84,7 +84,7 @@ impl super::Demo for CodeExample { .default_size([800.0, 400.0]) .vscroll(false) .hscroll(true) - .show(ctx, move |ui, _, _| clone.clone().ui(ui)); + .show(ctx, move |ui| clone.clone().ui(ui)); } } diff --git a/crates/egui_demo_lib/src/demo/context_menu.rs b/crates/egui_demo_lib/src/demo/context_menu.rs index cbbc9eff0..f73a27f7d 100644 --- a/crates/egui_demo_lib/src/demo/context_menu.rs +++ b/crates/egui_demo_lib/src/demo/context_menu.rs @@ -70,7 +70,7 @@ impl super::Demo for ContextMenus { .vscroll(false) .resizable(false) .open(open) - .show(ctx, move |ui, _, _| clone.clone().ui(ui)); + .show(ctx, move |ui| clone.clone().ui(ui)); } } diff --git a/crates/egui_demo_lib/src/demo/dancing_strings.rs b/crates/egui_demo_lib/src/demo/dancing_strings.rs index fb79342b8..a7b14c507 100644 --- a/crates/egui_demo_lib/src/demo/dancing_strings.rs +++ b/crates/egui_demo_lib/src/demo/dancing_strings.rs @@ -16,7 +16,7 @@ impl super::Demo for DancingStrings { .open(open) .default_size(vec2(512.0, 256.0)) .vscroll(false) - .show(ctx, |ui, _, _| Self::default().ui(ui)); + .show(ctx, |ui| Self::default().ui(ui)); } } diff --git a/crates/egui_demo_lib/src/demo/demo_app_windows.rs b/crates/egui_demo_lib/src/demo/demo_app_windows.rs index e1ba4499e..5890645f8 100644 --- a/crates/egui_demo_lib/src/demo/demo_app_windows.rs +++ b/crates/egui_demo_lib/src/demo/demo_app_windows.rs @@ -202,7 +202,7 @@ impl DemoWindows { .open(&mut about_is_open) .resizable(false) .collapsible(false) - .show(ctx, move |ui, _, _| { + .show(ctx, move |ui| { let close = close.clone(); clone.data.write().unwrap().about.ui(ui); ui.add_space(12.0); diff --git a/crates/egui_demo_lib/src/demo/drag_and_drop.rs b/crates/egui_demo_lib/src/demo/drag_and_drop.rs index 87030c00c..618f2ee7c 100644 --- a/crates/egui_demo_lib/src/demo/drag_and_drop.rs +++ b/crates/egui_demo_lib/src/demo/drag_and_drop.rs @@ -120,7 +120,7 @@ impl super::Demo for DragAndDropDemo { .default_size(vec2(256.0, 256.0)) .vscroll(false) .resizable(false) - .show(ctx, move |ui, _, _| clone.clone().ui(ui)); + .show(ctx, move |ui| clone.clone().ui(ui)); } } diff --git a/crates/egui_demo_lib/src/demo/font_book.rs b/crates/egui_demo_lib/src/demo/font_book.rs index 2b66f198c..acbdf94fb 100644 --- a/crates/egui_demo_lib/src/demo/font_book.rs +++ b/crates/egui_demo_lib/src/demo/font_book.rs @@ -32,7 +32,7 @@ impl super::Demo for FontBook { let clone = self.clone(); egui::Window::new(self.name()) .open(open) - .show(ctx, move |ui, _, _| { + .show(ctx, move |ui| { use super::View as _; clone.clone().ui(ui); }); diff --git a/crates/egui_demo_lib/src/demo/highlighting.rs b/crates/egui_demo_lib/src/demo/highlighting.rs index fca82300a..7263fadcc 100644 --- a/crates/egui_demo_lib/src/demo/highlighting.rs +++ b/crates/egui_demo_lib/src/demo/highlighting.rs @@ -12,7 +12,7 @@ impl super::Demo for Highlighting { egui::Window::new(self.name()) .default_width(320.0) .open(open) - .show(ctx, |ui, _, _| { + .show(ctx, |ui| { use super::View as _; Self::default().ui(ui); }); diff --git a/crates/egui_demo_lib/src/demo/layout_test.rs b/crates/egui_demo_lib/src/demo/layout_test.rs index 61fdc95a0..3e28cba23 100644 --- a/crates/egui_demo_lib/src/demo/layout_test.rs +++ b/crates/egui_demo_lib/src/demo/layout_test.rs @@ -92,7 +92,7 @@ impl super::Demo for LayoutTest { egui::Window::new(self.name()) .open(open) .resizable(false) - .show(ctx, move |ui, _, _| { + .show(ctx, move |ui| { use super::View as _; clone.clone().ui(ui); }); diff --git a/crates/egui_demo_lib/src/demo/misc_demo_window.rs b/crates/egui_demo_lib/src/demo/misc_demo_window.rs index 8796e5c97..fbcdb089e 100644 --- a/crates/egui_demo_lib/src/demo/misc_demo_window.rs +++ b/crates/egui_demo_lib/src/demo/misc_demo_window.rs @@ -62,7 +62,7 @@ impl Demo for MiscDemoWindow { .open(open) .vscroll(true) .hscroll(true) - .show(ctx, move |ui, _, _| clone.clone().ui(ui)); + .show(ctx, move |ui| clone.clone().ui(ui)); } } diff --git a/crates/egui_demo_lib/src/demo/multi_touch.rs b/crates/egui_demo_lib/src/demo/multi_touch.rs index baa52fb9c..20d33c89f 100644 --- a/crates/egui_demo_lib/src/demo/multi_touch.rs +++ b/crates/egui_demo_lib/src/demo/multi_touch.rs @@ -39,7 +39,7 @@ impl super::Demo for MultiTouch { .open(open) .default_size(vec2(512.0, 512.0)) .resizable(true) - .show(ctx, move |ui, _, _| { + .show(ctx, move |ui| { use super::View as _; clone.clone().ui(ui); }); diff --git a/crates/egui_demo_lib/src/demo/paint_bezier.rs b/crates/egui_demo_lib/src/demo/paint_bezier.rs index dd8f58394..a6601aeb1 100644 --- a/crates/egui_demo_lib/src/demo/paint_bezier.rs +++ b/crates/egui_demo_lib/src/demo/paint_bezier.rs @@ -166,7 +166,7 @@ impl super::Demo for PaintBezier { .vscroll(false) .resizable(false) .default_size([300.0, 350.0]) - .show(ctx, move |ui, _, _| clone.clone().ui(ui)); + .show(ctx, move |ui| clone.clone().ui(ui)); } } diff --git a/crates/egui_demo_lib/src/demo/painting.rs b/crates/egui_demo_lib/src/demo/painting.rs index c1a850cb0..d3a03224f 100644 --- a/crates/egui_demo_lib/src/demo/painting.rs +++ b/crates/egui_demo_lib/src/demo/painting.rs @@ -94,7 +94,7 @@ impl super::Demo for Painting { .open(open) .default_size(vec2(512.0, 512.0)) .vscroll(false) - .show(ctx, move |ui, _, _| clone.clone().ui(ui)); + .show(ctx, move |ui| clone.clone().ui(ui)); } } diff --git a/crates/egui_demo_lib/src/demo/plot_demo.rs b/crates/egui_demo_lib/src/demo/plot_demo.rs index beaf66c20..2af182b05 100644 --- a/crates/egui_demo_lib/src/demo/plot_demo.rs +++ b/crates/egui_demo_lib/src/demo/plot_demo.rs @@ -68,7 +68,7 @@ impl super::Demo for PlotDemo { .open(open) .default_size(vec2(400.0, 400.0)) .vscroll(false) - .show(ctx, move |ui, _, _| clone.clone().ui(ui)); + .show(ctx, move |ui| clone.clone().ui(ui)); } } diff --git a/crates/egui_demo_lib/src/demo/scrolling.rs b/crates/egui_demo_lib/src/demo/scrolling.rs index 40024691f..1f9b65d6f 100644 --- a/crates/egui_demo_lib/src/demo/scrolling.rs +++ b/crates/egui_demo_lib/src/demo/scrolling.rs @@ -50,7 +50,7 @@ impl super::Demo for Scrolling { egui::Window::new(self.name()) .open(open) .resizable(false) - .show(ctx, move |ui, _, _| { + .show(ctx, move |ui| { use super::View as _; clone.clone().ui(ui); }); diff --git a/crates/egui_demo_lib/src/demo/sliders.rs b/crates/egui_demo_lib/src/demo/sliders.rs index fb6494993..2dce3b12c 100644 --- a/crates/egui_demo_lib/src/demo/sliders.rs +++ b/crates/egui_demo_lib/src/demo/sliders.rs @@ -63,7 +63,7 @@ impl super::Demo for Sliders { egui::Window::new(self.name()) .open(open) .resizable(false) - .show(ctx, move |ui, _, _| { + .show(ctx, move |ui| { use super::View as _; clone.clone().ui(ui); }); diff --git a/crates/egui_demo_lib/src/demo/strip_demo.rs b/crates/egui_demo_lib/src/demo/strip_demo.rs index 8f7f5c849..1106997d0 100644 --- a/crates/egui_demo_lib/src/demo/strip_demo.rs +++ b/crates/egui_demo_lib/src/demo/strip_demo.rs @@ -16,7 +16,7 @@ impl super::Demo for StripDemo { .open(open) .resizable(true) .default_width(400.0) - .show(ctx, |ui, _, _| { + .show(ctx, |ui| { use super::View as _; Self::default().ui(ui); }); diff --git a/crates/egui_demo_lib/src/demo/table_demo.rs b/crates/egui_demo_lib/src/demo/table_demo.rs index e25f36525..384bf1242 100644 --- a/crates/egui_demo_lib/src/demo/table_demo.rs +++ b/crates/egui_demo_lib/src/demo/table_demo.rs @@ -49,7 +49,7 @@ impl super::Demo for TableDemo { .open(open) .resizable(true) .default_width(400.0) - .show(ctx, move |ui, _, _| { + .show(ctx, move |ui| { use super::View as _; clone.clone().ui(ui); }); diff --git a/crates/egui_demo_lib/src/demo/tests.rs b/crates/egui_demo_lib/src/demo/tests.rs index eda755570..375e1a07d 100644 --- a/crates/egui_demo_lib/src/demo/tests.rs +++ b/crates/egui_demo_lib/src/demo/tests.rs @@ -9,12 +9,10 @@ impl super::Demo for CursorTest { } fn show(&mut self, ctx: &egui::Context, open: &mut bool) { - egui::Window::new(self.name()) - .open(open) - .show(ctx, |ui, _, _| { - use super::View as _; - Self::default().ui(ui); - }); + egui::Window::new(self.name()).open(open).show(ctx, |ui| { + use super::View as _; + Self::default().ui(ui); + }); } } @@ -43,12 +41,10 @@ impl super::Demo for IdTest { } fn show(&mut self, ctx: &egui::Context, open: &mut bool) { - egui::Window::new(self.name()) - .open(open) - .show(ctx, |ui, _, _| { - use super::View as _; - Self::default().ui(ui); - }); + egui::Window::new(self.name()).open(open).show(ctx, |ui| { + use super::View as _; + Self::default().ui(ui); + }); } } @@ -139,7 +135,7 @@ impl super::Demo for ManualLayoutTest { egui::Window::new(self.name()) .resizable(false) .open(open) - .show(ctx, move |ui, _, _| { + .show(ctx, move |ui| { use super::View as _; clone.clone().ui(ui); }); @@ -236,7 +232,7 @@ impl super::Demo for TableTest { let clone = self.clone(); egui::Window::new(self.name()) .open(open) - .show(ctx, move |ui, _, _| { + .show(ctx, move |ui| { use super::View as _; clone.clone().ui(ui); }); @@ -357,7 +353,7 @@ impl super::Demo for InputTest { egui::Window::new(self.name()) .open(open) .resizable(false) - .show(ctx, move |ui, _, _| { + .show(ctx, move |ui| { use super::View as _; clone.clone().ui(ui); }); @@ -438,7 +434,7 @@ impl super::Demo for WindowResizeTest { Window::new("↔ auto-sized") .open(open) .auto_sized() - .show(ctx, |ui, _, _| { + .show(ctx, |ui| { ui.label("This window will auto-size based on its contents."); ui.heading("Resize this area:"); Resize::default().show(ui, |ui| { @@ -452,7 +448,7 @@ impl super::Demo for WindowResizeTest { .vscroll(true) .resizable(true) .default_height(300.0) - .show(ctx, |ui, _, _| { + .show(ctx, |ui| { ui.label( "This window is resizable and has a scroll area. You can shrink it to any size.", ); @@ -465,7 +461,7 @@ impl super::Demo for WindowResizeTest { .vscroll(false) .resizable(true) .default_height(300.0) - .show(ctx, |ui, _, _| { + .show(ctx, |ui| { ui.label("This window is resizable but has no built-in scroll area."); ui.label("However, we have a sub-region with a scroll bar:"); ui.separator(); @@ -481,7 +477,7 @@ impl super::Demo for WindowResizeTest { .open(open) .vscroll(false) .resizable(true) - .show(ctx, |ui, _, _| { + .show(ctx, |ui| { ui.label("This window is resizable but has no scroll area. This means it can only be resized to a size where all the contents is visible."); ui.label("egui will not clip the contents of a window, nor add whitespace to it."); ui.separator(); @@ -495,7 +491,7 @@ impl super::Demo for WindowResizeTest { .vscroll(false) .resizable(true) .default_height(300.0) - .show(ctx, move |ui, _, _| { + .show(ctx, move |ui| { ui.label("Shows how you can fill an area with a widget."); let mut text = clone.text.write().unwrap(); ui.add_sized(ui.available_size(), TextEdit::multiline(&mut *text)); @@ -506,7 +502,7 @@ impl super::Demo for WindowResizeTest { .vscroll(false) .resizable(true) .default_size([250.0, 150.0]) - .show(ctx, |ui, _, _| { + .show(ctx, |ui| { ui.label("This window has empty space that fills up the available space, preventing auto-shrink."); ui.allocate_space(ui.available_size()); }); diff --git a/crates/egui_demo_lib/src/demo/text_edit.rs b/crates/egui_demo_lib/src/demo/text_edit.rs index a11b9efed..aeb2c35a6 100644 --- a/crates/egui_demo_lib/src/demo/text_edit.rs +++ b/crates/egui_demo_lib/src/demo/text_edit.rs @@ -32,7 +32,7 @@ impl super::Demo for TextEdit { egui::Window::new(self.name()) .open(open) .resizable(false) - .show(ctx, move |ui, _, _| { + .show(ctx, move |ui| { use super::View as _; clone.clone().ui(ui); }); diff --git a/crates/egui_demo_lib/src/demo/widget_gallery.rs b/crates/egui_demo_lib/src/demo/widget_gallery.rs index 3189279f8..4545cc074 100644 --- a/crates/egui_demo_lib/src/demo/widget_gallery.rs +++ b/crates/egui_demo_lib/src/demo/widget_gallery.rs @@ -63,7 +63,7 @@ impl super::Demo for WidgetGallery { .open(open) .resizable(true) .default_width(280.0) - .show(ctx, move |ui, _, _| { + .show(ctx, move |ui| { use super::View as _; clone.clone().ui(ui); }); diff --git a/crates/egui_demo_lib/src/demo/window_options.rs b/crates/egui_demo_lib/src/demo/window_options.rs index c5d7e3dae..d258fbb43 100644 --- a/crates/egui_demo_lib/src/demo/window_options.rs +++ b/crates/egui_demo_lib/src/demo/window_options.rs @@ -83,7 +83,7 @@ impl super::Demo for WindowOptions { window = window.anchor(anchor, anchor_offset); } let clone = self.clone(); - window.show(ctx, move |ui, _, _| { + window.show(ctx, move |ui| { let mut clone = clone.clone(); clone.ui(ui) }); diff --git a/crates/egui_demo_lib/src/demo/window_with_panels.rs b/crates/egui_demo_lib/src/demo/window_with_panels.rs index dda378044..2e3c8aaf2 100644 --- a/crates/egui_demo_lib/src/demo/window_with_panels.rs +++ b/crates/egui_demo_lib/src/demo/window_with_panels.rs @@ -14,7 +14,7 @@ impl super::Demo for WindowWithPanels { .default_height(400.0) .vscroll(false) .open(open); - window.show(ctx, |ui, _, _| Self {}.ui(ui)); + window.show(ctx, |ui| Self {}.ui(ui)); } } diff --git a/examples/confirm_exit/src/main.rs b/examples/confirm_exit/src/main.rs index 88b01d2c4..320d3f378 100644 --- a/examples/confirm_exit/src/main.rs +++ b/examples/confirm_exit/src/main.rs @@ -55,7 +55,7 @@ impl eframe::App for MyApp { egui::Window::new("Do you want to quit?") .collapsible(false) .resizable(false) - .show(ctx, move |ui, _, _| { + .show(ctx, move |ui| { ui.horizontal(|ui| { if ui.button("Cancel").clicked() { data.write().unwrap().show_confirmation_dialog = false; diff --git a/examples/hello_world_par/src/main.rs b/examples/hello_world_par/src/main.rs index 9f4c52086..6e2634191 100644 --- a/examples/hello_world_par/src/main.rs +++ b/examples/hello_world_par/src/main.rs @@ -53,7 +53,7 @@ impl ThreadState { let title = self.data.read().unwrap().title.clone(); egui::Window::new(title) .default_pos(pos) - .show(ctx, move |ui, _, _| { + .show(ctx, move |ui| { let data = &mut *clone.data.write().unwrap(); ui.horizontal(|ui| { ui.label("Your name: "); @@ -147,10 +147,11 @@ impl eframe::App for MyApp { return; } let data = self.data.clone(); - egui::Window::new("Main thread").show(ctx, move |ui, _, parent_id| { + egui::Window::new("Main thread").show(ctx, move |ui| { if ui.button("Spawn another thread").clicked() { data.write().unwrap().spawn_thread(); - ui.ctx().request_repaint_viewport(parent_id); + ui.ctx() + .request_repaint_viewport(ui.ctx().get_parent_viewport_id()); } }); diff --git a/examples/viewports/src/main.rs b/examples/viewports/src/main.rs index 86df323f7..90ed2924f 100644 --- a/examples/viewports/src/main.rs +++ b/examples/viewports/src/main.rs @@ -61,15 +61,16 @@ fn main() { } egui::CollapsingHeader::new("Show Test1").show(ui, |ui| { - egui::Window::new("Test1").embedded(&mut embedded1).show( - ctx, - |ui, id, parent_id| { + egui::Window::new("Test1") + .embedded(&mut embedded1) + .show(ctx, |ui| { ui.label(format!("Frame: {}", ui.ctx().frame_nr())); let mut embedded = ui.data_mut(|data| { *data.get_temp_mut_or(Id::new("Test1").with("_is_embedded"), true) }); if ui.checkbox(&mut embedded, "Should embedd?").clicked() { - ui.ctx().request_repaint_viewport(parent_id); + ui.ctx() + .request_repaint_viewport(ui.ctx().get_parent_viewport_id()); } ui.data_mut(|data| { data.insert_persisted(Id::new("Test1").with("_embedded"), embedded) @@ -84,8 +85,11 @@ fn main() { ctx.get_viewport_id() )); if ui.button("Drag").is_pointer_button_down_on() { - if id != parent_id { - ctx.viewport_command(id, egui::window::ViewportCommand::Drag) + if ctx.get_viewport_id() != ctx.get_parent_viewport_id() { + ctx.viewport_command( + ctx.get_viewport_id(), + egui::window::ViewportCommand::Drag, + ) } else { ctx.memory_mut(|mem| { mem.set_dragged_id( @@ -94,17 +98,17 @@ fn main() { }); } } - }, - ); + }); }); egui::CollapsingHeader::new("Shout Test2").show(ui, |ui| { - egui::Window::new("Test2").show(ctx, move |ui, id, parent_id| { + egui::Window::new("Test2").show(ctx, move |ui| { ui.label(format!("Frame: {}", ui.ctx().frame_nr())); let mut embedded = ui.data_mut(|data| { *data.get_temp_mut_or(Id::new("Test2").with("_embedded"), true) }); if ui.checkbox(&mut embedded, "Should embedd?").clicked() { - ui.ctx().request_repaint_viewport(parent_id); + ui.ctx() + .request_repaint_viewport(ui.ctx().get_parent_viewport_id()); } ui.data_mut(|data| { data.insert_persisted(Id::new("Test2").with("_embedded"), embedded) @@ -119,18 +123,22 @@ fn main() { )); if ui.button("Drag").is_pointer_button_down_on() { - ctx.viewport_command(id, egui::window::ViewportCommand::Drag) + ctx.viewport_command( + ctx.get_viewport_id(), + egui::window::ViewportCommand::Drag, + ) } }); }); egui::CollapsingHeader::new("Shout Test3").show(ui, |ui| { - egui::Window::new("Test3").show(ctx, move |ui, id, parent_id| { + egui::Window::new("Test3").show(ctx, move |ui| { ui.label(format!("Frame: {}", ui.ctx().frame_nr())); let mut embedded = ui.data_mut(|data| { *data.get_temp_mut_or(Id::new("Test3").with("_embedded"), true) }); if ui.checkbox(&mut embedded, "Should embedd?").clicked() { - ui.ctx().request_repaint_viewport(parent_id); + ui.ctx() + .request_repaint_viewport(ui.ctx().get_parent_viewport_id()); } ui.data_mut(|data| { data.insert_persisted(Id::new("Test3").with("_embedded"), embedded) @@ -142,7 +150,10 @@ fn main() { )); if ui.button("Drag").is_pointer_button_down_on() { - ctx.viewport_command(id, egui::window::ViewportCommand::Drag) + ctx.viewport_command( + ctx.get_viewport_id(), + egui::window::ViewportCommand::Drag, + ) } }); });