pub struct ChangeSet { /* private fields */ }Expand description
What changed between two snapshots, accumulated per subscriber.
Implementations§
Source§impl ChangeSet
impl ChangeSet
Sourcepub fn has_structure_change(&self) -> bool
pub fn has_structure_change(&self) -> bool
Returns true if rows were inserted, removed or replaced wholesale.
Sourcepub fn has_insertions_or_reset(&self) -> bool
pub fn has_insertions_or_reset(&self) -> bool
Returns true if rows were inserted or every row was replaced: the display order has to be rebuilt.
Sourcepub fn is_reset(&self) -> bool
pub fn is_reset(&self) -> bool
Returns true if every row was replaced or removed (replace_all,
clear): a new data set, not a stream of changes.
Sourcepub fn removed(&self) -> &[RowId]
pub fn removed(&self) -> &[RowId]
The ids of removed rows (empty after a reset, which removes all).
A row that fades out (HighlightPolicy::with_removal_fade) is here
at its removal, so the selection lets go of its key at once, and in
Self::faded when its fade ends.
Sourcepub fn faded(&self) -> &[RowId]
pub fn faded(&self) -> &[RowId]
The ids of fading rows the store dropped from its snapshots: their
fade ended, their key was written again, or a reset (replace_all,
clear) dropped every fading row. A view that shows fading rows
drops them from its projection. Self::removed reported them
already, at removal, so they are not a structure change.
Sourcepub fn has_parent_change(&self) -> bool
pub fn has_parent_change(&self) -> bool
Returns true if a replaced row has another
GridRow::parent_key than its previous version: a tree view
rebuilds on it. Reported even when no column changed; such a
replacement is in Self::updated, without highlight.
Sourcepub fn columns(&self) -> ColumnSet
pub fn columns(&self) -> ColumnSet
The columns whose values changed in data rows. Pinned rows do not add to it: they are not in the display order. Neither does a replacement that changes no column.
Sourcepub fn updated(&self) -> &[RowId]
pub fn updated(&self) -> &[RowId]
The ids of rows replaced by a new row or marked changed, so a view can tell whether any of them is on screen.
A replacement that changes no column is here too, without highlight
and without Self::columns: data the columns do not show, such as
a tooltip text or a style input, may have changed, so a view repaints
the row if it is on screen, and the display order needs no work. The
same Arc written again is not a replacement.
Sourcepub fn has_pinned_change(&self) -> bool
pub fn has_pinned_change(&self) -> bool
Returns true if a band of pinned rows changed: rows, order or values.
A row replaced by a new Arc is a change even when no column
changed; a band of the same Arcs in the same order is not. The
display order needs no work for it, only a repaint.
Sourcepub fn has_progress_change(&self) -> bool
pub fn has_progress_change(&self) -> bool
Returns true if the progress written through
GridWriter::set_progress changed.
Trait Implementations§
impl Eq for ChangeSet
impl StructuralPartialEq for ChangeSet
Auto Trait Implementations§
impl Freeze for ChangeSet
impl RefUnwindSafe for ChangeSet
impl Send for ChangeSet
impl Sync for ChangeSet
impl Unpin for ChangeSet
impl UnsafeUnpin for ChangeSet
impl UnwindSafe for ChangeSet
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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>
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>
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)
&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)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§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>
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§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
§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().