Struct Container

Source
pub struct Container<S: State> { /* private fields */ }
Expand description

A container widget that can display and layout multiple child widgets.

The layout of the children (row, column, etc.) depends on the LayoutStyle of the container.

See the counter example for how to use it in practice.

§Theming

The container widget doesn’t actually draw anything but the child widgets, so theming is useless.

Implementations§

Source§

impl<S: State> Container<S>

Source

pub fn new(children: Vec<Val<S, Box<dyn Widget<S>>>>) -> Self

Creates a new container with given children.

Source

pub fn add_children(&mut self, children: Vec<Val<S, Box<dyn Widget<S>>>>)

Adds the given children to the container.

Source

pub fn with_children(self, children: Vec<Val<S, Box<dyn Widget<S>>>>) -> Self

Adds the given children to the container and returns itself.

Source

pub fn add_child(&mut self, child: impl Into<Val<S, Box<dyn Widget<S>>>>)

Adds the given child to the container.

Source

pub fn with_child(self, child: impl Into<Val<S, Box<dyn Widget<S>>>>) -> Self

Adds the given child to the container and returns itself.

Trait Implementations§

Source§

impl<S: State> Default for Container<S>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<S: State> Widget<S> for Container<S>

Source§

fn render( &mut self, scene: &mut Scene, theme: &mut dyn Theme, info: &AppInfo, layout_node: &LayoutNode, state: &S, )

Render the widget to the canvas.
Source§

fn layout_style(&mut self, state: &S) -> StyleNode

Return the layout style node for layout computation.
Source§

fn update( &mut self, layout: &LayoutNode, state: &mut S, info: &AppInfo, ) -> Update

Update the widget state with given info and layout. Returns if the app should be updated.
Source§

fn widget_id(&self) -> WidgetId

Return the widget id.
Source§

impl<S: State> WidgetChildrenExt<S> for Container<S>

Source§

fn set_children(&mut self, children: Vec<Val<S, impl Widget<S> + 'static>>)

Sets the child widgets of the widget.
Source§

fn add_child<W: Widget<S> + 'static>(&mut self, child: impl Into<Val<S, W>>)

Adds a child widget to the widget.
Source§

fn with_children(self, children: Vec<Val<S, impl Widget<S> + 'static>>) -> Self
where Self: Sized,

Sets the child widgets of the widget and returns self.
Source§

fn with_child<W: Widget<S> + 'static>(self, child: impl Into<Val<S, W>>) -> Self
where Self: Sized,

Adds a child widget to the widget and returns self.
Source§

impl<S: State> WidgetLayoutExt<S> for Container<S>

Source§

fn set_layout_style(&mut self, layout_style: impl Into<Val<S, LayoutStyle>>)

Sets the layout style of the widget.
Source§

fn with_layout_style(self, layout_style: impl Into<Val<S, LayoutStyle>>) -> Self
where Self: Sized,

Sets the layout style of the widget and returns self.

Auto Trait Implementations§

§

impl<S> Freeze for Container<S>

§

impl<S> !RefUnwindSafe for Container<S>

§

impl<S> !Send for Container<S>

§

impl<S> !Sync for Container<S>

§

impl<S> Unpin for Container<S>

§

impl<S> !UnwindSafe for Container<S>

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> Downcast<T> for T

Source§

fn downcast(&self) -> &T

Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

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.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

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

fn as_any(&self) -> &(dyn Any + 'static)

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

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

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

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

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

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

Source§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
Source§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
Source§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
Source§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
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.
Source§

impl<T> Upcast<T> for T

Source§

fn upcast(&self) -> Option<&T>

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more