pub struct Container {
pub background: Value<ContainerBackground>,
pub padding: Option<Value<Edges<Dimension>>>,
pub shadow: Value<ContainerShadow>,
/* private fields */
}
Expand description
A visual container widget, optionally applying padding and a background color.
Background Color Selection
This widget has three different modes for coloring its background:
-
ContainerBackground::Auto
: The background color is automatically selected by using the next level from the next parent container in the hierarchy.If the previous container is
ContainerLevel::Highest
or the previous parent container uses a color instead of a level,ContainerLevel::Lowest
will be used. -
ContainerBackground::Color
: The specified color will be drawn. -
SurfaceTheme
container color associated with the given level will be used.
Fields§
§background: Value<ContainerBackground>
The configured background selection.
padding: Option<Value<Edges<Dimension>>>
Padding to surround the contained widget.
If this is None, a uniform surround of IntrinsicPadding
will be
applied.
shadow: Value<ContainerShadow>
The shadow to apply behind the container’s background.
Implementations§
source§impl Container
impl Container
sourcepub fn new(child: impl MakeWidget) -> Self
pub fn new(child: impl MakeWidget) -> Self
Returns a new container wrapping child
with default padding and a
background color automatically selected by the theme.
See ContainerBackground::Auto
for more information about automatic
coloring.
sourcepub fn pad_by(self, padding: impl IntoValue<Edges<Dimension>>) -> Self
pub fn pad_by(self, padding: impl IntoValue<Edges<Dimension>>) -> Self
Pads the contained widget with padding
, returning the updated
container.
sourcepub fn transparent(self) -> Self
pub fn transparent(self) -> Self
Sets this container to render no background color, and then returns the updated container.
sourcepub fn contain_level(self, level: impl IntoValue<ContainerLevel>) -> Container
pub fn contain_level(self, level: impl IntoValue<ContainerLevel>) -> Container
Sets this container to use the specific container level, and then returns the updated container.
sourcepub fn background_color(self, color: impl IntoValue<Color>) -> Self
pub fn background_color(self, color: impl IntoValue<Color>) -> Self
Sets this container to render the specified color
background, and then
returns the updated container.
sourcepub fn shadow(self, shadow: impl IntoValue<ContainerShadow>) -> Self
pub fn shadow(self, shadow: impl IntoValue<ContainerShadow>) -> Self
Renders shadow
behind the container’s background.
Trait Implementations§
source§impl Widget for Container
impl Widget for Container
source§fn summarize(&self, fmt: &mut Formatter<'_>) -> Result
fn summarize(&self, fmt: &mut Formatter<'_>) -> Result
fmt
. Read moresource§fn full_control_redraw(&self) -> bool
fn full_control_redraw(&self) -> bool
source§fn redraw(&mut self, context: &mut GraphicsContext<'_, '_, '_, '_, '_>)
fn redraw(&mut self, context: &mut GraphicsContext<'_, '_, '_, '_, '_>)
source§fn layout(
&mut self,
available_space: Size<ConstraintLimit>,
context: &mut LayoutContext<'_, '_, '_, '_, '_>
) -> Size<UPx>
fn layout( &mut self, available_space: Size<ConstraintLimit>, context: &mut LayoutContext<'_, '_, '_, '_, '_> ) -> Size<UPx>
available_space
.source§fn root_behavior(
&mut self,
context: &mut EventContext<'_, '_>
) -> Option<(RootBehavior, WidgetInstance)>
fn root_behavior( &mut self, context: &mut EventContext<'_, '_> ) -> Option<(RootBehavior, WidgetInstance)>
source§fn mounted(&mut self, context: &mut EventContext<'_, '_>)
fn mounted(&mut self, context: &mut EventContext<'_, '_>)
source§fn unmounted(&mut self, context: &mut EventContext<'_, '_>)
fn unmounted(&mut self, context: &mut EventContext<'_, '_>)
source§fn hit_test(
&mut self,
location: Point<Px>,
context: &mut EventContext<'_, '_>
) -> bool
fn hit_test( &mut self, location: Point<Px>, context: &mut EventContext<'_, '_> ) -> bool
location
.source§fn hover(
&mut self,
location: Point<Px>,
context: &mut EventContext<'_, '_>
) -> Option<CursorIcon>
fn hover( &mut self, location: Point<Px>, context: &mut EventContext<'_, '_> ) -> Option<CursorIcon>
location
.source§fn unhover(&mut self, context: &mut EventContext<'_, '_>)
fn unhover(&mut self, context: &mut EventContext<'_, '_>)
source§fn accept_focus(&mut self, context: &mut EventContext<'_, '_>) -> bool
fn accept_focus(&mut self, context: &mut EventContext<'_, '_>) -> bool
source§fn focus(&mut self, context: &mut EventContext<'_, '_>)
fn focus(&mut self, context: &mut EventContext<'_, '_>)
source§fn advance_focus(
&mut self,
direction: VisualOrder,
context: &mut EventContext<'_, '_>
) -> EventHandling
fn advance_focus( &mut self, direction: VisualOrder, context: &mut EventContext<'_, '_> ) -> EventHandling
direction
in a consistent manner. Returning HANDLED
will
cause the search for the next focus widget stop.source§fn allow_blur(&mut self, context: &mut EventContext<'_, '_>) -> bool
fn allow_blur(&mut self, context: &mut EventContext<'_, '_>) -> bool
source§fn blur(&mut self, context: &mut EventContext<'_, '_>)
fn blur(&mut self, context: &mut EventContext<'_, '_>)
source§fn activate(&mut self, context: &mut EventContext<'_, '_>)
fn activate(&mut self, context: &mut EventContext<'_, '_>)
source§fn deactivate(&mut self, context: &mut EventContext<'_, '_>)
fn deactivate(&mut self, context: &mut EventContext<'_, '_>)
source§fn mouse_down(
&mut self,
location: Point<Px>,
device_id: DeviceId,
button: MouseButton,
context: &mut EventContext<'_, '_>
) -> EventHandling
fn mouse_down( &mut self, location: Point<Px>, device_id: DeviceId, button: MouseButton, context: &mut EventContext<'_, '_> ) -> EventHandling
location
. Returns whether the
event has been handled or not. Read moresource§fn mouse_drag(
&mut self,
location: Point<Px>,
device_id: DeviceId,
button: MouseButton,
context: &mut EventContext<'_, '_>
)
fn mouse_drag( &mut self, location: Point<Px>, device_id: DeviceId, button: MouseButton, context: &mut EventContext<'_, '_> )
source§fn mouse_up(
&mut self,
location: Option<Point<Px>>,
device_id: DeviceId,
button: MouseButton,
context: &mut EventContext<'_, '_>
)
fn mouse_up( &mut self, location: Option<Point<Px>>, device_id: DeviceId, button: MouseButton, context: &mut EventContext<'_, '_> )
source§fn keyboard_input(
&mut self,
device_id: DeviceId,
input: KeyEvent,
is_synthetic: bool,
context: &mut EventContext<'_, '_>
) -> EventHandling
fn keyboard_input( &mut self, device_id: DeviceId, input: KeyEvent, is_synthetic: bool, context: &mut EventContext<'_, '_> ) -> EventHandling
source§fn ime(&mut self, ime: Ime, context: &mut EventContext<'_, '_>) -> EventHandling
fn ime(&mut self, ime: Ime, context: &mut EventContext<'_, '_>) -> EventHandling
source§fn mouse_wheel(
&mut self,
device_id: DeviceId,
delta: MouseScrollDelta,
phase: TouchPhase,
context: &mut EventContext<'_, '_>
) -> EventHandling
fn mouse_wheel( &mut self, device_id: DeviceId, delta: MouseScrollDelta, phase: TouchPhase, context: &mut EventContext<'_, '_> ) -> EventHandling
Auto Trait Implementations§
impl RefUnwindSafe for Container
impl Send for Container
impl Sync for Container
impl Unpin for Container
impl UnwindSafe for Container
Blanket Implementations§
source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
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
source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> 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> DowncastSync for T
impl<T> DowncastSync for T
source§impl<T> FromAngle<T> for T
impl<T> FromAngle<T> for T
source§fn from_angle(angle: T) -> T
fn from_angle(angle: T) -> T
angle
.source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
other
into Self
, while performing the appropriate scaling,
rounding and clamping.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, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
source§fn into_angle(self) -> U
fn into_angle(self) -> U
T
.source§impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
source§fn into_color(self) -> U
fn into_color(self) -> U
source§impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
source§fn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
source§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
self
into T
, while performing the appropriate scaling,
rounding and clamping.source§impl<T> IntoValue<T> for T
impl<T> IntoValue<T> for T
source§fn into_value(self) -> Value<T>
fn into_value(self) -> Value<T>
Value
.source§impl<T> MakeWidget for Twhere
T: MakeWidgetWithTag,
impl<T> MakeWidget for Twhere
T: MakeWidgetWithTag,
source§fn make_widget(self) -> WidgetInstance
fn make_widget(self) -> WidgetInstance
source§fn into_window(self) -> Window<WidgetInstance>
fn into_window(self) -> Window<WidgetInstance>
self
as the root widget.source§fn with_styles(self, styles: impl IntoValue<Styles>) -> Stylewhere
Self: Sized,
fn with_styles(self, styles: impl IntoValue<Styles>) -> Stylewhere
Self: Sized,
styles
with this widget. Read moresource§fn with<C: ComponentDefinition>(
self,
name: &C,
component: impl IntoValue<C::ComponentType>
) -> Style
fn with<C: ComponentDefinition>( self, name: &C, component: impl IntoValue<C::ComponentType> ) -> Style
self
.source§fn with_dynamic<C: ComponentDefinition>(
self,
name: &C,
dynamic: impl IntoDynamicComponentValue
) -> Style
fn with_dynamic<C: ComponentDefinition>( self, name: &C, dynamic: impl IntoDynamicComponentValue ) -> Style
self
, resolving its value using
dynamic
at runtime.source§fn xxxx_large(self) -> Style
fn xxxx_large(self) -> Style
self
with the largest text size.source§fn default_size(self) -> Style
fn default_size(self) -> Style
self
with the third smallest text size.source§fn with_next_focus(
self,
next_focus: impl IntoValue<Option<WidgetId>>
) -> WidgetInstance
fn with_next_focus( self, next_focus: impl IntoValue<Option<WidgetId>> ) -> WidgetInstance
source§fn with_enabled(self, enabled: impl IntoValue<bool>) -> WidgetInstance
fn with_enabled(self, enabled: impl IntoValue<bool>) -> WidgetInstance
enabled
and returns
self. Read moresource§fn into_default(self) -> WidgetInstance
fn into_default(self) -> WidgetInstance
source§fn into_escape(self) -> WidgetInstance
fn into_escape(self) -> WidgetInstance
source§fn and(self, other: impl MakeWidget) -> Children
fn and(self, other: impl MakeWidget) -> Children
self
and other
.source§fn expand_weighted(self, weight: u8) -> Expand
fn expand_weighted(self, weight: u8) -> Expand
self
to grow to fill its parent proportionally with other
weighted siblings.source§fn expand_horizontally(self) -> Expand
fn expand_horizontally(self) -> Expand
self
to grow to fill its parent horizontally.source§fn expand_vertically(self) -> Expand
fn expand_vertically(self) -> Expand
self
to grow to fill its parent vertically.source§fn into_checkbox(self, value: impl IntoDynamic<CheckboxState>) -> Checkbox
fn into_checkbox(self, value: impl IntoDynamic<CheckboxState>) -> Checkbox
source§fn align_left(self) -> Align
fn align_left(self) -> Align
self
to the left.source§fn align_right(self) -> Align
fn align_right(self) -> Align
self
to the right.source§fn align_bottom(self) -> Align
fn align_bottom(self) -> Align
self
to the bottom.source§fn fit_horizontally(self) -> Align
fn fit_horizontally(self) -> Align
self
horizontally within its parent.source§fn fit_vertically(self) -> Align
fn fit_vertically(self) -> Align
self
vertically within its parent.source§fn vertical_scroll(self) -> Scroll
fn vertical_scroll(self) -> Scroll
self
vertically.source§fn horizontal_scroll(self) -> Scroll
fn horizontal_scroll(self) -> Scroll
self
horizontally.source§fn widget_ref(self) -> WidgetRef
fn widget_ref(self) -> WidgetRef
WidgetRef
for use as child widget.source§fn contain_level(self, level: impl IntoValue<ContainerLevel>) -> Container
fn contain_level(self, level: impl IntoValue<ContainerLevel>) -> Container
self
in a Container
with the specified level.source§fn background_color(self, color: impl IntoValue<Color>) -> Container
fn background_color(self, color: impl IntoValue<Color>) -> Container
color
behind self
.source§fn pad_by(self, padding: impl IntoValue<Edges<Dimension>>) -> Container
fn pad_by(self, padding: impl IntoValue<Edges<Dimension>>) -> Container
self
with the specified padding.source§fn themed(self, theme: impl IntoValue<ThemePair>) -> Themed
fn themed(self, theme: impl IntoValue<ThemePair>) -> Themed
theme
to self
and its children.source§fn themed_mode(self, mode: impl IntoValue<ThemeMode>) -> ThemedMode
fn themed_mode(self, mode: impl IntoValue<ThemeMode>) -> ThemedMode
mode
to self
and its children.source§fn collapse_horizontally(
self,
collapse_when: impl IntoDynamic<bool>
) -> Collapse
fn collapse_horizontally( self, collapse_when: impl IntoDynamic<bool> ) -> Collapse
self
horizontally based on the dynamic boolean value. Read moresource§fn collapse_vertically(self, collapse_when: impl IntoDynamic<bool>) -> Collapse
fn collapse_vertically(self, collapse_when: impl IntoDynamic<bool>) -> Collapse
self
vertically based on the dynamic
boolean value. Read moresource§fn validation(self, validation: impl IntoDynamic<Validation>) -> Validated
fn validation(self, validation: impl IntoDynamic<Validation>) -> Validated
source§fn tooltip(self, layer: &OverlayLayer, tip: impl MakeWidget) -> Tooltipped
fn tooltip(self, layer: &OverlayLayer, tip: impl MakeWidget) -> Tooltipped
tip
on layer
when self
is hovered.source§impl<T> MakeWidgetWithTag for Twhere
T: Widget,
impl<T> MakeWidgetWithTag for Twhere
T: Widget,
source§fn make_with_tag(self, id: WidgetTag) -> WidgetInstance
fn make_with_tag(self, id: WidgetTag) -> WidgetInstance
source§impl<T> Open for Twhere
T: MakeWidget,
impl<T> Open for Twhere
T: MakeWidget,
source§fn open<App>(self, app: &App) -> Result<Option<WindowHandle>, EventLoopError>where
App: Application,
fn open<App>(self, app: &App) -> Result<Option<WindowHandle>, EventLoopError>where
App: Application,
app
.source§impl<T> Run for Twhere
T: MakeWidget,
impl<T> Run for Twhere
T: MakeWidget,
source§impl<'a, T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<'a, T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
try_into_colors
fails to cast.source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
source§impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
OutOfBounds
error is returned which contains
the unclamped color. Read more