Module widget

Source
Expand description

Common widgets.

Modules§

prelude
The types required to implement a Widget.

Structs§

Added
This Controller widget responds to LifeCycle::WidgetAdded event with the provided closure. Pass this and a child widget to ControllerHost to respond to the event when the child widget is added to the widget tree. This is also available, for convenience, as an on_added method via WidgetExt.
Align
A widget that aligns its child.
AspectRatioBox
A widget that preserves the aspect ratio given to it.
Button
A button with a text label.
Checkbox
A checkbox that toggles a bool.
Click
A clickable Controller widget. Pass this and a child widget to a ControllerHost to make the child interactive. More conveniently, this is available as an on_click method via WidgetExt.
ClipBox
A widget exposing a rectangular view into its child, which can be used as a building block for widgets that scroll their child.
Container
A widget that provides simple visual styling options to a child.
ControllerHost
A Widget that manages a child and a Controller.
DefaultScopePolicy
A default implementation of ScopePolicy that takes a function and a transfer.
DisabledIf
A widget wrapper which disables the child widget if the provided closure return true.
Either
A widget that switches between two possible child views.
EnvScope
A widget that accepts a closure to update the environment for its child.
Flex
A container with either horizontal or vertical layout.
FlexParams
Optional parameters for an item in a Flex container (row or column).
IdentityWrapper
A wrapper that adds an identity to an otherwise anonymous widget.
Image
A widget that renders a bitmap Image.
IntrinsicWidth
A widget that sizes its child to the child’s maximum intrinsic width.
Label
A label that displays static or dynamic text.
LensScopeTransfer
A ScopeTransfer that uses a Lens to synchronise between a large internal state and a small input.
LensWrap
A wrapper for its widget subtree to have access to a part of its parent’s data.
List
A list widget for a variable-size collection of items.
Maybe
A widget that switches between two possible child views, for Data that is Option<T>.
Padding
A widget that just adds padding around its child.
Painter
A widget that only handles painting.
ProgressBar
A progress bar, displaying a numeric progress value.
Radio
A single radio button
RadioGroup
A group of radio buttons
RangeSlider
A range slider, allowing interactive update of two numeric values .
RawLabel
A widget that displays text data.
Scope
A widget that allows encapsulation of application state.
Scroll
A container that scrolls its contents.
SizedBox
A widget with predefined size.
Slider
A slider, allowing interactive update of a numeric value.
Spinner
An animated spinner widget for showing a loading state.
Split
A container containing two other widgets, splitting the area either horizontally or vertically.
Stepper
A stepper widget for step-wise increasing and decreasing a value.
Svgsvg
A widget that renders a SVG
SvgDatasvg
Stored parsed SVG tree.
Switch
A switch that toggles a bool.
TabInfo
Information about a tab that may be used by the TabPolicy to drive the visual presentation and behaviour of its label
Tabs
A tabs widget.
TabsState
This is the current state of the tabs widget as a whole. This expands the input data to include a policy that determines how tabs are derived, and the index of the currently selected tab
TextBox
A widget that allows user text input.
ValueTextBox
A TextBox that uses a Formatter to handle formatting and validation of its data.
ViewSwitcher
A widget that switches dynamically between multiple children.
Viewport
Represents the size and position of a rectangular “viewport” into a larger area.
WidgetId
A unique identifier for a single Widget.
ZStack
A container that stacks its children on top of each other.

Enums§

Axis
An axis in visual space.
BackgroundBrush
Something that can be used as the background for a widget.
CrossAxisAlignment
The alignment of the widgets on the container’s cross (or minor) axis.
FillStrat
Strategies for inscribing a rectangle inside another rectangle.
KnobStyle
The shape of the slider knobs.
LabelText
The text for a Label.
LineBreaking
Options for handling lines that are too wide for the label.
MainAxisAlignment
Arrangement of children on the main axis.
TabsEdge
Determines where the tab bar should be placed relative to the cross axis
TabsTransition
Determines whether the tabs will have a transition animation when a new tab is selected.
TextBoxEvent
Events sent to a ValidationDelegate.

Traits§

AddTab
AddTabs is an extension to TabsPolicy. If a policy implements AddTab, then the add_tab and with_tab methods will be available on the Tabs instance.
Controller
A trait for types that modify behaviour of a child widget.
ListIter
This iterator enables writing List widget for any Data.
ScopePolicy
A policy that controls how a Scope will interact with its surrounding application data. Specifically, how to create an initial State from the input, and how to synchronise the two using a ScopeTransfer.
ScopeTransfer
A ScopeTransfer knows how to synchronise input data with its counterpart within a Scope.
TabsPolicy
A policy that determines how a Tabs instance derives its tabs from its app data.
ValidationDelegate
A type that can be registered to receive callbacks as the state of a ValueTextBox changes.
Widget
The trait implemented by all widgets.
WidgetExt
A trait that provides extra methods for combining Widgets.
WidgetWrapper
A trait for widgets that wrap a single child to expose that child for access and mutation