Struct DescribedRows
pub struct DescribedRows { /* private fields */ }Expand description
The items of a described list: read from a host that renders them as they are shown, or given whole.
Trait Implementations§
§impl Default for DescribedRows
impl Default for DescribedRows
§fn default() -> DescribedRows
fn default() -> DescribedRows
Returns the “default value” for a type. Read more
§impl ListModel for DescribedRows
impl ListModel for DescribedRows
§fn opens_in_place(&self, index: usize) -> bool
fn opens_in_place(&self, index: usize) -> bool
A row whose item brought a document of its own opens where it stands: choosing it shows the document under the row, in the list, rather than opening the item elsewhere.
§fn group_at(&self, index: usize) -> Option<RowGroup>
fn group_at(&self, index: usize) -> Option<RowGroup>
What the row is grouped by: its item’s heading, the list’s tail for an item done with, or the list’s heading for the items that name none.
§fn tree_at(&self, index: usize) -> Option<TreeRow<String>>
fn tree_at(&self, index: usize) -> Option<TreeRow<String>>
What the row stands as in a tree: the item it is a subtask of, when that item is one of the list’s rows, and the count of its subtasks.
§fn discloses(&self) -> bool
fn discloses(&self) -> bool
Whether any row stands under a heading, or was given a parent: the list keeps a disclosure gutter for its headings’ and parents’ chevrons then.
type Key = String
fn len(&self) -> usize
fn key_at(&self, index: usize) -> Option<String>
fn index_of(&self, key: &String) -> Option<usize>
§fn request_range(&mut self, range: Range<usize>)
fn request_range(&mut self, range: Range<usize>)
Opportunity to enqueue work for the visible window plus overscan.
§fn poll_changes(&mut self) -> Vec<ListModelChange<String>>
fn poll_changes(&mut self) -> Vec<ListModelChange<String>>
Drain specific model changes. Prefer this to
Self::poll_changed
when an asynchronous source can identify its batch: stable delegates
then survive structural changes and only named content rows rebuild.§fn needs_poll(&self) -> bool
fn needs_poll(&self) -> bool
Keep scheduling frames while
Self::poll_changed or
Self::poll_changes may observe an in-flight asynchronous source.§fn label(&self, index: usize) -> Option<String>
fn label(&self, index: usize) -> Option<String>
The name a person reads row
index by, which typing its first
letters in the focused list moves to (crate::type_ahead). None
for a row without one, or a model that names no rows.§fn key_presenting(&self, id: &str) -> Option<String>
fn key_presenting(&self, id: &str) -> Option<String>
The key of the row showing the resource
id, when the model can say: a host that
renders rows as they show offers this (crate::component::RowSource).fn is_empty(&self) -> bool
§fn row_state(&self, _index: usize) -> Arrival<(), &str>
fn row_state(&self, _index: usize) -> Arrival<(), &str>
Where a logical row’s data stands:
Arrival::Pending (saying where
it comes from), ready, or failed with the reason. A paged model keeps
stable keys and geometry while its rows arrive; the list reserves a
pending row’s slot and paints its placeholder there
(crate::widget::ArrivingRows), and builds the row’s delegate only
once it is ready.§fn can_retry(&self, _index: usize) -> bool
fn can_retry(&self, _index: usize) -> bool
Whether row
index, failed, can be asked for again: its failure
then offers a retry, which calls Self::retry.§fn poll_changed(&mut self) -> bool
fn poll_changed(&mut self) -> bool
Drain a model-owned invalidation wakeup. Return true after logical
order, count, key, or row-state changes. Use
VirtualList::invalidate_rows as well when ready delegate content
changed without changing state.§fn accepts_children(&self, _index: usize) -> bool
fn accepts_children(&self, _index: usize) -> bool
Whether the row
index takes other rows as its subtasks: a tree’s drag offers a drop
into it (DropPlacement::Inside), and the keyboard indents a row into it. false
for a leaf, or a model that holds no tree.§fn renames(&self, _index: usize) -> bool
fn renames(&self, _index: usize) -> bool
Whether the row
index can be renamed in place (VirtualList::on_rename): F2, a
double click and VirtualList::begin_rename open a field only over a row that does.§fn has_subtasks(&self, _index: usize) -> bool
fn has_subtasks(&self, _index: usize) -> bool
Whether the row
index has subtasks to disclose, whether or not any of them stands in
the list: a folder read when it opens shows the disclosure that reads it. false for
a leaf, or a model that holds no tree.Auto Trait Implementations§
impl Freeze for DescribedRows
impl !RefUnwindSafe for DescribedRows
impl !Send for DescribedRows
impl !Sync for DescribedRows
impl Unpin for DescribedRows
impl UnsafeUnpin for DescribedRows
impl !UnwindSafe for DescribedRows
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
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.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
Converts
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§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
The none-equivalent value.