From 1d83154dbaaea3d3a84ba60390910fe127d5a4fa Mon Sep 17 00:00:00 2001 From: Kentaro Okuda Date: Mon, 27 Feb 2023 07:48:12 -0500 Subject: [PATCH 1/2] Refactor `print_to_console` --- src/gui.rs | 29 ++++++++--------------------- src/main.rs | 11 +++-------- 2 files changed, 11 insertions(+), 29 deletions(-) diff --git a/src/gui.rs b/src/gui.rs index 7f7d31e..df9481c 100644 --- a/src/gui.rs +++ b/src/gui.rs @@ -25,7 +25,6 @@ pub enum Print { Message(String), Error(String), Debug(String), - Task(String), OK(String), } @@ -68,14 +67,6 @@ impl Print { color, }) } - Print::Task(s) => { - let color = egui::Color32::WHITE; - Some(ScrollAreaMessage { - label: "[ ] ".to_owned(), - content: s.to_owned(), - color, - }) - } Print::OK(s) => { let color = egui::Color32::GREEN; Some(ScrollAreaMessage { @@ -94,18 +85,14 @@ pub struct ScrollAreaMessage { color: egui::Color32, } -pub fn print_to_console(print_lock: &Arc>>, message: Print) -> usize { - let mut length: usize = 0; - if let Ok(mut write_guard) = print_lock.write() { - write_guard.push(message); - length = write_guard.len() - 1; - } - length -} - -pub fn update_in_console(print_lock: &Arc>>, message: Print, index: usize) { - if let Ok(mut write_guard) = print_lock.write() { - write_guard[index] = message; +pub fn print_to_console(print_lock: &Arc>>, message: Print) { + match print_lock.write() { + Ok(mut write_guard) => { + write_guard.push(message); + } + Err(e) => { + eprintln!("Error while writing to print_lock: {}", e); + } } } diff --git a/src/main.rs b/src/main.rs index 9571d74..a60b6b7 100644 --- a/src/main.rs +++ b/src/main.rs @@ -21,7 +21,7 @@ use std::sync::{mpsc, Arc, RwLock}; use std::thread; use std::time::Duration; -use crate::gui::{load_gui_settings, print_to_console, update_in_console, MyApp, Print}; +use crate::gui::{load_gui_settings, print_to_console, MyApp, Print}; use crate::io::save_to_csv; use crate::serial::serial_thread; @@ -92,22 +92,17 @@ fn main_thread( } if let Ok(file_path) = save_rx.recv_timeout(Duration::from_millis(10)) { - let print_index = print_to_console( - &print_lock, - Print::Task(format!("saving data file to {:?} ...", file_path)), - ); match save_to_csv(&data, &file_path) { Ok(_) => { - update_in_console( + print_to_console( &print_lock, Print::OK(format!("saved data file to {:?} ", file_path)), - print_index, ); } Err(e) => { print_to_console( &print_lock, - Print::Error(format!("failed to save file: {e:?}")), + Print::Error(format!("failed to save file to {:?}: {:?}", file_path, e)), ); } } From d7c8898ab4232f97d4e313bc1f283212d12da179 Mon Sep 17 00:00:00 2001 From: Kentaro Okuda Date: Mon, 27 Feb 2023 09:49:12 -0500 Subject: [PATCH 2/2] Update gui.rs --- src/gui.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui.rs b/src/gui.rs index df9481c..482da68 100644 --- a/src/gui.rs +++ b/src/gui.rs @@ -91,7 +91,7 @@ pub fn print_to_console(print_lock: &Arc>>, message: Print) { write_guard.push(message); } Err(e) => { - eprintln!("Error while writing to print_lock: {}", e); + println!("Error while writing to print_lock: {}", e); } } }