umya_spreadsheet/structs/drawing/charts/
legend_position.rs

1// c:legendPos
2use super::super::super::EnumValue;
3use super::LegendPositionValues;
4use crate::reader::driver::*;
5use crate::writer::driver::*;
6use quick_xml::events::BytesStart;
7use quick_xml::Reader;
8use quick_xml::Writer;
9use std::io::Cursor;
10
11#[derive(Clone, Default, Debug)]
12pub struct LegendPosition {
13    val: EnumValue<LegendPositionValues>,
14}
15impl LegendPosition {
16    pub fn get_val(&self) -> &LegendPositionValues {
17        self.val.get_value()
18    }
19
20    pub fn set_val(&mut self, value: LegendPositionValues) -> &mut LegendPosition {
21        self.val.set_value(value);
22        self
23    }
24
25    pub(crate) fn set_attributes<R: std::io::BufRead>(
26        &mut self,
27        _reader: &mut Reader<R>,
28        e: &BytesStart,
29    ) {
30        self.val.set_value_string(get_attribute(e, b"val").unwrap());
31    }
32
33    pub(crate) fn write_to(&self, writer: &mut Writer<Cursor<Vec<u8>>>) {
34        // c:legendPos
35        write_start_tag(
36            writer,
37            "c:legendPos",
38            vec![("val", self.val.get_value_string())],
39            true,
40        );
41    }
42}