Skip to main content

Module widget

Module widget 

Source
Expand description

Concrete widgets. Standard widgets.

Re-exports§

pub use arc::Arc;
pub use button::Button;
pub use calendar::Calendar;
pub use calendar::CalendarEvent;
pub use calendar::CalendarMode;
pub use canvas::Canvas;
pub use canvas::CanvasBuffer;
pub use chart::Chart;
pub use checkbox::Checkbox;
pub use column::Column;
pub use container::Container;
pub use divider::Divider;
pub use divider::horizontal_divider;
pub use divider::vertical_divider;
pub use dropdown::Dropdown;
pub use grid::Grid;
pub use image::Image;
pub use image_button::ImageButton;
pub use keyboard::KeyAction;
pub use keyboard::Keyboard;
pub use keyboard::KeyboardMode;
pub use led::LED;
pub use line::Line;
pub use list::List;
pub use list::ListRow;
pub use menu::Menu;
pub use message_box::MessageBox;
pub use progress_bar::ProgressBar;
pub use qr::EccLevel;
pub use qr::Qr;
pub use qr::QrError;
pub use radio::RadioButton;
pub use roller::Roller;
pub use row::Row;
pub use scale::Scale;
pub use scale::ScaleMode;
pub use scrollable::Scrollable;
pub use slider::Slider;
pub use space::Space;
pub use space::horizontal_space;
pub use space::vertical_space;
pub use span::Span;
pub use span::SpanGroup;
pub use spin_button::SpinButton;
pub use spin_button::horizontal_spin_button;
pub use spin_button::vertical_spin_button;
pub use spinner::Spinner;
pub use stack::Stack;
pub use switch::Switch;
pub use tab_bar::Tab;
pub use tab_bar::TabBar;
pub use table::Table;
pub use table::TableRow;
pub use text::Text;
pub use text_area::TextArea;
pub use tileview::Tileview;
pub use weather_icons::WeatherCondition;
pub use weather_icons::WeatherIcon;
pub use window::Window;

Modules§

arc
Passive arc gauge: a background track arc with a value arc drawn on top, sweeping from a start angle toward an end angle in proportion to a value within min..=max.
button
Tappable rectangle with a label that emits a Message on release.
calendar
Month-view calendar with prev/next nav, selected-day highlight, and per-day event-color dots.
canvas
Drawable surface: an owned CanvasBuffer the host mutates plus a passive Canvas widget that blits it to the screen.
chart
Passive multi-series chart. Plots one or more borrowed integer series as line and/or bar graphs, auto-scaling the Y axis to the combined data range and fitting everything inside the arranged rect.
checkbox
Toggleable check box with an optional trailing label.
column
Vertical layout container. Runs a flex resolve modeled on iced’s core/src/layout/flex.rs:
container
Bounds-aware single-child wrapper. Applies padding and forwards the touch / draw protocol to its inner widget.
divider
Thin horizontal or vertical rule. Reads color from theme.background.divider unless overridden.
dropdown
Drop-down selector: a button-like field showing the current selection that, when open, reveals its option list as an overlay.
element
Re-export of zest_core::Element.
grid
Equal-cell grid container. Children fill cells in row-major order.
image
Static raster image. Blits a borrowed slice of pixels into its arranged rect via Renderer::draw_image (zest_core::Renderer::draw_image), centering it when the slot is larger than the image.
image_button
Tappable button that draws a borrowed raster image instead of (or alongside) a text label.
keyboard
On-screen keyboard modeled on LVGL’s lv_keyboard.
led
Passive status indicator. Draws a filled circle via Renderer::fill_circle sized to fit its arranged rect.
line
Passive polyline. Connects a borrowed slice of points with straight segments via zest_core::Renderer::stroke_line.
list
Styled, vertically scrollable list of selectable rows.
menu
Vertical menu: a stack of selectable entries, each emitting a message when tapped.
message_box
Modal dialog: a dimmed full-screen scrim with a centered card holding a title, body text, and a row of action buttons.
progress_bar
Passive progress bar: a track with a filled portion reflecting a value.
qr
Passive QR code widget. Encodes owned UTF-8 text or arbitrary bytes and renders a centered, integer-scaled symbol with a configurable quiet zone.
radio
Radio button: an outer circle with an inner dot when selected, plus an optional trailing label.
roller
Vertical wheel / drum selector — a scrollable list of option labels that settles each release so the chosen option lands centered under a fixed highlight band.
row
Horizontal layout container. Mirror of Column on the width axis. Children declare their slot intent via .width(Length::...), e.g. Length::FillPortion(n) for weighted distribution.
scale
Passive scale: evenly spaced tick marks with optional numeric labels and an optional value marker.
scroll_core
Shared scrolling engine reused by every scrollable container.
scrollable
Drag-to-scroll single-child wrapper (the iced Scrollable analog).
slider
Horizontal value slider: a track with a filled portion and a draggable knob.
space
Transparent filler widget. Used to push siblings to one end of a Row / Column, create explicit fixed gaps, or reserve space.
span
Rich text: a paragraph of independently-styled inline runs.
spin_button
Numeric stepper with - / + buttons flanking a value label.
spinner
Passive rotating-arc loading indicator.
stack
Overlay container (a.k.a. ZStack / Layer). Holds children as Vec<Element> and stacks them on the same region:
switch
On/off toggle switch: a pill-shaped track with a sliding knob.
tab_bar
Compact horizontal tab bar. Single widget that wraps a Row of tap-targets, highlighting the active tab via ButtonClass::Suggested. Defaults to Length::Fixed(20) height — sized for FONT_8X13 plus 2px border + 2px vertical padding.
table
Vertically scrollable grid of text cells with an optional header row.
text
Static text widget. Renders a Cow<'a, str> with a font + color.
text_area
Editable multi-line text field.
tileview
Full-area paged tiles that settle exactly one tile per swipe.
weather_icons
Compact weather-condition glyphs drawn from renderer primitives.
window
Titled panel: a title bar (filled rect + title text, optional close button) above a content area holding one child.

Traits§

Widget
Object-safe widget contract.