Struct egui::Grid

source ·
pub struct Grid {
    id_salt: Id,
    num_columns: Option<usize>,
    min_col_width: Option<f32>,
    min_row_height: Option<f32>,
    max_cell_size: Vec2,
    spacing: Option<Vec2>,
    start_row: usize,
    color_picker: Option<Box<dyn Send + Sync + Fn(usize, &Style) -> Option<Color32>>>,
}
Expand description

A simple grid layout.

The cells are always laid out left to right, top-down. The contents of each cell will be aligned to the left and center.

If you want to add multiple widgets to a cell you need to group them with Ui::horizontal, Ui::vertical etc.

egui::Grid::new("some_unique_id").show(ui, |ui| {
    ui.label("First row, first column");
    ui.label("First row, second column");
    ui.end_row();

    ui.label("Second row, first column");
    ui.label("Second row, second column");
    ui.label("Second row, third column");
    ui.end_row();

    ui.horizontal(|ui| { ui.label("Same"); ui.label("cell"); });
    ui.label("Third row, second column");
    ui.end_row();
});

Fields§

§id_salt: Id§num_columns: Option<usize>§min_col_width: Option<f32>§min_row_height: Option<f32>§max_cell_size: Vec2§spacing: Option<Vec2>§start_row: usize§color_picker: Option<Box<dyn Send + Sync + Fn(usize, &Style) -> Option<Color32>>>

Implementations§

source§

impl Grid

source

pub fn new(id_salt: impl Hash) -> Self

Create a new Grid with a locally unique identifier.

source

pub fn with_row_color<F>(self, color_picker: F) -> Self
where F: Send + Sync + Fn(usize, &Style) -> Option<Color32> + 'static,

Setting this will allow for dynamic coloring of rows of the grid object

source

pub fn num_columns(self, num_columns: usize) -> Self

Setting this will allow the last column to expand to take up the rest of the space of the parent Ui.

source

pub fn striped(self, striped: bool) -> Self

If true, add a subtle background color to every other row.

This can make a table easier to read. Default is whatever is in crate::Visuals::striped.

source

pub fn min_col_width(self, min_col_width: f32) -> Self

Set minimum width of each column. Default: crate::style::Spacing::interact_size.x.

source

pub fn min_row_height(self, min_row_height: f32) -> Self

Set minimum height of each row. Default: crate::style::Spacing::interact_size.y.

source

pub fn max_col_width(self, max_col_width: f32) -> Self

Set soft maximum width (wrapping width) of each column.

source

pub fn spacing(self, spacing: impl Into<Vec2>) -> Self

Set spacing between columns/rows. Default: crate::style::Spacing::item_spacing.

source

pub fn start_row(self, start_row: usize) -> Self

Change which row number the grid starts on. This can be useful when you have a large crate::Grid inside of crate::ScrollArea::show_rows.

source§

impl Grid

source

pub fn show<R>( self, ui: &mut Ui, add_contents: impl FnOnce(&mut Ui) -> R, ) -> InnerResponse<R>

source

fn show_dyn<'c, R>( self, ui: &mut Ui, add_contents: Box<dyn FnOnce(&mut Ui) -> R + 'c>, ) -> InnerResponse<R>

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.