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 unmounted(&mut self, context: &mut EventContext<'_>)
fn unmounted(&mut self, context: &mut EventContext<'_>)
source§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 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 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<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<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
§type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
parameters
when converting.source§fn cam16_into_unclamped(
self,
parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>
) -> T
fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar> ) -> T
self
into C
, using the provided parameters.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
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<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
§type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
parameters
when converting.source§fn into_cam16_unclamped(
self,
parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>
) -> T
fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar> ) -> T
self
into C
, using the provided parameters.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> 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 moresource§impl<T> IntoReadOnly<T> for T
impl<T> IntoReadOnly<T> for T
source§fn into_read_only(self) -> ReadOnly<T>
fn into_read_only(self) -> ReadOnly<T>
self
as a ReadOnly
.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 build_virtual_window(self) -> CushyWindowBuilder
fn build_virtual_window(self) -> CushyWindowBuilder
VirtualWindow
.source§fn build_recorder(self) -> VirtualRecorderBuilder<Rgb8>
fn build_recorder(self) -> VirtualRecorderBuilder<Rgb8>
VirtualRecorder
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) -> WidgetList
fn and(self, other: impl MakeWidget) -> WidgetList
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: &mut App
) -> Result<Option<WindowHandle>, EventLoopError>where
App: Application + ?Sized,
fn open<App>(
self,
app: &mut App
) -> Result<Option<WindowHandle>, EventLoopError>where
App: Application + ?Sized,
app
.source§fn run_in(self, app: PendingApp) -> Result<(), EventLoopError>
fn run_in(self, app: PendingApp) -> Result<(), EventLoopError>
app
, returning Ok(())
upon successful execution and program exit. Note that this function may
not ever return on some platforms.source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> Run for Twhere
T: MakeWidget,
impl<T> Run for Twhere
T: MakeWidget,
source§impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<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