1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
use super::text_element::TextElement; #[derive(Clone, Debug)] pub struct RichText { rich_text_elements: Vec<TextElement>, } impl Default for RichText { fn default() -> Self { Self { rich_text_elements: Vec::new(), } } } impl RichText { pub fn get_rich_text_elements(&self)-> &Vec<TextElement> { &self.rich_text_elements } pub(crate) fn set_rich_text_elements(&mut self, value:Vec<TextElement>) { self.rich_text_elements = value; } pub(crate) fn add_rich_text_elements(&mut self, value:TextElement) { self.rich_text_elements.push(value); } pub(crate) fn get_hash_code(&self)-> String { let mut value = String::from(""); for ele in &self.rich_text_elements { value += ele.get_hash_code().as_str(); } format!("{:x}", md5::compute(format!("{}", value ))) } }