pub enum EitherWidget<L, R> {
Left(L),
Right(R),
}Expand description
Retained widget for Either: the live arm’s widget, delegated to for every
pass. Keyboard broadcasts (InputEvent::Shortcut, InputEvent::Key)
reach the live arm only; the other arm does not exist.
Variants§
Trait Implementations§
Source§impl<L: Widget, R: Widget> Widget for EitherWidget<L, R>
impl<L: Widget, R: Widget> Widget for EitherWidget<L, R>
Source§fn type_name(&self) -> &'static str
fn type_name(&self) -> &'static str
Report the live arm’s name: the enum is a storage detail, never a tree element in its own right.
Source§fn as_sliver(&mut self) -> Option<&mut dyn SliverWidget>
fn as_sliver(&mut self) -> Option<&mut dyn SliverWidget>
The live arm’s sliver face: a sliver arm stays a sliver through the enum,
and a box arm keeps answering None.
Source§fn is_focusable(&self) -> bool
fn is_focusable(&self) -> bool
The live arm’s answer: the enum’s pod is the arm’s Tab stop.
Source§fn visit_focus_children(&self, visitor: &mut dyn FnMut(&ChildPod))
fn visit_focus_children(&self, visitor: &mut dyn FnMut(&ChildPod))
The live arm’s traversal children, so a narrowing arm (a navigator, an
IndexedStack) stays narrowed through the enum.
Source§fn layout(&mut self, ctx: &mut LayoutCtx<'_>, bc: &BoxConstraints) -> Size
fn layout(&mut self, ctx: &mut LayoutCtx<'_>, bc: &BoxConstraints) -> Size
Choose a size within
bc and return it. Under a render root the call
may be skipped (see ChildPod::layout_child), so the result must
depend only on bc, the context’s globals and state changed through a
pod-dirtying channel: a LAYOUT rebuild, request_layout, an unpaced
frame request, or a handled / redraw-requesting event.Source§fn paint(&mut self, ctx: &mut PaintCtx<'_>, scene: &mut dyn PaintScene)
fn paint(&mut self, ctx: &mut PaintCtx<'_>, scene: &mut dyn PaintScene)
Emit draw commands into
scene. Paint may advance animation state; it
must then call PaintCtx::request_frame until the animation rests.Source§fn event(&mut self, ctx: &mut EventCtx<'_>, event: &InputEvent) -> EventResult
fn event(&mut self, ctx: &mut EventCtx<'_>, event: &InputEvent) -> EventResult
Handle an input event and report whether it was consumed; defaults to
EventResult::Ignored. Containers forward via ChildPod::event_child.Source§fn semantics(&self, ctx: &mut SemanticsCtx)
fn semantics(&self, ctx: &mut SemanticsCtx)
Contribute accessibility node(s) after layout; defaults to none. A
container forwards via
ChildPod::semantics_child.Auto Trait Implementations§
impl<L, R> Freeze for EitherWidget<L, R>
impl<L, R> RefUnwindSafe for EitherWidget<L, R>where
L: RefUnwindSafe,
R: RefUnwindSafe,
impl<L, R> Send for EitherWidget<L, R>
impl<L, R> Sync for EitherWidget<L, R>
impl<L, R> Unpin for EitherWidget<L, R>
impl<L, R> UnsafeUnpin for EitherWidget<L, R>where
L: UnsafeUnpin,
R: UnsafeUnpin,
impl<L, R> UnwindSafe for EitherWidget<L, R>where
L: UnwindSafe,
R: UnwindSafe,
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> StorageAccess<T> for T
impl<T> StorageAccess<T> for T
Source§fn as_borrowed(&self) -> &T
fn as_borrowed(&self) -> &T
Borrows the value.
Source§fn into_taken(self) -> T
fn into_taken(self) -> T
Takes the value.