feat(egui): partially disable menus again

The upstream bug got fixed: https://github.com/emilk/egui/issues/4774#event-16792829596
This commit is contained in:
Ellen Emilia Anna Zscheile 2025-03-18 04:37:48 +01:00
parent ae40efbfa2
commit 112cc0686d
2 changed files with 46 additions and 37 deletions

View File

@ -56,16 +56,16 @@ impl FileActions {
} }
} }
pub fn render_menu(&mut self, ctx: &Context, ui: &mut Ui, _have_workspace: bool) { pub fn render_menu(&mut self, ctx: &Context, ui: &mut Ui, have_workspace: bool) {
self.open_design.button(ctx, ui); self.open_design.button(ctx, ui);
//ui.add_enabled_ui(have_workspace, |ui| { ui.add_enabled_ui(have_workspace, |ui| {
self.export_session.button(ctx, ui); self.export_session.button(ctx, ui);
ui.separator(); ui.separator();
self.import_history.button(ctx, ui); self.import_history.button(ctx, ui);
self.export_history.button(ctx, ui); self.export_history.button(ctx, ui);
//}); });
ui.separator(); ui.separator();
@ -137,7 +137,7 @@ impl EditActions {
ctx: &Context, ctx: &Context,
ui: &mut Ui, ui: &mut Ui,
have_workspace: bool, have_workspace: bool,
_workspace_activities_enabled: bool, workspace_activities_enabled: bool,
) -> egui::InnerResponse<()> { ) -> egui::InnerResponse<()> {
ui.add_enabled_ui(have_workspace, |ui| { ui.add_enabled_ui(have_workspace, |ui| {
self.undo.button(ctx, ui); self.undo.button(ctx, ui);
@ -155,9 +155,9 @@ impl EditActions {
ui.separator(); ui.separator();
//ui.add_enabled_ui(workspace_activities_enabled, |ui| { ui.add_enabled_ui(workspace_activities_enabled, |ui| {
self.remove_bands.button(ctx, ui); self.remove_bands.button(ctx, ui);
//}); });
}) })
} }
} }
@ -194,6 +194,7 @@ impl ViewActions {
tr: &Translator, tr: &Translator,
menu_bar: &mut MenuBar, menu_bar: &mut MenuBar,
viewport: &mut Viewport, viewport: &mut Viewport,
have_workspace: bool,
) { ) {
ui.toggle_value( ui.toggle_value(
&mut viewport.scheduled_zoom_to_fit, &mut viewport.scheduled_zoom_to_fit,
@ -202,27 +203,28 @@ impl ViewActions {
ui.separator(); ui.separator();
//ui.add_enabled_ui(maybe_workspace.is_some(), |ui| { ui.add_enabled_ui(have_workspace, |ui| {
ui.checkbox( ui.checkbox(
&mut menu_bar.show_ratsnest, &mut menu_bar.show_ratsnest,
tr.text("tr-menu-view-show-ratsnest"), tr.text("tr-menu-view-show-ratsnest"),
); );
ui.checkbox( ui.checkbox(
&mut menu_bar.show_navmesh, &mut menu_bar.show_navmesh,
tr.text("tr-menu-view-show-navmesh"), tr.text("tr-menu-view-show-navmesh"),
); );
ui.checkbox( ui.checkbox(
&mut menu_bar.show_topo_navmesh, &mut menu_bar.show_topo_navmesh,
tr.text("tr-menu-view-show-topo-navmesh"), tr.text("tr-menu-view-show-topo-navmesh"),
); );
ui.checkbox( ui.checkbox(
&mut menu_bar.show_bboxes, &mut menu_bar.show_bboxes,
tr.text("tr-menu-view-show-bboxes"), tr.text("tr-menu-view-show-bboxes"),
); );
ui.checkbox( ui.checkbox(
&mut menu_bar.show_origin_destination, &mut menu_bar.show_origin_destination,
tr.text("tr-menu-view-show-origin-destination"), tr.text("tr-menu-view-show-origin-destination"),
); );
});
ui.separator(); ui.separator();
@ -284,13 +286,13 @@ impl RouteActions {
ui: &mut Ui, ui: &mut Ui,
tr: &Translator, tr: &Translator,
have_workspace: bool, have_workspace: bool,
_workspace_activities_enabled: bool, workspace_activities_enabled: bool,
autorouter_options: &mut AutorouterOptions, autorouter_options: &mut AutorouterOptions,
) -> egui::InnerResponse<()> { ) -> egui::InnerResponse<()> {
ui.add_enabled_ui(have_workspace, |ui| { ui.add_enabled_ui(have_workspace, |ui| {
//ui.add_enabled_ui(workspace_activities_enabled, |ui| { ui.add_enabled_ui(workspace_activities_enabled, |ui| {
self.autoroute.button(ctx, ui); self.autoroute.button(ctx, ui);
//}); });
ui.separator(); ui.separator();
ui.label(tr.text("tr-menu-route-routed-band-width")); ui.label(tr.text("tr-menu-route-routed-band-width"));

View File

@ -96,7 +96,14 @@ impl MenuBar {
}); });
ui.menu_button(tr.text("tr-menu-view"), |ui| { ui.menu_button(tr.text("tr-menu-view"), |ui| {
actions.view.render_menu(ctx, ui, tr, self, viewport); actions.view.render_menu(
ctx,
ui,
tr,
self,
viewport,
maybe_workspace.is_some(),
);
ui.separator(); ui.separator();