From 0e6fb000dc582f840c3693d0b18d45bac50e5ed6 Mon Sep 17 00:00:00 2001 From: mvlabat Date: Sat, 10 Apr 2021 18:16:36 +0300 Subject: [PATCH] Add shared input to the two windows example --- examples/two_windows.rs | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/examples/two_windows.rs b/examples/two_windows.rs index 86422d846..5aed946ad 100644 --- a/examples/two_windows.rs +++ b/examples/two_windows.rs @@ -19,6 +19,7 @@ const BEVY_TEXTURE_ID: u64 = 0; fn main() { App::build() .insert_resource(Msaa { samples: 4 }) + .init_resource::() .add_state(AppState::CreateWindow) .add_plugins(DefaultPlugins) .add_plugin(EguiPlugin) @@ -267,16 +268,29 @@ fn setup( #[derive(Default)] struct UiState { - label: String, + input: String, } -fn ui_first_window(egui_context: Res, mut ui_state: Local) { +#[derive(Default)] +struct SharedUiState { + shared_input: String, +} + +fn ui_first_window( + egui_context: Res, + mut ui_state: Local, + mut shared_ui_state: ResMut, +) { egui::Window::new("First Window") .scroll(true) .show(egui_context.ctx(), |ui| { ui.horizontal(|ui| { ui.label("Write something: "); - ui.text_edit_singleline(&mut ui_state.label); + ui.text_edit_singleline(&mut ui_state.input); + }); + ui.horizontal(|ui| { + ui.label("Shared input: "); + ui.text_edit_singleline(&mut shared_ui_state.shared_input); }); ui.add(egui::widgets::Image::new( @@ -290,13 +304,18 @@ fn ui_second_window( egui_context: Res, second_window: Res, mut ui_state: Local, + mut shared_ui_state: ResMut, ) { egui::Window::new("Second Window").scroll(true).show( egui_context.ctx_for_window(second_window.id), |ui| { ui.horizontal(|ui| { ui.label("Write something else: "); - ui.text_edit_singleline(&mut ui_state.label); + ui.text_edit_singleline(&mut ui_state.input); + }); + ui.horizontal(|ui| { + ui.label("Shared input: "); + ui.text_edit_singleline(&mut shared_ui_state.shared_input); }); ui.add(egui::widgets::Image::new(