zest-widget
zest-widget is the standard widget library for the zest GUI framework family.
It builds on zest-core and zest-theme and exports the concrete widget set used by the examples and higher-level applications.
The crate is no_std outside tests.
Widget set
The current public exports include:
Layout and composition
ColumnRowGridContainerStackScrollableSpaceDivider
Text and text entry
TextTextAreaKeyboard
Buttons and choice controls
ButtonImageButtonCheckboxRadioButtonSwitchDropdownMenuTabBar
Value and status widgets
SliderSpinButtonProgressBarSpinnerLEDScaleArc
Lists, tables, and scrolling widgets
ListListRowTableTableRowRollerTileview
Graphics and media widgets
ImageCanvasChartLineQrWeatherIcon
Higher-level surfaces
CalendarMessageBoxWindowSpanSpanGroup
Shared types re-exported from zest-core
The crate also re-exports scrolling types for widget authors and applications:
ScrollStateScrollMsgScrollDirectionScrollbarModeSnapModetick_task(...)
Example programs
This crate contains a large example set under zest-widget/examples/.
The example registry currently includes examples such as:
counter_appappfocus_navigationgaugetext_areatabledropdownrollercalendarscroll_listscroll_rowscroll_gridscroll_snap
Basic usage
The widgets are designed to be composed into an Element<'_, C, M> tree.
use ;
let view = new
.push
.into_element;
Notes
zest-widgetexports concrete widgets only; theWidgettrait itself comes fromzest-coreand is re-exported here.- Focus/action support is handled through the same widget tree that is built every frame.
- The crate is intended to pair with
zest-core::Runtimedirectly or through the top-levelzest-guicrate.