Skip to main content

umya_spreadsheet/structs/drawing/charts/
left_mode.rs

1// c:xMode
2use std::io::Cursor;
3
4use quick_xml::{
5    Reader,
6    Writer,
7    events::BytesStart,
8};
9
10use super::{
11    super::super::EnumValue,
12    LayoutModeValues,
13};
14use crate::{
15    reader::driver::get_attribute,
16    writer::driver::write_start_tag,
17};
18
19#[derive(Clone, Default, Debug)]
20pub struct LeftMode {
21    val: EnumValue<LayoutModeValues>,
22}
23impl LeftMode {
24    #[must_use]
25    pub fn val(&self) -> &LayoutModeValues {
26        self.val.value()
27    }
28
29    #[must_use]
30    #[deprecated(since = "3.0.0", note = "Use val()")]
31    pub fn get_val(&self) -> &LayoutModeValues {
32        self.val()
33    }
34
35    pub fn set_val(&mut self, value: LayoutModeValues) -> &mut LeftMode {
36        self.val.set_value(value);
37        self
38    }
39
40    pub(crate) fn set_attributes<R: std::io::BufRead>(
41        &mut self,
42        _reader: &mut Reader<R>,
43        e: &BytesStart,
44    ) {
45        self.val.set_value_string(get_attribute(e, b"val").unwrap());
46    }
47
48    pub(crate) fn write_to(&self, writer: &mut Writer<Cursor<Vec<u8>>>) {
49        // c:xMode
50        write_start_tag(
51            writer,
52            "c:xMode",
53            vec![("val", self.val.value_string()).into()],
54            true,
55        );
56    }
57}