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