pub struct Widget {
    pub(crate) widget: Box<dyn WidgetImpl>,
    layout: LayoutStyle,
    pub(crate) rect: ScreenRectangle,
    bg: Option<Drawable>,
    bg_batch: Option<GeomBatch>,
    id: Option<String>,
}

Fields

widget: Box<dyn WidgetImpl>layout: LayoutStylerect: ScreenRectanglebg: Option<Drawable>bg_batch: Option<GeomBatch>id: Option<String>

Implementations

This one is really weird. percent_width should be LESS than the max_size_percent given to the overall Panel, otherwise weird things happen. Only makes sense for rows/columns.

Like flex_wrap, but doesn’t horizontally space out widgets on the same row.

Only for rows/columns. Used to force table columns to line up.

Needed for force_width.

Callers have to adjust padding too, probably

Things like padding don’t work on many widgets, so just make a convenient way to wrap in a row/column first

This doesn’t count against the entire container

If the argument is true, don’t actually create this widget. May be more readable than an if/else block.

Creates a row with the specified widgets. No margins or other layouting is applied.

Creates a row with the specified widgets. Every member gets a default horizontal margin.

Creates a row with the specified widgets, with a spacing sized margin between members

Creates a column with the specified widgets. No margins or other layouting is applied.

Creates a column with the specified widgets, with a spacing sized margin between members

Creates a column with the specified widgets. Every member gets a default vertical margin.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

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

Should always be Self

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.