docx_rust/formatting/
table_header.rs

1use hard_xml::{XmlRead, XmlWrite};
2
3use crate::{__string_enum, __xml_test_suites};
4
5/// Table Justification
6///
7/// ```rust
8/// use docx_rust::formatting::*;
9///
10/// let th = TableHeader::from(OnOffOnlyType::On);
11/// ```
12#[derive(Debug, Default, XmlRead, XmlWrite, Clone)]
13#[cfg_attr(test, derive(PartialEq))]
14#[xml(tag = "w:tblHeader")]
15pub struct TableHeader {
16    #[xml(attr = "w:val")]
17    pub value: Option<OnOffOnlyType>,
18}
19
20impl From<OnOffOnlyType> for TableHeader {
21    fn from(val: OnOffOnlyType) -> Self {
22        TableHeader { value: Some(val) }
23    }
24}
25
26#[derive(Debug, Clone)]
27#[cfg_attr(test, derive(PartialEq))]
28pub enum OnOffOnlyType {
29    On,
30    Off,
31}
32
33__string_enum! {
34    OnOffOnlyType {
35        On = "on",
36        Off = "off",
37    }
38}
39
40__xml_test_suites!(
41    TableHeader,
42    TableHeader::default(),
43    "<w:tblHeader/>",
44    TableHeader::from(OnOffOnlyType::On),
45    r#"<w:tblHeader w:val="on"/>"#,
46    TableHeader::from(OnOffOnlyType::Off),
47    r#"<w:tblHeader w:val="off"/>"#,
48);