From 911c974cfccca7a5342e9a96066514ee5ecd5805 Mon Sep 17 00:00:00 2001 From: Alain Emilia Anna Zscheile Date: Wed, 9 Oct 2024 19:26:45 +0200 Subject: [PATCH] fix(egui/MenuBar): temporarily comment out all partial conditional enabled UIs This is workaround for https://github.com/emilk/egui/issues/4774 (and can be reverted once that bug is fixed). Here, we comment out all `ui.add_enabled_ui(..., |ui| ...);` wrappers which don't cover whole menus (the bug above should only affect menus in which only some items are disabled). --- src/bin/topola-egui/menu_bar.rs | 65 ++++++++++++++++----------------- 1 file changed, 31 insertions(+), 34 deletions(-) diff --git a/src/bin/topola-egui/menu_bar.rs b/src/bin/topola-egui/menu_bar.rs index bffc79e..6ef99ea 100644 --- a/src/bin/topola-egui/menu_bar.rs +++ b/src/bin/topola-egui/menu_bar.rs @@ -136,14 +136,14 @@ impl MenuBar { egui::menu::bar(ui, |ui| { ui.menu_button(tr.text("tr-menu-file"), |ui| { open_design.button(ctx, ui); - ui.add_enabled_ui(maybe_workspace.is_some(), |ui| { - export_session.button(ctx, ui); + //ui.add_enabled_ui(maybe_workspace.is_some(), |ui| { + export_session.button(ctx, ui); - ui.separator(); + ui.separator(); - import_history.button(ctx, ui); - export_history.button(ctx, ui); - }); + import_history.button(ctx, ui); + export_history.button(ctx, ui); + //}); ui.separator(); @@ -164,9 +164,9 @@ impl MenuBar { ui.separator(); - ui.add_enabled_ui(workspace_activities_enabled, |ui| { - remove_bands.button(ctx, ui); - }); + //ui.add_enabled_ui(workspace_activities_enabled, |ui| { + remove_bands.button(ctx, ui); + //}); }); }); @@ -178,31 +178,28 @@ impl MenuBar { ui.separator(); - ui.add_enabled_ui(maybe_workspace.is_some(), |ui| { - ui.checkbox( - &mut self.show_ratsnest, - tr.text("tr-menu-view-show-ratsnest"), - ); - ui.checkbox( - &mut self.show_navmesh, - tr.text("tr-menu-view-show-navmesh"), - ); - ui.checkbox(&mut self.show_bboxes, tr.text("tr-menu-view-show-bboxes")); - ui.checkbox( - &mut self.show_origin_destination, - tr.text("tr-menu-view-show-origin-destination"), - ); - - ui.separator(); - - ui.checkbox( - &mut self.show_layer_manager, - tr.text("tr-menu-view-show-layer-manager"), - ); - }); + //ui.add_enabled_ui(maybe_workspace.is_some(), |ui| { + ui.checkbox( + &mut self.show_ratsnest, + tr.text("tr-menu-view-show-ratsnest"), + ); + ui.checkbox(&mut self.show_navmesh, tr.text("tr-menu-view-show-navmesh")); + ui.checkbox(&mut self.show_bboxes, tr.text("tr-menu-view-show-bboxes")); + ui.checkbox( + &mut self.show_origin_destination, + tr.text("tr-menu-view-show-origin-destination"), + ); ui.separator(); + ui.checkbox( + &mut self.show_layer_manager, + tr.text("tr-menu-view-show-layer-manager"), + ); + + ui.separator(); + //}); + ui.label(tr.text("tr-menu-view-frame-timestep")); ui.add( egui::widgets::Slider::new(&mut self.frame_timestep, 0.0..=3.0) @@ -223,9 +220,9 @@ impl MenuBar { ui.menu_button(tr.text("tr-menu-route"), |ui| { ui.add_enabled_ui(maybe_workspace.is_some(), |ui| { - ui.add_enabled_ui(workspace_activities_enabled, |ui| { - autoroute.button(ctx, ui); - }); + //ui.add_enabled_ui(workspace_activities_enabled, |ui| { + autoroute.button(ctx, ui); + //}); ui.separator(); ui.menu_button(tr.text("tr-menu-options"), |ui| {