1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
macro_rules! table_align {
($acc:ident) => {
/// The table:align attribute specifies the horizontal alignment of a table.
///
/// The defined values for the table:align attribute are:
/// * center: table aligns to the center between left and right margins.
/// * left: table aligns to the left margin.
/// * margins: table fills all the space between the left and right margins.
/// * right: table aligns to the right margin.
///
/// Consumers that do not support the margins value, may treat this value as left.
pub fn set_align(&mut self, align: TableAlign) {
self.$acc.set_attr("table:align", align.to_string());
}
};
}
macro_rules! table_border_model {
($acc:ident) => {
/// The table:border-model attribute specifies what border model to use when creating a table
/// with a border.
///
/// The defined values for the table:border-model attribute are:
/// * collapsing: when two adjacent cells have different borders, the wider border appears as
/// the border between the cells. Each cell receives half of the width of the border.
/// * separating: borders appear within the cell that specifies the border.
///
/// In OpenDocument, a row height or column width includes any space required to display borders
/// or padding. This means that, while the width and height of the content area is less than the
/// column width and row height, the sum of the widths of all columns is equal to the total width of the
/// table.
pub fn set_border_model(&mut self, border: TableBorderModel) {
self.$acc.set_attr("table:border-model", border.to_string());
}
};
}
macro_rules! table_display {
($acc:ident) => {
/// The table:display attribute specifies whether a table is displayed.
///
/// The defined values for the table:display attribute are:
/// * false: table should not be displayed.
/// * true: table should be displayed.
pub fn set_display(&mut self, display: bool) {
self.$acc.set_attr("table:display", display.to_string())
}
};
}
macro_rules! table_tab_color {
($acc:ident) => {
/// The table:tab-color attribute specifies the color of the tab associated with a sheet.
/// When this attribute is missing, the application should use the default color used for sheet tabs.
pub fn set_tab_color(&mut self, color: Rgb<u8>) {
self.$acc.set_attr("table:tab-color", color_string(color));
}
};
}
macro_rules! table_end_cell_address {
($acc:ident) => {
/// The table:end-cell-address attribute specifies the end position of the shape if it is included
/// in a spreadsheet document.
pub fn set_table_end_cell_address(&mut self, cellref: CellRef) {
self.$acc
.set_attr("table:end-cell-address", cellref.to_string());
}
};
}
macro_rules! table_end_x {
($acc:ident) => {
/// The table:end-x attribute specifies the x-coordinate of the end position of a shape relative to
/// the top-left edge of a cell. The size attributes of the shape are ignored.
pub fn set_table_end_x(&mut self, x: Length) {
self.$acc.set_attr("table:end-x", x.to_string());
}
};
}
macro_rules! table_end_y {
($acc:ident) => {
/// The table:end-y attribute specifies the y-coordinate of the end position of a shape relative to
/// the top-left edge of a cell. The size attributes of the shape are ignored.
pub fn set_table_end_y(&mut self, y: Length) {
self.$acc.set_attr("table:end-y", y.to_string());
}
};
}
macro_rules! table_table_background {
($acc:ident) => {
/// The table:table-background attribute specifies whether a shape is in the table background if
/// the drawing shape is included in a spreadsheet document.
///
/// The defined values for the table:table-background attribute are:
/// * false: shape is included in foreground of a table.
/// * true: shape is included in background of a table.
pub fn set_table_table_background(&mut self, is_bg: bool) {
self.$acc
.set_attr("table:table-background", is_bg.to_string());
}
};
}