umya_spreadsheet/structs/
pivot_field.rs

1// pivotField
2use crate::reader::driver::*;
3use crate::structs::BooleanValue;
4use crate::structs::ByteValue;
5use crate::structs::Location;
6use crate::structs::StringValue;
7use crate::structs::UInt32Value;
8use crate::writer::driver::*;
9use quick_xml::events::{BytesStart, Event};
10use quick_xml::Reader;
11use quick_xml::Writer;
12use std::io::Cursor;
13
14#[derive(Clone, Default, Debug)]
15pub struct PivotField {
16    data_field: BooleanValue,
17    show_all: BooleanValue,
18}
19impl PivotField {
20    #[inline]
21    pub fn get_data_field(&self) -> &bool {
22        self.data_field.get_value()
23    }
24
25    #[inline]
26    pub fn set_data_field(&mut self, value: bool) -> &mut Self {
27        self.data_field.set_value(value);
28        self
29    }
30
31    #[inline]
32    pub fn get_show_all(&self) -> &bool {
33        self.show_all.get_value()
34    }
35
36    #[inline]
37    pub fn set_show_all(&mut self, value: bool) -> &mut Self {
38        self.show_all.set_value(value);
39        self
40    }
41
42    #[inline]
43    pub(crate) fn set_attributes<R: std::io::BufRead>(
44        &mut self,
45        _reader: &mut Reader<R>,
46        e: &BytesStart,
47    ) {
48        set_string_from_xml!(self, e, data_field, "dataField");
49        set_string_from_xml!(self, e, show_all, "showAll");
50    }
51
52    #[inline]
53    pub(crate) fn write_to(&self, writer: &mut Writer<Cursor<Vec<u8>>>) {
54        // pivotField
55        write_start_tag(
56            writer,
57            "pivotField",
58            vec![
59                ("dataField", self.data_field.get_value_string()),
60                ("showAll", self.show_all.get_value_string()),
61            ],
62            true,
63        );
64    }
65}