pub struct Grid { /* private fields */ }
Expand description
Everything needed to format the cells with the grid options.
For more information, see the term_grid
crate documentation.
Implementations§
Source§impl Grid
impl Grid
Sourcepub fn new(options: GridOptions) -> Self
pub fn new(options: GridOptions) -> Self
Creates a new grid view with the given options.
Examples found in repository?
examples/basic.rs (lines 15-18)
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
fn main() {
let mut grid = Grid::new(GridOptions {
direction: Direction::TopToBottom,
filling: Filling::Text(" | ".into()),
});
for i in 0..48 {
let mut cell = Cell::from(format!("{}", 2_isize.pow(i)));
cell.alignment = Alignment::Right;
grid.add(cell)
}
if let Some(grid_display) = grid.fit_into_width(80) {
println!("{}", grid_display);
}
else {
println!("Couldn't fit grid into 80 columns!");
}
}
Sourcepub fn reserve(&mut self, additional: usize)
pub fn reserve(&mut self, additional: usize)
Reserves space in the vector for the given number of additional cells
to be added. (See the Vec::reserve
function.)
Sourcepub fn add(&mut self, cell: Cell)
pub fn add(&mut self, cell: Cell)
Adds another cell onto the vector.
Examples found in repository?
examples/basic.rs (line 23)
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
fn main() {
let mut grid = Grid::new(GridOptions {
direction: Direction::TopToBottom,
filling: Filling::Text(" | ".into()),
});
for i in 0..48 {
let mut cell = Cell::from(format!("{}", 2_isize.pow(i)));
cell.alignment = Alignment::Right;
grid.add(cell)
}
if let Some(grid_display) = grid.fit_into_width(80) {
println!("{}", grid_display);
}
else {
println!("Couldn't fit grid into 80 columns!");
}
}
Sourcepub fn fit_into_width(&self, maximum_width: Width) -> Option<Display<'_>>
pub fn fit_into_width(&self, maximum_width: Width) -> Option<Display<'_>>
Returns a displayable grid that’s been packed to fit into the given width in the fewest number of rows.
Returns None
if any of the cells has a width greater than the
maximum width.
Examples found in repository?
examples/basic.rs (line 26)
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
fn main() {
let mut grid = Grid::new(GridOptions {
direction: Direction::TopToBottom,
filling: Filling::Text(" | ".into()),
});
for i in 0..48 {
let mut cell = Cell::from(format!("{}", 2_isize.pow(i)));
cell.alignment = Alignment::Right;
grid.add(cell)
}
if let Some(grid_display) = grid.fit_into_width(80) {
println!("{}", grid_display);
}
else {
println!("Couldn't fit grid into 80 columns!");
}
}
Sourcepub fn fit_into_columns(&self, num_columns: usize) -> Display<'_>
pub fn fit_into_columns(&self, num_columns: usize) -> Display<'_>
Returns a displayable grid with the given number of columns, and no maximum width.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Grid
impl RefUnwindSafe for Grid
impl Send for Grid
impl Sync for Grid
impl Unpin for Grid
impl UnwindSafe for Grid
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