use eframe::egui::{self, Response, Ui, Widget}; pub struct ModelResponse { pub message: String, pub status: i32, pub time: i32, } impl ModelResponse { pub fn new(message: String, status: i32, time: i32) -> Self { Self { message, status, time, } } } impl Widget for ModelResponse { fn ui(self, ui: &mut Ui) -> Response { egui::Frame::none() .inner_margin(8.0) .rounding(4.0) .fill(egui::Color32::DARK_GRAY) .show(ui, |ui| { ui.horizontal(|ui| { ui.label("Status:"); ui.label(self.status.to_string()); }); ui.horizontal(|ui| { ui.label("Time:"); ui.label(self.time.to_string()); }); egui::Frame::none() .inner_margin(8.0) .rounding(4.0) .fill(egui::Color32::WHITE) .show(ui, |ui| { ui.label(egui::RichText::new(self.message).color(egui::Color32::BLACK)); }); }) .response } }