[−][src]Trait druid::Widget
The trait implemented by all widgets.
All appearance and behavior for a widget is encapsulated in an object that implements this trait.
The trait is parametrized by a type (T
) for associated data.
All trait methods are provided with access to this data, and
in the case of event
the reference is mutable, so that events
can directly update the data.
Whenever the application data changes, the framework traverses
the widget hierarchy with an update
method. The framework
needs to know whether the data has actually changed or not, which
is why T
has a Data
bound.
All the trait methods are provided with a corresponding context. The widget can request things and cause actions by calling methods on that context.
In addition, all trait methods are provided with an environment
(Env
).
Container widgets will generally not call Widget
methods directly
on their child widgets, but rather will own their widget wrapped in
a WidgetPod
, and call the corresponding method on that. The
WidgetPod
contains state and logic for these traversals. On the
other hand, particularly light-weight containers might contain their
child Widget
directly (when no layout or event flow logic is
needed), and in those cases will call these methods.
As a general pattern, container widgets will call the corresponding
WidgetPod
method on all their children. The WidgetPod
applies
logic to determine whether to recurse, as needed.
Required methods
fn event(&mut self, ctx: &mut EventCtx, event: &Event, data: &mut T, env: &Env)
Handle an event.
A number of different events (in the Event
enum) are handled in this
method call. A widget can handle these events in a number of ways:
requesting things from the EventCtx
, mutating the data, or submitting
a Command
.
fn lifecycle(
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
Handle a life cycle notification.
This method is called to notify your widget of certain special events,
(available in the LifeCycle
enum) that are generally related to
changes in the widget graph or in the state of your specific widget.
A widget is not expected to mutate the application state in response
to these events, but only to update its own internal state as required;
if a widget needs to mutate data, it can submit a Command
that will
be executed at the next opportunity.
fn update(&mut self, ctx: &mut UpdateCtx, old_data: &T, data: &T, env: &Env)
Handle a change of data.
This method is called whenever the data changes. When the appearance of
the widget depends on data, call request_paint
so that it's scheduled
for repaint.
The previous value of the data is provided in case the widget wants to compute a fine-grained delta.
fn layout(
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
Compute layout.
A leaf widget should determine its size (subject to the provided constraints) and return it.
A container widget will recursively call WidgetPod::layout
on its
child widgets, providing each of them an appropriate box constraint,
compute layout, then call set_layout_rect
on each of its children.
Finally, it should return the size of the container. The container
can recurse in any order, which can be helpful to, for example, compute
the size of non-flex widgets first, to determine the amount of space
available for the flex widgets.
For efficiency, a container should only invoke layout of a child widget once, though there is nothing enforcing this.
The layout strategy is strongly inspired by Flutter.
fn paint(&mut self, ctx: &mut PaintCtx, data: &T, env: &Env)
Paint the widget appearance.
The PaintCtx
derefs to something that implements the RenderContext
trait, which exposes various methods that the widget can use to paint
its appearance.
Container widgets can paint a background before recursing to their children, or annotations (for example, scrollbars) by painting afterwards. In addition, they can apply masks and transforms on the render context, which is especially useful for scrolling.
Implementations on Foreign Types
impl<T> Widget<T> for Box<dyn Widget<T>>
[src]
fn event(&mut self, ctx: &mut EventCtx, event: &Event, data: &mut T, env: &Env)
[src]
fn lifecycle(
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
[src]
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
fn update(&mut self, ctx: &mut UpdateCtx, old_data: &T, data: &T, env: &Env)
[src]
fn layout(
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
[src]
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
fn paint(&mut self, ctx: &mut PaintCtx, data: &T, env: &Env)
[src]
fn id(&self) -> Option<WidgetId>
[src]
fn type_name(&self) -> &'static str
[src]
Implementors
impl Widget<bool> for Checkbox
[src]
fn event(
&mut self,
ctx: &mut EventCtx,
event: &Event,
data: &mut bool,
_env: &Env
)
[src]
&mut self,
ctx: &mut EventCtx,
event: &Event,
data: &mut bool,
_env: &Env
)
fn lifecycle(
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
_data: &bool,
_env: &Env
)
[src]
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
_data: &bool,
_env: &Env
)
fn update(
&mut self,
ctx: &mut UpdateCtx,
_old_data: &bool,
_data: &bool,
_env: &Env
)
[src]
&mut self,
ctx: &mut UpdateCtx,
_old_data: &bool,
_data: &bool,
_env: &Env
)
fn layout(
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &bool,
env: &Env
) -> Size
[src]
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &bool,
env: &Env
) -> Size
fn paint(&mut self, ctx: &mut PaintCtx, data: &bool, env: &Env)
[src]
impl Widget<bool> for Switch
[src]
fn event(
&mut self,
ctx: &mut EventCtx,
event: &Event,
data: &mut bool,
env: &Env
)
[src]
&mut self,
ctx: &mut EventCtx,
event: &Event,
data: &mut bool,
env: &Env
)
fn lifecycle(
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &bool,
env: &Env
)
[src]
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &bool,
env: &Env
)
fn update(
&mut self,
ctx: &mut UpdateCtx,
old_data: &bool,
data: &bool,
_env: &Env
)
[src]
&mut self,
ctx: &mut UpdateCtx,
old_data: &bool,
data: &bool,
_env: &Env
)
fn layout(
&mut self,
_layout_ctx: &mut LayoutCtx,
bc: &BoxConstraints,
_data: &bool,
env: &Env
) -> Size
[src]
&mut self,
_layout_ctx: &mut LayoutCtx,
bc: &BoxConstraints,
_data: &bool,
env: &Env
) -> Size
fn paint(&mut self, ctx: &mut PaintCtx, data: &bool, env: &Env)
[src]
impl Widget<f64> for ProgressBar
[src]
fn event(
&mut self,
_ctx: &mut EventCtx,
_event: &Event,
_data: &mut f64,
_env: &Env
)
[src]
&mut self,
_ctx: &mut EventCtx,
_event: &Event,
_data: &mut f64,
_env: &Env
)
fn lifecycle(
&mut self,
_ctx: &mut LifeCycleCtx,
_event: &LifeCycle,
_data: &f64,
_env: &Env
)
[src]
&mut self,
_ctx: &mut LifeCycleCtx,
_event: &LifeCycle,
_data: &f64,
_env: &Env
)
fn update(
&mut self,
ctx: &mut UpdateCtx,
_old_data: &f64,
_data: &f64,
_env: &Env
)
[src]
&mut self,
ctx: &mut UpdateCtx,
_old_data: &f64,
_data: &f64,
_env: &Env
)
fn layout(
&mut self,
_layout_ctx: &mut LayoutCtx,
bc: &BoxConstraints,
_data: &f64,
env: &Env
) -> Size
[src]
&mut self,
_layout_ctx: &mut LayoutCtx,
bc: &BoxConstraints,
_data: &f64,
env: &Env
) -> Size
fn paint(&mut self, ctx: &mut PaintCtx, data: &f64, env: &Env)
[src]
impl Widget<f64> for Slider
[src]
fn event(
&mut self,
ctx: &mut EventCtx,
event: &Event,
data: &mut f64,
env: &Env
)
[src]
&mut self,
ctx: &mut EventCtx,
event: &Event,
data: &mut f64,
env: &Env
)
fn lifecycle(
&mut self,
_ctx: &mut LifeCycleCtx,
_event: &LifeCycle,
_data: &f64,
_env: &Env
)
[src]
&mut self,
_ctx: &mut LifeCycleCtx,
_event: &LifeCycle,
_data: &f64,
_env: &Env
)
fn update(
&mut self,
ctx: &mut UpdateCtx,
_old_data: &f64,
_data: &f64,
_env: &Env
)
[src]
&mut self,
ctx: &mut UpdateCtx,
_old_data: &f64,
_data: &f64,
_env: &Env
)
fn layout(
&mut self,
_layout_ctx: &mut LayoutCtx,
bc: &BoxConstraints,
_data: &f64,
env: &Env
) -> Size
[src]
&mut self,
_layout_ctx: &mut LayoutCtx,
bc: &BoxConstraints,
_data: &f64,
env: &Env
) -> Size
fn paint(&mut self, ctx: &mut PaintCtx, data: &f64, env: &Env)
[src]
impl Widget<f64> for Stepper
[src]
fn paint(&mut self, ctx: &mut PaintCtx, _data: &f64, env: &Env)
[src]
fn layout(
&mut self,
_layout_ctx: &mut LayoutCtx,
bc: &BoxConstraints,
_data: &f64,
env: &Env
) -> Size
[src]
&mut self,
_layout_ctx: &mut LayoutCtx,
bc: &BoxConstraints,
_data: &f64,
env: &Env
) -> Size
fn event(
&mut self,
ctx: &mut EventCtx,
event: &Event,
data: &mut f64,
env: &Env
)
[src]
&mut self,
ctx: &mut EventCtx,
event: &Event,
data: &mut f64,
env: &Env
)
fn lifecycle(
&mut self,
_ctx: &mut LifeCycleCtx,
_event: &LifeCycle,
_data: &f64,
_env: &Env
)
[src]
&mut self,
_ctx: &mut LifeCycleCtx,
_event: &LifeCycle,
_data: &f64,
_env: &Env
)
fn update(
&mut self,
ctx: &mut UpdateCtx,
old_data: &f64,
data: &f64,
_env: &Env
)
[src]
&mut self,
ctx: &mut UpdateCtx,
old_data: &f64,
data: &f64,
_env: &Env
)
impl Widget<String> for TextBox
[src]
fn event(
&mut self,
ctx: &mut EventCtx,
event: &Event,
data: &mut String,
env: &Env
)
[src]
&mut self,
ctx: &mut EventCtx,
event: &Event,
data: &mut String,
env: &Env
)
fn lifecycle(
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
_data: &String,
_env: &Env
)
[src]
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
_data: &String,
_env: &Env
)
fn update(
&mut self,
ctx: &mut UpdateCtx,
_old_data: &String,
_data: &String,
_env: &Env
)
[src]
&mut self,
ctx: &mut UpdateCtx,
_old_data: &String,
_data: &String,
_env: &Env
)
fn layout(
&mut self,
_layout_ctx: &mut LayoutCtx,
bc: &BoxConstraints,
_data: &String,
env: &Env
) -> Size
[src]
&mut self,
_layout_ctx: &mut LayoutCtx,
bc: &BoxConstraints,
_data: &String,
env: &Env
) -> Size
fn paint(&mut self, ctx: &mut PaintCtx, data: &String, env: &Env)
[src]
impl<C: Data, T: ListIter<C>> Widget<T> for List<C>
[src]
fn event(&mut self, ctx: &mut EventCtx, event: &Event, data: &mut T, env: &Env)
[src]
fn lifecycle(
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
[src]
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
fn update(&mut self, ctx: &mut UpdateCtx, _old_data: &T, data: &T, env: &Env)
[src]
fn layout(
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
[src]
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
fn paint(&mut self, ctx: &mut PaintCtx, data: &T, env: &Env)
[src]
impl<T, U, L, W> Widget<T> for LensWrap<U, L, W> where
T: Data,
U: Data,
L: Lens<T, U>,
W: Widget<U>,
[src]
T: Data,
U: Data,
L: Lens<T, U>,
W: Widget<U>,
fn event(&mut self, ctx: &mut EventCtx, event: &Event, data: &mut T, env: &Env)
[src]
fn lifecycle(
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
[src]
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
fn update(&mut self, ctx: &mut UpdateCtx, old_data: &T, data: &T, env: &Env)
[src]
fn layout(
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
[src]
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
fn paint(&mut self, ctx: &mut PaintCtx, data: &T, env: &Env)
[src]
fn id(&self) -> Option<WidgetId>
[src]
impl<T, W: Widget<T>, C: Controller<T, W>> Widget<T> for ControllerHost<W, C>
[src]
fn event(&mut self, ctx: &mut EventCtx, event: &Event, data: &mut T, env: &Env)
[src]
fn lifecycle(
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
[src]
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
fn update(&mut self, ctx: &mut UpdateCtx, old_data: &T, data: &T, env: &Env)
[src]
fn layout(
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
[src]
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
fn paint(&mut self, ctx: &mut PaintCtx, data: &T, env: &Env)
[src]
fn id(&self) -> Option<WidgetId>
[src]
impl<T: Data + PartialEq> Widget<T> for Radio<T>
[src]
fn event(&mut self, ctx: &mut EventCtx, event: &Event, data: &mut T, _env: &Env)
[src]
fn lifecycle(
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
_data: &T,
_env: &Env
)
[src]
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
_data: &T,
_env: &Env
)
fn update(&mut self, ctx: &mut UpdateCtx, _old_data: &T, _data: &T, _env: &Env)
[src]
fn layout(
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
[src]
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
fn paint(&mut self, ctx: &mut PaintCtx, data: &T, env: &Env)
[src]
impl<T: Data> Widget<T> for Align<T>
[src]
fn event(&mut self, ctx: &mut EventCtx, event: &Event, data: &mut T, env: &Env)
[src]
fn lifecycle(
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
[src]
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
fn update(&mut self, ctx: &mut UpdateCtx, _old_data: &T, data: &T, env: &Env)
[src]
fn layout(
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
[src]
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
fn paint(&mut self, ctx: &mut PaintCtx, data: &T, env: &Env)
[src]
impl<T: Data> Widget<T> for Button<T>
[src]
fn event(
&mut self,
ctx: &mut EventCtx,
event: &Event,
_data: &mut T,
_env: &Env
)
[src]
&mut self,
ctx: &mut EventCtx,
event: &Event,
_data: &mut T,
_env: &Env
)
fn lifecycle(
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
[src]
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
fn update(&mut self, ctx: &mut UpdateCtx, old_data: &T, data: &T, env: &Env)
[src]
fn layout(
&mut self,
layout_ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
[src]
&mut self,
layout_ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
fn paint(&mut self, ctx: &mut PaintCtx, data: &T, env: &Env)
[src]
impl<T: Data> Widget<T> for Container<T>
[src]
fn event(&mut self, ctx: &mut EventCtx, event: &Event, data: &mut T, env: &Env)
[src]
fn lifecycle(
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
[src]
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
fn update(&mut self, ctx: &mut UpdateCtx, old_data: &T, data: &T, env: &Env)
[src]
fn layout(
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
[src]
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
fn paint(&mut self, ctx: &mut PaintCtx, data: &T, env: &Env)
[src]
impl<T: Data> Widget<T> for Either<T>
[src]
fn event(&mut self, ctx: &mut EventCtx, event: &Event, data: &mut T, env: &Env)
[src]
fn lifecycle(
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
[src]
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
fn update(&mut self, ctx: &mut UpdateCtx, _old_data: &T, data: &T, env: &Env)
[src]
fn layout(
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
[src]
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
fn paint(&mut self, ctx: &mut PaintCtx, data: &T, env: &Env)
[src]
impl<T: Data> Widget<T> for Flex<T>
[src]
fn event(&mut self, ctx: &mut EventCtx, event: &Event, data: &mut T, env: &Env)
[src]
fn lifecycle(
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
[src]
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
fn update(&mut self, ctx: &mut UpdateCtx, _old_data: &T, data: &T, env: &Env)
[src]
fn layout(
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
[src]
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
fn paint(&mut self, ctx: &mut PaintCtx, data: &T, env: &Env)
[src]
impl<T: Data> Widget<T> for Label<T>
[src]
fn event(
&mut self,
_ctx: &mut EventCtx,
_event: &Event,
_data: &mut T,
_env: &Env
)
[src]
&mut self,
_ctx: &mut EventCtx,
_event: &Event,
_data: &mut T,
_env: &Env
)
fn lifecycle(
&mut self,
_ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
[src]
&mut self,
_ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
fn update(&mut self, ctx: &mut UpdateCtx, old_data: &T, data: &T, env: &Env)
[src]
fn layout(
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
_data: &T,
env: &Env
) -> Size
[src]
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
_data: &T,
env: &Env
) -> Size
fn paint(&mut self, ctx: &mut PaintCtx, _data: &T, env: &Env)
[src]
impl<T: Data> Widget<T> for Padding<T>
[src]
fn event(&mut self, ctx: &mut EventCtx, event: &Event, data: &mut T, env: &Env)
[src]
fn lifecycle(
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
[src]
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
fn update(&mut self, ctx: &mut UpdateCtx, _old_data: &T, data: &T, env: &Env)
[src]
fn layout(
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
[src]
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
fn paint(&mut self, ctx: &mut PaintCtx, data: &T, env: &Env)
[src]
impl<T: Data> Widget<T> for Painter<T>
[src]
fn event(&mut self, _: &mut EventCtx, _: &Event, _: &mut T, _: &Env)
[src]
fn lifecycle(&mut self, _: &mut LifeCycleCtx, _: &LifeCycle, _: &T, _: &Env)
[src]
fn update(&mut self, ctx: &mut UpdateCtx, old: &T, new: &T, _: &Env)
[src]
fn layout(
&mut self,
_ctx: &mut LayoutCtx,
bc: &BoxConstraints,
_: &T,
_: &Env
) -> Size
[src]
&mut self,
_ctx: &mut LayoutCtx,
bc: &BoxConstraints,
_: &T,
_: &Env
) -> Size
fn paint(&mut self, ctx: &mut PaintCtx, data: &T, env: &Env)
[src]
impl<T: Data> Widget<T> for SizedBox<T>
[src]
fn event(&mut self, ctx: &mut EventCtx, event: &Event, data: &mut T, env: &Env)
[src]
fn lifecycle(
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
[src]
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
fn update(&mut self, ctx: &mut UpdateCtx, old_data: &T, data: &T, env: &Env)
[src]
fn layout(
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
[src]
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
fn paint(&mut self, ctx: &mut PaintCtx, data: &T, env: &Env)
[src]
fn id(&self) -> Option<WidgetId>
[src]
impl<T: Data> Widget<T> for Spinner
[src]
fn event(
&mut self,
_ctx: &mut EventCtx,
_event: &Event,
_data: &mut T,
_env: &Env
)
[src]
&mut self,
_ctx: &mut EventCtx,
_event: &Event,
_data: &mut T,
_env: &Env
)
fn lifecycle(
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
_data: &T,
_env: &Env
)
[src]
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
_data: &T,
_env: &Env
)
fn update(&mut self, _ctx: &mut UpdateCtx, _old_data: &T, _data: &T, _env: &Env)
[src]
fn layout(
&mut self,
_layout_ctx: &mut LayoutCtx,
bc: &BoxConstraints,
_data: &T,
env: &Env
) -> Size
[src]
&mut self,
_layout_ctx: &mut LayoutCtx,
bc: &BoxConstraints,
_data: &T,
env: &Env
) -> Size
fn paint(&mut self, ctx: &mut PaintCtx, _data: &T, env: &Env)
[src]
impl<T: Data> Widget<T> for Split<T>
[src]
fn event(&mut self, ctx: &mut EventCtx, event: &Event, data: &mut T, env: &Env)
[src]
fn lifecycle(
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
[src]
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
fn update(&mut self, ctx: &mut UpdateCtx, _old_data: &T, data: &T, env: &Env)
[src]
fn layout(
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
[src]
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
fn paint(&mut self, ctx: &mut PaintCtx, data: &T, env: &Env)
[src]
impl<T: Data, U: PartialEq> Widget<T> for ViewSwitcher<T, U>
[src]
fn event(&mut self, ctx: &mut EventCtx, event: &Event, data: &mut T, env: &Env)
[src]
fn lifecycle(
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
[src]
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
fn update(&mut self, ctx: &mut UpdateCtx, _old_data: &T, data: &T, env: &Env)
[src]
fn layout(
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
[src]
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
fn paint(&mut self, ctx: &mut PaintCtx, data: &T, env: &Env)
[src]
impl<T: Data, W: Widget<T>> Widget<T> for EnvScope<T, W>
[src]
fn event(&mut self, ctx: &mut EventCtx, event: &Event, data: &mut T, env: &Env)
[src]
fn lifecycle(
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
[src]
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
fn update(&mut self, ctx: &mut UpdateCtx, old_data: &T, data: &T, env: &Env)
[src]
fn layout(
&mut self,
layout_ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
[src]
&mut self,
layout_ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
fn paint(&mut self, ctx: &mut PaintCtx, data: &T, env: &Env)
[src]
fn id(&self) -> Option<WidgetId>
[src]
impl<T: Data, W: Widget<T>> Widget<T> for IdentityWrapper<W>
[src]
fn event(&mut self, ctx: &mut EventCtx, event: &Event, data: &mut T, env: &Env)
[src]
fn lifecycle(
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
[src]
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
fn update(&mut self, ctx: &mut UpdateCtx, old_data: &T, data: &T, env: &Env)
[src]
fn layout(
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
[src]
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
fn paint(&mut self, ctx: &mut PaintCtx, data: &T, env: &Env)
[src]
fn id(&self) -> Option<WidgetId>
[src]
impl<T: Data, W: Widget<T>> Widget<T> for Scroll<T, W>
[src]
fn event(&mut self, ctx: &mut EventCtx, event: &Event, data: &mut T, env: &Env)
[src]
fn lifecycle(
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
[src]
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &T,
env: &Env
)
fn update(&mut self, ctx: &mut UpdateCtx, _old_data: &T, data: &T, env: &Env)
[src]
fn layout(
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
[src]
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
fn paint(&mut self, ctx: &mut PaintCtx, data: &T, env: &Env)
[src]
impl<T: FromStr + Display + Data, W: Widget<String>> Widget<Option<T>> for Parse<W>
[src]
fn event(
&mut self,
ctx: &mut EventCtx,
event: &Event,
data: &mut Option<T>,
env: &Env
)
[src]
&mut self,
ctx: &mut EventCtx,
event: &Event,
data: &mut Option<T>,
env: &Env
)
fn lifecycle(
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &Option<T>,
env: &Env
)
[src]
&mut self,
ctx: &mut LifeCycleCtx,
event: &LifeCycle,
data: &Option<T>,
env: &Env
)
fn update(
&mut self,
ctx: &mut UpdateCtx,
_old_data: &Option<T>,
data: &Option<T>,
env: &Env
)
[src]
&mut self,
ctx: &mut UpdateCtx,
_old_data: &Option<T>,
data: &Option<T>,
env: &Env
)
fn layout(
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
_data: &Option<T>,
env: &Env
) -> Size
[src]
&mut self,
ctx: &mut LayoutCtx,
bc: &BoxConstraints,
_data: &Option<T>,
env: &Env
) -> Size