umya_spreadsheet/structs/
shared_items.rs1use crate::reader::driver::*;
3use crate::structs::BooleanValue;
4use crate::structs::DoubleValue;
5use crate::writer::driver::*;
6use quick_xml::events::{BytesStart, Event};
7use quick_xml::Reader;
8use quick_xml::Writer;
9use std::io::Cursor;
10
11#[derive(Clone, Default, Debug)]
12pub struct SharedItems {
13 contains_semi_mixed_types: BooleanValue,
14 contains_string: BooleanValue,
15 contains_number: BooleanValue,
16 contains_integer: BooleanValue,
17 min_value: DoubleValue,
18 max_value: DoubleValue,
19}
20impl SharedItems {
21 pub fn get_contains_semi_mixed_types(&self) -> &bool {
22 self.contains_semi_mixed_types.get_value()
23 }
24
25 pub fn set_contains_semi_mixed_types(&mut self, value: bool) -> &mut Self {
26 self.contains_semi_mixed_types.set_value(value);
27 self
28 }
29
30 pub fn get_contains_string(&self) -> &bool {
31 self.contains_string.get_value()
32 }
33
34 pub fn set_contains_string(&mut self, value: bool) -> &mut Self {
35 self.contains_string.set_value(value);
36 self
37 }
38
39 pub fn get_contains_number(&self) -> &bool {
40 self.contains_number.get_value()
41 }
42
43 pub fn set_contains_number(&mut self, value: bool) -> &mut Self {
44 self.contains_number.set_value(value);
45 self
46 }
47
48 pub fn get_contains_integer(&self) -> &bool {
49 self.contains_integer.get_value()
50 }
51
52 pub fn set_contains_integer(&mut self, value: bool) -> &mut Self {
53 self.contains_integer.set_value(value);
54 self
55 }
56
57 pub fn get_min_value(&self) -> &f64 {
58 self.min_value.get_value()
59 }
60
61 pub fn set_min_value(&mut self, value: f64) -> &mut Self {
62 self.min_value.set_value(value);
63 self
64 }
65
66 pub fn get_max_value(&self) -> &f64 {
67 self.max_value.get_value()
68 }
69
70 pub fn set_max_value(&mut self, value: f64) -> &mut Self {
71 self.max_value.set_value(value);
72 self
73 }
74
75 pub(crate) fn set_attributes<R: std::io::BufRead>(
76 &mut self,
77 _reader: &mut Reader<R>,
78 e: &BytesStart,
79 ) {
80 set_string_from_xml!(self, e, contains_semi_mixed_types, "containsSemiMixedTypes");
81 set_string_from_xml!(self, e, contains_string, "containsString");
82 set_string_from_xml!(self, e, contains_number, "containsNumber");
83 set_string_from_xml!(self, e, contains_integer, "containsInteger");
84 set_string_from_xml!(self, e, min_value, "minValue");
85 set_string_from_xml!(self, e, max_value, "maxValue");
86 }
87
88 pub(crate) fn write_to(&self, writer: &mut Writer<Cursor<Vec<u8>>>) {
89 write_start_tag(
91 writer,
92 "sharedItems",
93 vec![
94 (
95 "containsSemiMixedTypes",
96 self.contains_semi_mixed_types.get_value_string(),
97 ),
98 ("containsString", self.contains_string.get_value_string()),
99 ("containsNumber", self.contains_number.get_value_string()),
100 ("containsInteger", self.contains_integer.get_value_string()),
101 ("minValue", &self.min_value.get_value_string()),
102 ("maxValue", &self.max_value.get_value_string()),
103 ],
104 true,
105 );
106 }
107}