umya_spreadsheet/structs/
shared_items.rs

1// sharedItems
2use 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        // sharedItems
90        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}