pub struct VirtualList<'a> { /* private fields */ }Expand description
A virtualized list. See the module docs.
Implementations§
Source§impl<'a> VirtualList<'a>
impl<'a> VirtualList<'a>
pub fn new(id: &'a str, rows: usize, heights: RowHeights<'a>) -> Self
Sourcepub fn fling(self, on: bool) -> Self
pub fn fling(self, on: bool) -> Self
Drag the list to scroll it (off by default): let go while moving and it keeps going, then eases to rest; pulled past either end it stretches with rubber-band resistance and springs back. Reduced motion keeps the drag but drops the fling.
Sourcepub fn label(self, text: &'a str) -> Self
pub fn label(self, text: &'a str) -> Self
The name a screen reader announces for the list (a human name, not the automation id).
Sourcepub fn changed_rows(self, rows: &'a [usize]) -> Self
pub fn changed_rows(self, rows: &'a [usize]) -> Self
Rows whose height changed since the last frame, with RowHeights::Variable: only these
are measured again (O(log rows) each) while the revision and row count stay the same.
Sourcepub fn selected(self, row: Option<usize>) -> Self
pub fn selected(self, row: Option<usize>) -> Self
The selected (cursor) row: highlighted and moved by the keyboard.
Sourcepub fn is_selected(self, f: &'a dyn Fn(usize) -> bool) -> Self
pub fn is_selected(self, f: &'a dyn Fn(usize) -> bool) -> Self
Highlight several rows (multi-selection); called for visible rows only.
pub fn stripes(self, yes: bool) -> Self
pub fn max_height(self, h: f32) -> Self
Sourcepub fn row_label(self, f: &'a dyn Fn(usize) -> &'a str) -> Self
pub fn row_label(self, f: &'a dyn Fn(usize) -> &'a str) -> Self
Accessible/automation label of a row (visible rows only): the screen reader’s name for it.
Sourcepub fn type_ahead(self, text: &'a dyn Fn(usize) -> &'a str) -> Self
pub fn type_ahead(self, text: &'a dyn Fn(usize) -> &'a str) -> Self
Type-ahead: letters typed while the list has the focus, within TYPE_AHEAD_SECS of
each other, move the cursor to the next row whose text starts with them (ignoring case).
text(row) is called only on a keystroke, from the cursor on.
Sourcepub fn selection(self, selection: &'a mut Selection) -> Self
pub fn selection(self, selection: &'a mut Selection) -> Self
Multi-selection owned by the app: click, Shift-click and Shift+arrows, ⌘/Ctrl-click and
⌘A update it in place. Its cursor replaces selected; rows from
is_selected still show as selected.
pub fn show(self, ui: &mut Ui, row: impl FnMut(&mut Ui, Row)) -> ListResponse
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for VirtualList<'a>
impl<'a> !Send for VirtualList<'a>
impl<'a> !Sync for VirtualList<'a>
impl<'a> !UnwindSafe for VirtualList<'a>
impl<'a> Forget for VirtualList<'a>
impl<'a> Freeze for VirtualList<'a>
impl<'a> Move for VirtualList<'a>
impl<'a> Unpin for VirtualList<'a>
impl<'a> UnsafeUnpin for VirtualList<'a>
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more