Skip to main content

SliverListWidget

Struct SliverListWidget 

Source
pub struct SliverListWidget { /* private fields */ }
Expand description

The retained widget for a SliverListView: the materialised rows and their identities, the parked keep-alive rows, the measured extents, the anchor, and the near-edge state.

Implementations§

Source§

impl SliverListWidget

Source

pub fn window(&self) -> &[usize]

The item indices currently materialised, ascending.

Source

pub fn item_count(&self) -> usize

How many items the list holds.

Source

pub fn measured_count(&self) -> usize

How many rows have a cached measured extent.

Source

pub fn kept_alive_count(&self) -> usize

How many rows are parked, kept alive outside the window.

Source

pub fn scroll_corrections(&self) -> u64

How many scroll-offset corrections this list has reported to its viewport (the module docs’ Corrections through the viewport).

Trait Implementations§

Source§

impl SliverWidget for SliverListWidget

Source§

fn layout_sliver( &mut self, ctx: &mut LayoutCtx<'_>, sc: &SliverConstraints, ) -> SliverGeometry

Lay the sliver out under sc and report its geometry, which must satisfy SliverGeometry::debug_assert_valid against sc.
Source§

impl Widget for SliverListWidget

Source§

fn layout(&mut self, ctx: &mut LayoutCtx<'_>, bc: &BoxConstraints) -> Size

Outside a viewport the list lays out as if it were the only sliver of a viewport bc.max() long, scrolled to its start (the fixed-extent list’s rule).

Source§

fn event(&mut self, ctx: &mut EventCtx<'_>, event: &InputEvent) -> EventResult

Delivers a near-edge fire observed at layout, then routes the event to the materialised rows (parked rows receive nothing).

Source§

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 semantics(&self, ctx: &mut SemanticsCtx)

Contribute accessibility node(s) after layout; defaults to none. A container forwards via ChildPod::semantics_child.
Source§

fn as_sliver(&mut self) -> Option<&mut dyn SliverWidget>

This widget as a sliver (crate::sliver), if it speaks that protocol. Defaults to None; transparent wrappers forward it.
Source§

fn visit_children(&self, visitor: &mut dyn FnMut(&ChildPod))

Visit this widget’s owned ChildPods in paint order, for read-only tooling; defaults to none and must not mutate pass state.
Source§

fn type_name(&self) -> &'static str

This widget’s concrete type name, for diagnostics only (docs/LIMITATIONS.md focus-wrapper-erasure-swap-blind); override only in a transparent wrapper.
Source§

fn is_focusable(&self) -> bool

Whether keyboard traversal (Tab / Shift+Tab at the root) may stop on this widget’s pod.
Source§

fn visit_focus_children(&self, visitor: &mut dyn FnMut(&ChildPod))

Visit the children traversal may enter, in focus order; defaults to Widget::visit_children. A container showing only some children narrows it.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> StorageAccess<T> for T

Source§

fn as_borrowed(&self) -> &T

Borrows the value.
Source§

fn into_taken(self) -> T

Takes the value.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.