Container

Struct Container 

Source
pub struct Container(/* private fields */);
Expand description

W Base container.

Implementations§

Source§

impl Container

Source

pub fn widget_new() -> Self

Start building a new instance.

Source

pub fn widget_type() -> WidgetType

Gets the widget type info.

Source§

impl Container

Source

pub fn clip_to_bounds(&self, clip: impl IntoVar<bool>)

P Content overflow clipping.

Source§

impl Container

Source

pub fn child(&self, child: impl IntoUiNode)

P The widget’s child.

Can be any type that implements UiNode, any widget.

In Container! derived widgets or similar this property is captured and used as the actual child, in other widgets this property is an alias for child_under.

Source§

impl Container

Source

pub fn padding(&self, padding: impl IntoVar<SideOffsets>)

P Margin space around the content of a widget.

This property is margin with nest group CHILD_LAYOUT.

Source§

impl Container

Source

pub fn child_align(&self, alignment: impl IntoVar<Align>)

P Aligns the widget content within the available space.

This property is align with nest group CHILD_LAYOUT.

Source§

impl Container

Source

pub fn child_spacing(&self, spacing: impl IntoVar<SideOffsets>)

P Spacing between child and one of the child_insert properties.

The spacing is only applied if the child insert property in the direction is set.

Source§

impl Container

Source

pub fn child_out_spacing(&self, spacing: impl IntoVar<SideOffsets>)

P Spacing between child and child layout nodes and one of the child_out_insert properties.

The spacing is only applied if the child insert property in the direction is set.

Source§

impl Container

Source

pub fn child_insert( &self, placement: impl IntoVar<ChildInsert>, node: impl IntoUiNode, )

P Insert node in the placement relative to the widget’s child.

The node is inserted inside the CHILD_LAYOUT scope, meaning inside padding, just like the child. See also child_out_insert for inserting a node outside the child layout.

Spacing between the widget’s child and node can be configured using child_spacing.

A property for each direction is also provided, see child_start, child_end, child_left, child_right, child_top, child_bottom, child_over and child_under.

This property disables inline layout for the widget.

Source§

impl Container

Source

pub fn child_out_insert( &self, placement: impl IntoVar<ChildInsert>, node: impl IntoUiNode, )

P Insert node in the placement relative to the widget’s child, outside of the CHILD_LAYOUT scope, meaning outside padding, but still inside the widget.

Spacing between the widget’s child layout nodes and the node can be configured using child_out_spacing.

A property for each direction is also provided, see child_out_start, child_out_end, child_out_left, child_out_right, child_out_top, child_out_bottom, child_out_over and child_out_under.

This property disables inline layout for the widget.

Source§

impl Container

Source

pub fn child_left(&self, node: impl IntoUiNode)

P Insert node to the left of the widget’s child.

This property disables inline layout for the widget. See child_insert for more details.

Source§

impl Container

Source

pub fn child_right(&self, node: impl IntoUiNode)

P Insert node to the right of the widget’s child.

This property disables inline layout for the widget. See child_insert for more details.

Source§

impl Container

Source

pub fn child_top(&self, node: impl IntoUiNode)

P Insert node above the widget’s child.

This property disables inline layout for the widget. See child_insert for more details.

Source§

impl Container

Source

pub fn child_bottom(&self, node: impl IntoUiNode)

P Insert node below the widget’s child.

This property disables inline layout for the widget. See child_insert for more details.

Source§

impl Container

Source

pub fn child_start(&self, node: impl IntoUiNode)

P Insert node to the left of the widget’s child in LTR contexts or to the right in RTL contexts.

This property disables inline layout for the widget. See child_insert for more details.

Source§

impl Container

Source

pub fn child_end(&self, node: impl IntoUiNode)

P Insert node to the right of the widget’s child in LTR contexts or to the right of the widget’s child in RTL contexts.

This property disables inline layout for the widget. See child_insert for more details.

Source§

impl Container

Source

pub fn child_over(&self, node: impl IntoUiNode)

P Insert node over the widget’s child.

This property disables inline layout for the widget. See child_insert for more details.

Source§

impl Container

Source

pub fn child_under(&self, node: impl IntoUiNode)

P Insert node under the widget’s child.

This property disables inline layout for the widget. See child_insert for more details.

Source§

impl Container

Source

pub fn child_out_left(&self, node: impl IntoUiNode)

P Insert node to the left of the widget’s child, outside of the child layout.

This property disables inline layout for the widget. See child_out_insert for more details.

Source§

impl Container

Source

pub fn child_out_right(&self, node: impl IntoUiNode)

P Insert node to the right of the widget’s child, outside of the child layout.

This property disables inline layout for the widget. See child_out_insert for more details.

Source§

impl Container

Source

pub fn child_out_top(&self, node: impl IntoUiNode)

P Insert node above the widget’s child, outside of the child layout.

This property disables inline layout for the widget. See child_out_insert for more details.

Source§

impl Container

Source

pub fn child_out_bottom(&self, node: impl IntoUiNode)

P Insert node below the widget’s child, outside of the child layout.

This property disables inline layout for the widget. See child_out_insert for more details.

Source§

impl Container

Source

pub fn child_out_start(&self, node: impl IntoUiNode)

P Insert node to the left of the widget’s child in LTR contexts or to the right in RTL contexts, outside of the child layout.

This property disables inline layout for the widget. See child_out_insert for more details.

Source§

impl Container

Source

pub fn child_out_end(&self, node: impl IntoUiNode)

P Insert node to the right of the widget’s child in LTR contexts or to the right of the widget’s child in RTL contexts, outside of the child layout.

This property disables inline layout for the widget. See child_out_insert for more details.

Source§

impl Container

Source

pub fn child_out_over(&self, node: impl IntoUiNode)

P Insert node over the widget’s child, not affected by child layout.

This property disables inline layout for the widget. See child_out_insert for more details.

Source§

impl Container

Source

pub fn child_out_under(&self, node: impl IntoUiNode)

P Insert node under the widget’s child, not affected by child layout.

This property disables inline layout for the widget. See child_out_insert for more details.

Methods from Deref<Target = WidgetBase>§

Source

pub fn widget_builder(&mut self) -> &mut WidgetBuilder

Returns a mutable reference to the widget builder.

Source

pub fn widget_when(&mut self) -> Option<&mut WhenInfo>

Returns a mutable reference to the when block if called inside a when block.

Source

pub fn widget_take(&mut self) -> WidgetBuilder

Takes the widget builder, finishing the widget macro build.

After this call trying to set a property using self will panic, the returned builder can still be manipulated directly.

Source

pub fn widget_build(&mut self) -> UiNode

Build the widget.

After this call trying to set a property will panic.

Source

pub fn widget_importance(&mut self) -> &mut Importance

Returns a mutable reference to the importance of the next property assigns, unsets or when blocks.

Note that during the widget_intrinsic call this is Importance::WIDGET and after it is Importance::INSTANCE.

Source

pub fn start_when_block( &mut self, inputs: Box<[WhenInput]>, state: Var<bool>, expr: &'static str, location: SourceLocation, )

Start building a when block, all properties set after this call are pushed in the when block.

Source

pub fn end_when_block(&mut self)

End the current when block, all properties set after this call are pushed in the widget.

Source

pub fn id(&self, id: impl IntoValue<WidgetId>)

B Unique ID of the widget instance.

Note that the id can convert from a &'static str unique name.

Trait Implementations§

Source§

impl Deref for Container

Source§

type Target = WidgetBase

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl DerefMut for Container

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.

Auto Trait Implementations§

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.

§

impl<T> Instrument for T

§

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

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

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

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
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.
§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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