pub struct Height;
Expand description
Height is a abstract factory for height settings.
§Example
use tabled::{Table, Height};
let data = vec![
("Some data", "here", "and here"),
("Some data on a next", "line", "right here"),
];
let table = Table::new(data)
.with(Height::increase(10))
.with(Height::limit(10))
.to_string();
assert_eq!(
table,
"+---------------------+------+------------+\n\
| &str | &str | &str |\n\
| | | |\n\
+---------------------+------+------------+\n\
| Some data | here | and here |\n\
| | | |\n\
+---------------------+------+------------+\n\
| Some data on a next | line | right here |\n\
| | | |\n\
+---------------------+------+------------+",
)
Implementations§
Source§impl Height
impl Height
Sourcepub fn increase<W>(width: W) -> CellHeightIncrease<W>where
W: Measurment<Height>,
pub fn increase<W>(width: W) -> CellHeightIncrease<W>where
W: Measurment<Height>,
Create CellHeightIncrease
to set a table/cell height.
§Example
§Cell height
use tabled::{Table, Height, Modify, object::Columns};
let data = vec![
("Some data", "here", "and here"),
("Some data on a next", "line", "right here"),
];
let table = Table::new(data)
.with(Modify::new(Columns::first()).with(Height::increase(5)))
.to_string();
assert_eq!(
table,
"+---------------------+------+------------+\n\
| &str | &str | &str |\n\
| | | |\n\
| | | |\n\
| | | |\n\
| | | |\n\
+---------------------+------+------------+\n\
| Some data | here | and here |\n\
| | | |\n\
| | | |\n\
| | | |\n\
| | | |\n\
+---------------------+------+------------+\n\
| Some data on a next | line | right here |\n\
| | | |\n\
| | | |\n\
| | | |\n\
| | | |\n\
+---------------------+------+------------+"
)
§Table height
use tabled::{Table, Height};
let data = vec![
("Some data", "here", "and here"),
("Some data on a next", "line", "right here"),
];
let table = Table::new(data)
.with(Height::increase(10))
.to_string();
assert_eq!(
table,
"+---------------------+------+------------+\n\
| &str | &str | &str |\n\
| | | |\n\
+---------------------+------+------------+\n\
| Some data | here | and here |\n\
| | | |\n\
+---------------------+------+------------+\n\
| Some data on a next | line | right here |\n\
| | | |\n\
+---------------------+------+------------+",
)
Sourcepub fn limit<W>(width: W) -> CellHeightLimit<W>where
W: Measurment<Height>,
pub fn limit<W>(width: W) -> CellHeightLimit<W>where
W: Measurment<Height>,
Create CellHeightLimit
to set a table/cell height.
§Example
§Cell height
use tabled::{Table, Height, Modify, object::Columns};
let data = vec![
("Some\ndata", "here", "and here"),
("Some\ndata on a next", "line", "right here"),
];
let table = Table::new(data)
.with(Modify::new(Columns::first()).with(Height::limit(1)))
.to_string();
assert_eq!(
table,
"+------+------+------------+\n\
| &str | &str | &str |\n\
+------+------+------------+\n\
| Some | here | and here |\n\
+------+------+------------+\n\
| Some | line | right here |\n\
+------+------+------------+"
)
§Table height
use tabled::{Table, Height};
let data = vec![
("Some\ndata", "here", "and here"),
("Some\ndata on a next", "line", "right here"),
];
let table = Table::new(&data)
.with(Height::limit(6))
.to_string();
assert_eq!(
table,
"+----------------+------+------------+\n\
+----------------+------+------------+\n\
| Some | here | and here |\n\
+----------------+------+------------+\n\
| Some | line | right here |\n\
+----------------+------+------------+",
);
let table = Table::new(&data)
.with(Height::limit(1))
.to_string();
assert_eq!(
table,
"+----------------+------+------------+\n\
+----------------+------+------------+\n\
+----------------+------+------------+\n\
+----------------+------+------------+",
);
Sourcepub fn list<I>(rows: I) -> HeightListwhere
I: IntoIterator<Item = usize>,
pub fn list<I>(rows: I) -> HeightListwhere
I: IntoIterator<Item = usize>,
Create HeightList
to set a table height to a constant list of row heights.
Notice if you provide a list with .len()
less than Table::count_rows
then it will have no affect.
§Example
use tabled::{Table, Height, Modify, object::Columns};
let data = vec![
("Some\ndata", "here", "and here"),
("Some\ndata on a next", "line", "right here"),
];
let table = Table::new(data)
.with(Height::list([1, 0, 2]))
.to_string();
assert_eq!(
table,
"+----------------+------+------------+\n\
| &str | &str | &str |\n\
+----------------+------+------------+\n\
+----------------+------+------------+\n\
| Some | line | right here |\n\
| data on a next | | |\n\
+----------------+------+------------+",
)
Trait Implementations§
Source§impl Measurment<Height> for Max
impl Measurment<Height> for Max
Source§impl Measurment<Height> for Min
impl Measurment<Height> for Min
Auto Trait Implementations§
impl Freeze for Height
impl RefUnwindSafe for Height
impl Send for Height
impl Sync for Height
impl Unpin for Height
impl UnwindSafe for Height
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more