47 lines
1.2 KiB
Rust
47 lines
1.2 KiB
Rust
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
|
|
}
|
|
}
|