1
0
mirror of https://github.com/emilk/egui.git synced 2026-09-02 06:40:06 -04:00

Remove some uses of top-level panels in our examples (#7729)

We're phasing out top-level panels (panels that use `Context` directly,
instead of being inside another `Ui`).
As a first step, stop using them in our demo library and application.

* Part of https://github.com/emilk/egui/issues/3524
This commit is contained in:
Emil Ernerfeldt
2025-11-21 20:22:01 +01:00
committed by GitHub
parent d53a4a9c1d
commit d5869bfeaf
13 changed files with 165 additions and 136 deletions

View File

@@ -59,16 +59,16 @@ impl Default for HttpApp {
}
}
impl eframe::App for HttpApp {
fn update(&mut self, ctx: &egui::Context, frame: &mut eframe::Frame) {
egui::Panel::bottom("http_bottom").show(ctx, |ui| {
impl crate::DemoApp for HttpApp {
fn demo_ui(&mut self, ui: &mut egui::Ui, frame: &mut eframe::Frame) {
egui::Panel::bottom("http_bottom").show_inside(ui, |ui| {
let layout = egui::Layout::top_down(egui::Align::Center).with_main_justify(true);
ui.allocate_ui_with_layout(ui.available_size(), layout, |ui| {
ui.add(egui_demo_lib::egui_github_link_file!())
})
});
egui::CentralPanel::default().show(ctx, |ui| {
egui::CentralPanel::default().show_inside(ui, |ui| {
let prev_url = self.url.clone();
let trigger_fetch = ui_url(ui, frame, &mut self.url);
@@ -80,7 +80,7 @@ impl eframe::App for HttpApp {
});
if trigger_fetch {
let ctx = ctx.clone();
let ctx = ui.ctx().clone();
let (sender, promise) = Promise::new();
let request = ehttp::Request::get(&self.url);
ehttp::fetch(request, move |response| {