Struct i_slint_core::model::ModelRc
source · pub struct ModelRc<T>(_);Expand description
A Reference counted Model.
The ModelRc struct holds something that implements the Model trait.
This is used in for expressions in the .slint language.
Array properties in the .slint language are holding a ModelRc.
An empty model can be constructed with ModelRc::default().
Use ModelRc::new() To construct a ModelRc from something that implements the
Model trait.
It is also possible to use the From trait to convert from Rc<dyn Model>.
Implementations§
Trait Implementations§
source§impl<T> Model for ModelRc<T>
impl<T> Model for ModelRc<T>
source§fn row_data(&self, row: usize) -> Option<Self::Data>
fn row_data(&self, row: usize) -> Option<Self::Data>
Returns the data for a particular row. This function should be called with
row < row_count(). Read moresource§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. Read more
source§fn model_tracker(&self) -> &dyn ModelTracker
fn model_tracker(&self) -> &dyn ModelTracker
The implementation should return a reference to its
ModelNotify field. Read moreAuto Trait Implementations§
impl<T> !RefUnwindSafe for ModelRc<T>
impl<T> !Send for ModelRc<T>
impl<T> !Sync for ModelRc<T>
impl<T> Unpin for ModelRc<T>
impl<T> !UnwindSafe for ModelRc<T>
Blanket Implementations§
source§impl<T> ModelExt for Twhere
T: Model,
impl<T> ModelExt for Twhere
T: Model,
source§fn row_data_tracked(&self, row: usize) -> Option<Self::Data>
fn row_data_tracked(&self, row: usize) -> Option<Self::Data>
Convenience function that calls
ModelTracker::track_row_data_changes
before returning Model::row_data. Read moresource§fn map<F, U>(self, map_function: F) -> MapModel<Self, F>where
Self: Sized + 'static,
F: Fn(Self::Data) -> U + 'static,
fn map<F, U>(self, map_function: F) -> MapModel<Self, F>where
Self: Sized + 'static,
F: Fn(Self::Data) -> U + 'static,
Returns a new Model where all elements are mapped by the function
map_function.
This is a shortcut for MapModel::new(). Read moresource§fn filter<F>(self, filter_function: F) -> FilterModel<Self, F>where
Self: Sized + 'static,
F: Fn(&Self::Data) -> bool + 'static,
fn filter<F>(self, filter_function: F) -> FilterModel<Self, F>where
Self: Sized + 'static,
F: Fn(&Self::Data) -> bool + 'static,
Returns a new Model where the elements are filtered by the function
filter_function.
This is a shortcut for FilterModel::new(). Read more