From 2e80aba068e77e64ecff68ce5d72ba9d4d00fc05 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Sat, 24 Oct 2020 19:45:27 +0200 Subject: [PATCH] New example code --- README.md | 18 +++++++------- example_glium/src/main.rs | 49 ++++++++++++++++++++++++++------------ media/demo-2020-10-24.png | Bin 0 -> 29867 bytes 3 files changed, 44 insertions(+), 23 deletions(-) create mode 100644 media/demo-2020-10-24.png diff --git a/README.md b/README.md index 46c00a7c..1e56a9f6 100644 --- a/README.md +++ b/README.md @@ -32,17 +32,19 @@ Sections: ### Example ``` rust -Window::new("Debug").show(ui.ctx(), |ui| { - ui.label(format!("Hello, world {}", 123)); - if ui.button("Save").clicked { - my_save_function(); - } - ui.text_edit(&mut my_string); - ui.add(Slider::f32(&mut value, 0.0..=1.0).text("float")); +ui.heading("My Egui Application"); +ui.horizontal(|ui| { + ui.label("Your name: "); + ui.text_edit(&mut name); }); +ui.add(egui::Slider::u32(&mut age, 0..=120).text("age")); +if ui.button("Click each year").clicked { + age += 1; +} +ui.label(format!("Hello '{}', age {}", name, age)); ``` - + ## Goals diff --git a/example_glium/src/main.rs b/example_glium/src/main.rs index 4a548324..159a70d3 100644 --- a/example_glium/src/main.rs +++ b/example_glium/src/main.rs @@ -4,10 +4,19 @@ #![warn(clippy::all)] /// We derive Deserialize/Serialize so we can persist app state on shutdown. -#[derive(Default, serde::Deserialize, serde::Serialize)] +#[derive(serde::Deserialize, serde::Serialize)] struct MyApp { - my_string: String, - value: f32, + name: String, + age: u32, +} + +impl Default for MyApp { + fn default() -> Self { + Self { + name: "Arthur".to_owned(), + age: 42, + } + } } impl egui::app::App for MyApp { @@ -16,19 +25,33 @@ impl egui::app::App for MyApp { fn ui( &mut self, ctx: &std::sync::Arc, - _integration_context: &mut egui::app::IntegrationContext, + integration_context: &mut egui::app::IntegrationContext, ) { - let MyApp { my_string, value } = self; + let MyApp { name, age } = self; // Example used in `README.md`. - egui::Window::new("Debug").show(ctx, |ui| { - ui.label(format!("Hello, world {}", 123)); - if ui.button("Save").clicked { - my_save_function(); + egui::CentralPanel::default().show(ctx, |ui| { + ui.heading("My Egui Application"); + + ui.horizontal(|ui| { + ui.label("Your name: "); + ui.text_edit(name); + }); + + ui.add(egui::Slider::u32(age, 0..=120).text("age")); + if ui.button("Click each year").clicked { + *age += 1; + } + + ui.label(format!("Hello '{}', age {}", name, age)); + + ui.advance_cursor(16.0); + if ui.button("Quit").clicked { + integration_context.output.quit = true; } - ui.text_edit(my_string); - ui.add(egui::Slider::f32(value, 0.0..=1.0).text("float")); }); + + integration_context.output.window_size = Some(ctx.used_size()); // resize the window to be just the size we need it to be } fn on_exit(&mut self, storage: &mut dyn egui::app::Storage) { @@ -48,7 +71,3 @@ fn main() { let app: MyApp = egui::app::get_value(&storage, egui::app::APP_KEY).unwrap_or_default(); // Restore `MyApp` from file, or create new `MyApp`. egui_glium::run(title, Box::new(storage), app); } - -fn my_save_function() { - // dummy -} diff --git a/media/demo-2020-10-24.png b/media/demo-2020-10-24.png new file mode 100644 index 0000000000000000000000000000000000000000..96282a706cdece4f14c5549e921ebf81aab4eb56 GIT binary patch literal 29867 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