umya_spreadsheet/structs/
vertical_text_alignment.rs1use super::EnumValue;
3use super::VerticalAlignmentRunValues;
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, Eq, Ord, PartialEq, PartialOrd)]
12pub struct VerticalTextAlignment {
13 pub(crate) val: EnumValue<VerticalAlignmentRunValues>,
14}
15
16impl VerticalTextAlignment {
17 #[inline]
18 pub fn get_val(&self) -> &VerticalAlignmentRunValues {
19 self.val.get_value()
20 }
21
22 #[inline]
23 pub fn set_val(&mut self, value: VerticalAlignmentRunValues) -> &mut Self {
24 self.val.set_value(value);
25 self
26 }
27
28 #[inline]
29 pub(crate) fn set_attributes<R: std::io::BufRead>(
30 &mut self,
31 _reader: &mut Reader<R>,
32 e: &BytesStart,
33 ) {
34 set_string_from_xml!(self, e, val, "val");
35 }
36
37 pub(crate) fn write_to(&self, writer: &mut Writer<Cursor<Vec<u8>>>) {
38 if self.val.has_value() {
40 write_start_tag(
41 writer,
42 "vertAlign",
43 vec![("val", self.val.get_value_string())],
44 true,
45 );
46 }
47 }
48}