term_grid

Struct Grid

Source
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

Source

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!");
    }
}
Source

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.)

Source

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!");
    }
}
Source

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!");
    }
}
Source

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§

Source§

impl Debug for Grid

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for Grid

Source§

fn eq(&self, other: &Grid) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for Grid

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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.