paiagram/interface/tabs/
settings.rs1use super::Tab;
2use crate::settings::ApplicationSettings;
3use bevy::ecs::system::{InMut, ResMut};
4use egui::Ui;
5use egui_i18n::tr;
6use serde::{Deserialize, Serialize};
7
8#[derive(PartialEq, Debug, Clone, Copy, Serialize, Deserialize)]
9pub struct SettingsTab;
10
11impl Tab for SettingsTab {
12 const NAME: &'static str = "Settings";
13 fn main_display(&mut self, world: &mut bevy::ecs::world::World, ui: &mut Ui) {
14 if let Err(e) = world.run_system_cached_with(show_settings, ui) {
15 bevy::log::error!("UI Error while displaying settings page: {}", e)
16 }
17 }
18 fn title(&self) -> egui::WidgetText {
19 tr!("tab-settings").into()
20 }
21}
22
23fn show_settings(InMut(ui): InMut<Ui>, mut settings: ResMut<ApplicationSettings>) {
24 ui.add(&mut *settings);
25}