umya_spreadsheet/structs/
pivot_field.rs1use 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 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}