AvBag/src/app/ui/tabs/metar_tab.rs

41 lines
1.0 KiB
Rust

use egui::Key;
use crate::app::metar::Metar;
use super::Tab;
#[derive(Debug, PartialEq, Eq)]
pub struct MetarTab {
pub icaos: Vec<String>,
pub metars: Vec<String>,
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"));
}
});
}
}