///|
/// Horizontal or vertical alignment, matching tabled's unified Alignment API.
pub enum Alignment {
Horizontal(Align)
Vertical(VAlign)
}
///|
pub fn Alignment::left() -> Alignment {
Horizontal(Align::left())
}
///|
pub fn Alignment::right() -> Alignment {
Horizontal(Align::right())
}
///|
pub fn Alignment::center() -> Alignment {
Horizontal(Align::center())
}
///|
pub fn Alignment::top() -> Alignment {
Vertical(VAlign::top())
}
///|
pub fn Alignment::bottom() -> Alignment {
Vertical(VAlign::bottom())
}
///|
pub fn Alignment::center_vertical() -> Alignment {
Vertical(VAlign::center())
}
///|
pub fn Alignment::from_horizontal(align : Align) -> Alignment {
Horizontal(align)
}
///|
pub fn Alignment::from_vertical(align : VAlign) -> Alignment {
Vertical(align)
}
///|
pub fn Alignment::as_horizontal(self : Alignment) -> Align? {
match self {
Horizontal(align) => Some(align)
_ => None
}
}
///|
pub fn Alignment::as_vertical(self : Alignment) -> VAlign? {
match self {
Vertical(align) => Some(align)
_ => None
}
}
///|
pub impl CellOption for Alignment with fn change(self, table, entity) {
match self {
Horizontal(align) =>
CellOption::change(Setting::align(align), table, entity)
Vertical(align) => CellOption::change(Setting::valign(align), table, entity)
}
}
///|
pub impl TableOption for Alignment with fn change(self, table) {
CellOption::change(self, table, Entity::Global)
}
///|
pub impl TableOption for Alignment with fn hint_change(_self) {
None
}
///|
pub extend Alignment with CellOption::{
change as change_cell,
hint_change as hint_change_cell,
}
///|
pub extend Alignment with TableOption::{change, hint_change}