use egui::Key; use crate::app::metar::Metar; use super::Tab; #[derive(Debug, PartialEq, Eq)] pub struct MetarTab { pub icaos: Vec, pub metars: Vec, pub metar: Metar } impl Default for MetarTab { fn default() -> Self { Self { icaos: vec!["".to_string()], metars: vec![], metar: Metar::default() } } } impl Tab for MetarTab { async fn display_tab(&mut self, ctx: &egui::Context, frame: &egui::Frame) { egui::CentralPanel::default().frame(*frame).show(ctx, |ui| { // Given Key pressed, place focus on next item let new_icao_focus: bool = ui.input(|i| i.key_pressed(Key::Space)); for icao in self.icaos.iter_mut() { ui.text_edit_singleline(icao); } if ui.button("Add More").clicked() || new_icao_focus { self.icaos.push("".to_string()); self.metar.api.make_request(String::from("google.com")); } }); } }