pub struct TextAnnotationSpan {
pub start: usize,
pub end: usize,
pub group_id: u64,
pub summary: String,
}Expand description
The main rich text widget. Construct via RichTextEditor::read_only
(view/select only) or RichTextEditor::editor (full editing).
One annotation (a comment thread) covering [start, end) of the document, in
document-absolute character offsets — the space cursors and FindMatch
speak.
The framework stays ignorant of what an annotation is: the host supplies already-resolved spans and the text to announce, and this only turns them into AccessKit nodes. That keeps a comment feature’s anchoring rules — which are application policy — out of the widget.
Fields§
§start: usize§end: usize§group_id: u64Durable identity of the annotation, so its synthetic NodeId is stable
across rebuilds and a screen reader’s cursor is not thrown out of the
thread by an unrelated edit elsewhere.
summary: StringWhat a screen reader should read: author, body, reply count, state.
Trait Implementations§
Source§impl Clone for TextAnnotationSpan
impl Clone for TextAnnotationSpan
Source§fn clone(&self) -> TextAnnotationSpan
fn clone(&self) -> TextAnnotationSpan
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TextAnnotationSpan
impl Debug for TextAnnotationSpan
Source§impl Default for TextAnnotationSpan
impl Default for TextAnnotationSpan
Source§fn default() -> TextAnnotationSpan
fn default() -> TextAnnotationSpan
impl Eq for TextAnnotationSpan
Source§impl PartialEq for TextAnnotationSpan
impl PartialEq for TextAnnotationSpan
Source§fn eq(&self, other: &TextAnnotationSpan) -> bool
fn eq(&self, other: &TextAnnotationSpan) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for TextAnnotationSpan
Auto Trait Implementations§
impl Freeze for TextAnnotationSpan
impl RefUnwindSafe for TextAnnotationSpan
impl Send for TextAnnotationSpan
impl Sync for TextAnnotationSpan
impl Unpin for TextAnnotationSpan
impl UnsafeUnpin for TextAnnotationSpan
impl UnwindSafe for TextAnnotationSpan
Blanket Implementations§
§impl<T> AnyEq for T
impl<T> AnyEq for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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<T> ErasedDestructor for Twhere
T: 'static,
§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