Skip to main content

umya_spreadsheet/structs/drawing/charts/
show_legend_key.rs

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