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
, { ... } }

A Model is providing Data for the Repeater or ListView elements of the .60 language

Associated Types

type Data[src]

The model data: A model is a set of row and each row has this data

Loading content...

Required methods

fn row_count(&self) -> usize[src]

The amount of row in the model

fn row_data(&self, row: usize) -> Self::Data[src]

Returns the data for a particular row. This function should be called with row < row_count().

fn attach_peer(&self, peer: ModelPeer)[src]

Should forward to the internal ModelNotify::attach

Loading content...

Provided methods

fn set_row_data(&self, _row: usize, _data: Self::Data)[src]

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
[src]

Returns an iterator visiting all elements of the model.

Loading content...

Implementations on Foreign Types

impl Model for usize[src]

type Data = i32

impl Model for bool[src]

type Data = ()

Loading content...

Implementors

impl<T> Model for ModelHandle<T>[src]

type Data = T

impl<T: Clone> Model for VecModel<T>[src]

type Data = T

Loading content...