pub struct SelectionAppBarView<State: 'static> { /* private fields */ }Expand description
A declarative selection-aware app bar: idle content, swapping to a
contextual toolbar while selected is non-empty. See the module
docs’ Contextual bar section.
Implementations§
Source§impl<State: 'static> SelectionAppBarView<State>
impl<State: 'static> SelectionAppBarView<State>
Sourcepub fn actions<M>(self, actions: impl ViewSeq<State, M>) -> Self
pub fn actions<M>(self, actions: impl ViewSeq<State, M>) -> Self
Attach contextual trailing action slots, in reading order
(M3ESelectionAppBar.actions).
Sourcepub fn show_select_all(self, show: bool) -> Self
pub fn show_select_all(self, show: bool) -> Self
Whether to show the select-all row in the contextual toolbar.
Defaults to true.
Sourcepub fn select_all_label(self, label: impl Into<String>) -> Self
pub fn select_all_label(self, label: impl Into<String>) -> Self
Override the select-all row’s label. Defaults to "Select all".
Sourcepub fn on_all_selected<F: Fn(&mut State, bool) + 'static>(
self,
on_all_selected: F,
) -> Self
pub fn on_all_selected<F: Fn(&mut State, bool) + 'static>( self, on_all_selected: F, ) -> Self
Fire when the select-all row is toggled — true means the app should
adopt select_all(item_count), false means cleared()
(M3ESelectionAppBar.onAllSelected). Absent by default: toggling
select-all with no callback set is a no-op.
Sourcepub fn safe_area(self, enabled: bool) -> Self
pub fn safe_area(self, enabled: bool) -> Self
Whether the contextual branch consumes the top, left and right window
insets itself (default true), exactly as an idle crate::app_bar
or crate::search_app_bar does by default — see the module
docs’ Contextual bar section. The idle view is opaque here, so
this setting cannot be read off it: a caller that passes
.safe_area(false) to its idle bar passes it here too, keeping both
branches at the same height and offsets. It never affects the idle
branch, which lays out (and insets) on its own terms.
Trait Implementations§
Source§impl<State: 'static> View<State> for SelectionAppBarView<State>
impl<State: 'static> View<State> for SelectionAppBarView<State>
Source§type Element = SelectionAppBarWidget
type Element = SelectionAppBarWidget
Source§fn build(&self, ctx: &mut BuildCtx<'_>) -> SelectionAppBarWidget
fn build(&self, ctx: &mut BuildCtx<'_>) -> SelectionAppBarWidget
Source§fn rebuild(
&self,
prev: &Self,
element: &mut SelectionAppBarWidget,
ctx: &mut BuildCtx<'_>,
) -> ChangeFlags
fn rebuild( &self, prev: &Self, element: &mut SelectionAppBarWidget, ctx: &mut BuildCtx<'_>, ) -> ChangeFlags
prev (the previous view of the same type) against the live
element, mutating it in place and reporting what changed.Auto Trait Implementations§
impl<State> !RefUnwindSafe for SelectionAppBarView<State>
impl<State> !Send for SelectionAppBarView<State>
impl<State> !Sync for SelectionAppBarView<State>
impl<State> !UnwindSafe for SelectionAppBarView<State>
impl<State> Freeze for SelectionAppBarView<State>
impl<State> Unpin for SelectionAppBarView<State>
impl<State> UnsafeUnpin for SelectionAppBarView<State>where
AnyView<State>: UnsafeUnpin,
Vec<AnyView<State>>: UnsafeUnpin,
Rc<dyn Fn(&mut State)>: UnsafeUnpin,
Option<Rc<dyn Fn(&mut State, bool)>>: UnsafeUnpin,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> StorageAccess<T> for T
impl<T> StorageAccess<T> for T
Source§fn as_borrowed(&self) -> &T
fn as_borrowed(&self) -> &T
Source§fn into_taken(self) -> T
fn into_taken(self) -> T
Source§impl<State, V> ViewSeq<State, One> for Vwhere
State: 'static,
V: View<State>,
impl<State, V> ViewSeq<State, One> for Vwhere
State: 'static,
V: View<State>,
Source§fn extend_views(self, out: &mut Vec<AnyView<State>>)
fn extend_views(self, out: &mut Vec<AnyView<State>>)
out — erasing each
with AnyView::new (a no-op for an element already an AnyView).