umya_spreadsheet/structs/
member_property_index.rs

1// x
2use super::Int32Value;
3use crate::reader::driver::*;
4use crate::writer::driver::*;
5use quick_xml::events::BytesStart;
6use quick_xml::Reader;
7use quick_xml::Writer;
8use std::io::Cursor;
9
10#[derive(Clone, Default, Debug, Eq, Ord, PartialEq, PartialOrd)]
11pub struct MemberPropertyIndex {
12    pub(crate) val: Int32Value,
13}
14
15impl MemberPropertyIndex {
16    pub fn get_val(&self) -> &i32 {
17        self.val.get_value()
18    }
19
20    pub fn set_val(&mut self, value: i32) -> &mut Self {
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        set_string_from_xml!(self, e, val, "val");
31    }
32
33    pub(crate) fn write_to(&self, writer: &mut Writer<Cursor<Vec<u8>>>) {
34        // x
35        if self.val.has_value() {
36            let mut attributes: Vec<(&str, &str)> = Vec::new();
37            let val = self.val.get_value_string();
38            attributes.push(("val", &val));
39            write_start_tag(writer, "x", attributes, true);
40        }
41    }
42}