Struct nu_term_grid::grid::Grid
source · pub struct Grid { /* private fields */ }
Expand description
Everything needed to format the cells with the grid options.
For more information, see the 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/grid_demo.rs (lines 14-17)
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
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/grid_demo.rs (line 22)
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
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/grid_demo.rs (line 25)
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
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.