pub struct Container(/* private fields */);
Expand description
W
Base container.
Implementations§
source§impl Container
impl Container
sourcepub fn widget_new() -> Container
pub fn widget_new() -> Container
Start building a new instance.
sourcepub fn widget_type() -> WidgetType
pub fn widget_type() -> WidgetType
Gets the widget type info.
source§impl Container
impl Container
sourcepub fn clip_to_bounds(&self, clip: impl IntoVar<bool>)
pub fn clip_to_bounds(&self, clip: impl IntoVar<bool>)
P
Content overflow clipping.
source§impl Container
impl Container
sourcepub fn child(&self, child: impl UiNode)
pub fn child(&self, child: impl UiNode)
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
impl Container
sourcepub fn padding(&self, padding: impl IntoVar<SideOffsets>)
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
impl Container
sourcepub fn child_align(&self, alignment: impl IntoVar<Align>)
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
impl Container
sourcepub fn child_insert(
&self,
placement: impl IntoVar<ChildInsert>,
node: impl UiNode,
spacing: impl IntoVar<Length>,
)
pub fn child_insert( &self, placement: impl IntoVar<ChildInsert>, node: impl UiNode, spacing: impl IntoVar<Length>, )
P
Insert node
in the placement
relative to the widget’s child.
This property disables inline layout for the widget.
source§impl Container
impl Container
sourcepub fn child_out_insert(
&self,
placement: impl IntoVar<ChildInsert>,
node: impl UiNode,
spacing: impl IntoVar<Length>,
)
pub fn child_out_insert( &self, placement: impl IntoVar<ChildInsert>, node: impl UiNode, spacing: impl IntoVar<Length>, )
P
Insert node
in the placement
relative to the widget’s child, outside of the child layout.
This is still inside the parent widget, but outside of properties like padding.
This property disables inline layout for the widget.
source§impl Container
impl Container
sourcepub fn child_left(&self, node: impl UiNode, spacing: impl IntoVar<Length>)
pub fn child_left(&self, node: impl UiNode, spacing: impl IntoVar<Length>)
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
impl Container
sourcepub fn child_right(&self, node: impl UiNode, spacing: impl IntoVar<Length>)
pub fn child_right(&self, node: impl UiNode, spacing: impl IntoVar<Length>)
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
impl Container
sourcepub fn child_bottom(&self, node: impl UiNode, spacing: impl IntoVar<Length>)
pub fn child_bottom(&self, node: impl UiNode, spacing: impl IntoVar<Length>)
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
impl Container
sourcepub fn child_start(&self, node: impl UiNode, spacing: impl IntoVar<Length>)
pub fn child_start(&self, node: impl UiNode, spacing: impl IntoVar<Length>)
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
impl Container
sourcepub fn child_over(&self, node: impl UiNode)
pub fn child_over(&self, node: impl UiNode)
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
impl Container
sourcepub fn child_under(&self, node: impl UiNode)
pub fn child_under(&self, node: impl UiNode)
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
impl Container
sourcepub fn child_out_left(&self, node: impl UiNode, spacing: impl IntoVar<Length>)
pub fn child_out_left(&self, node: impl UiNode, spacing: impl IntoVar<Length>)
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
impl Container
sourcepub fn child_out_right(&self, node: impl UiNode, spacing: impl IntoVar<Length>)
pub fn child_out_right(&self, node: impl UiNode, spacing: impl IntoVar<Length>)
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
impl Container
sourcepub fn child_out_top(&self, node: impl UiNode, spacing: impl IntoVar<Length>)
pub fn child_out_top(&self, node: impl UiNode, spacing: impl IntoVar<Length>)
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
impl Container
sourcepub fn child_out_bottom(&self, node: impl UiNode, spacing: impl IntoVar<Length>)
pub fn child_out_bottom(&self, node: impl UiNode, spacing: impl IntoVar<Length>)
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
impl Container
sourcepub fn child_out_start(&self, node: impl UiNode, spacing: impl IntoVar<Length>)
pub fn child_out_start(&self, node: impl UiNode, spacing: impl IntoVar<Length>)
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
impl Container
sourcepub fn child_out_end(&self, node: impl UiNode, spacing: impl IntoVar<Length>)
pub fn child_out_end(&self, node: impl UiNode, spacing: impl IntoVar<Length>)
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
impl Container
sourcepub fn child_out_over(&self, node: impl UiNode)
pub fn child_out_over(&self, node: impl UiNode)
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
impl Container
sourcepub fn child_out_under(&self, node: impl UiNode)
pub fn child_out_under(&self, node: impl UiNode)
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>§
sourcepub fn widget_builder(&mut self) -> &mut WidgetBuilder
pub fn widget_builder(&mut self) -> &mut WidgetBuilder
Returns a mutable reference to the widget builder.
sourcepub fn widget_when(&mut self) -> Option<&mut WhenInfo>
pub fn widget_when(&mut self) -> Option<&mut WhenInfo>
Returns a mutable reference to the when
block if called inside a when block.
sourcepub fn widget_take(&mut self) -> WidgetBuilder
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.
sourcepub fn widget_build(&mut self) -> impl UiNode
pub fn widget_build(&mut self) -> impl UiNode
Build the widget.
After this call trying to set a property will panic.
sourcepub fn widget_importance(&mut self) -> &mut Importance
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
.
sourcepub fn start_when_block(
&mut self,
inputs: Box<[WhenInput]>,
state: Box<dyn VarBoxed<bool>>,
expr: &'static str,
location: SourceLocation,
)
pub fn start_when_block( &mut self, inputs: Box<[WhenInput]>, state: Box<dyn VarBoxed<bool>>, expr: &'static str, location: SourceLocation, )
Start building a when
block, all properties set after this call are pushed in the when block.
sourcepub fn end_when_block(&mut self)
pub fn end_when_block(&mut self)
End the current when
block, all properties set after this call are pushed in the widget.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for Container
impl !RefUnwindSafe for Container
impl Send for Container
impl !Sync for Container
impl Unpin for Container
impl !UnwindSafe for Container
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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