Trait sixtyfps_corelib::model::Model [−][src]
pub trait Model { type Data; fn row_count(&self) -> usize; fn row_data(&self, row: usize) -> Self::Data; fn attach_peer(&self, peer: ModelPeer); fn set_row_data(&self, _row: usize, _data: Self::Data) { ... } fn iter<'a>(&'a self) -> ModelIterator<'a, Self::Data>ⓘNotable traits for ModelIterator<'a, T>
impl<'a, T> Iterator for ModelIterator<'a, T> type Item = T;
where
Self: Sized, { ... } }
Expand description
A Model is providing Data for the Repeater or ListView elements of the .60
language
Associated Types
Required methods
Returns the data for a particular row. This function should be called with row < row_count()
.
fn attach_peer(&self, peer: ModelPeer)
fn attach_peer(&self, peer: ModelPeer)
Should forward to the internal ModelNotify::attach
Provided methods
fn set_row_data(&self, _row: usize, _data: Self::Data)
fn set_row_data(&self, _row: usize, _data: Self::Data)
Sets the data for a particular row. This function should be called with row < row_count()
.
If the model cannot support data changes, then it is ok to do nothing (default implementation).
If the model can update the data, it should also call row_changed on its internal ModelNotify
.
fn iter<'a>(&'a self) -> ModelIterator<'a, Self::Data>ⓘNotable traits for ModelIterator<'a, T>
impl<'a, T> Iterator for ModelIterator<'a, T> type Item = T;
where
Self: Sized,
fn iter<'a>(&'a self) -> ModelIterator<'a, Self::Data>ⓘNotable traits for ModelIterator<'a, T>
impl<'a, T> Iterator for ModelIterator<'a, T> type Item = T;
where
Self: Sized,
Returns an iterator visiting all elements of the model.