1
0
mirror of https://github.com/emilk/egui.git synced 2026-08-29 21:00:03 -04:00

Remove id from ViewportBuilder so it can implement Default

This commit is contained in:
Emil Ernerfeldt
2023-11-14 19:52:28 +01:00
parent 09a728ba34
commit 54f6e6b9ae
6 changed files with 94 additions and 81 deletions

View File

@@ -28,10 +28,13 @@ impl eframe::App for MyApp {
ui.checkbox(&mut self.show_child_viewport, "Show secondary viewport");
});
let mut viewport = egui::ViewportBuilder::CHILD;
viewport.with_title("Secondary Viewport");
if self.show_child_viewport {
ctx.show_viewport(
egui::ViewportBuilder::new(egui::ViewportId::from_hash_of("secondary_viewport"))
.with_title("Secondary Viewport"),
egui::ViewportId::from_hash_of("secondary_viewport"),
viewport,
|ctx| {
egui::CentralPanel::default().show(ctx, |ui| {
ui.label("Hello from secondary viewport");

View File

@@ -65,21 +65,21 @@ impl ViewportState {
let immediate = vp_state.read().immediate;
let title = vp_state.read().title.clone();
let mut vp_builder = ViewportBuilder::new(vp_id);
let mut vp_builder = ViewportBuilder::ROOT;
vp_builder
.with_title(&title)
.with_inner_size(Some(egui::vec2(450.0, 400.0)));
if immediate {
let mut vp_state = vp_state.write();
ctx.show_viewport_immediate(vp_builder, move |ctx| {
ctx.show_viewport_immediate(vp_id, vp_builder, move |ctx| {
show_as_popup(ctx, &title, vp_id.into(), |ui: &mut egui::Ui| {
generic_child_ui(ui, &mut vp_state);
});
});
} else {
let count = Arc::new(RwLock::new(0));
ctx.show_viewport(&vp_builder, move |ctx| {
ctx.show_viewport(vp_id, vp_builder, move |ctx| {
let mut vp_state = vp_state.write();
let count = count.clone();
show_as_popup(ctx, &title, vp_id.into(), move |ui: &mut egui::Ui| {