#[repr(transparent)]pub struct TextMark { /* private fields */ }Expand description
You may wish to begin by reading the [text widget conceptual overview][TextWidget] which gives an overview of all the objects and data types related to the text widget and how they work together.
A TextMark is like a bookmark in a text buffer; it preserves a position in
the text. You can convert the mark to an iterator using
TextBufferExt::iter_at_mark(). Unlike iterators, marks remain valid across
buffer mutations, because their behavior is defined when text is inserted or
deleted. When text containing a mark is deleted, the mark remains in the
position originally occupied by the deleted text. When text is inserted at a
mark, a mark with “left gravity” will be moved to the
beginning of the newly-inserted text, and a mark with “right
gravity” will be moved to the end.
Note that “left” and “right” here refer to logical direction (left is the toward the start of the buffer); in some languages such as Hebrew the logically-leftmost text is not actually on the left when displayed.
Marks are reference counted, but the reference count only controls the validity
of the memory; marks can be deleted from the buffer at any time with
TextBufferExt::delete_mark(). Once deleted from the buffer, a mark is
essentially useless.
Marks optionally have names; these can be convenient to avoid passing the
TextMark object around.
Marks are typically created using the TextBufferExt::create_mark() function.
Implements
Implementations
sourceimpl TextMark
 
impl TextMark
pub const NONE: Option<&'static TextMark> = None
sourcepub fn new(name: Option<&str>, left_gravity: bool) -> TextMark
 
pub fn new(name: Option<&str>, left_gravity: bool) -> TextMark
Creates a text mark. Add it to a buffer using TextBufferExt::add_mark().
If name is None, the mark is anonymous; otherwise, the mark can be
retrieved by name using TextBufferExt::mark(). If a mark has left
gravity, and text is inserted at the mark’s current location, the mark
will be moved to the left of the newly-inserted text. If the mark has
right gravity (left_gravity = false), the mark will end up on the
right of newly-inserted text. The standard left-to-right cursor is a
mark with right gravity (when you type, the cursor stays on the right
side of the text you’re typing).
name
mark name or None
left_gravity
whether the mark should have left gravity
Returns
new TextMark
sourcepub fn builder() -> TextMarkBuilder
 
pub fn builder() -> TextMarkBuilder
Creates a new builder-pattern struct instance to construct TextMark objects.
This method returns an instance of TextMarkBuilder which can be used to create TextMark objects.
Trait Implementations
sourceimpl Ord for TextMark
 
impl Ord for TextMark
1.21.0 · sourceconst fn max(self, other: Self) -> Self
 
const fn max(self, other: Self) -> Self
1.21.0 · sourceconst fn min(self, other: Self) -> Self
 
const fn min(self, other: Self) -> Self
1.50.0 · sourceconst fn clamp(self, min: Self, max: Self) -> Selfwhere
    Self: PartialOrd<Self>,
 
const fn clamp(self, min: Self, max: Self) -> Selfwhere
    Self: PartialOrd<Self>,
sourceimpl ParentClassIs for TextMark
 
impl ParentClassIs for TextMark
sourceimpl<OT: ObjectType> PartialOrd<OT> for TextMark
 
impl<OT: ObjectType> PartialOrd<OT> for TextMark
sourcefn partial_cmp(&self, other: &OT) -> Option<Ordering>
 
fn partial_cmp(&self, other: &OT) -> Option<Ordering>
1.0.0 · sourceconst fn le(&self, other: &Rhs) -> bool
 
const fn le(&self, other: &Rhs) -> bool
self and other) and is used by the <=
operator. Read moresourceimpl StaticType for TextMark
 
impl StaticType for TextMark
sourcefn static_type() -> Type
 
fn static_type() -> Type
Self.impl Eq for TextMark
Auto Trait Implementations
impl RefUnwindSafe for TextMark
impl !Send for TextMark
impl !Sync for TextMark
impl Unpin for TextMark
impl UnwindSafe for TextMark
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
sourceimpl<T> Cast for Twhere
    T: ObjectType,
 
impl<T> Cast for Twhere
    T: ObjectType,
sourcefn upcast<T>(self) -> Twhere
    T: ObjectType,
    Self: IsA<T>,
 
fn upcast<T>(self) -> Twhere
    T: ObjectType,
    Self: IsA<T>,
T. Read moresourcefn upcast_ref<T>(&self) -> &Twhere
    T: ObjectType,
    Self: IsA<T>,
 
fn upcast_ref<T>(&self) -> &Twhere
    T: ObjectType,
    Self: IsA<T>,
T. Read moresourcefn downcast<T>(self) -> Result<T, Self>where
    T: ObjectType,
    Self: CanDowncast<T>,
 
fn downcast<T>(self) -> Result<T, Self>where
    T: ObjectType,
    Self: CanDowncast<T>,
T. Read moresourcefn downcast_ref<T>(&self) -> Option<&T>where
    T: ObjectType,
    Self: CanDowncast<T>,
 
fn downcast_ref<T>(&self) -> Option<&T>where
    T: ObjectType,
    Self: CanDowncast<T>,
T. Read moresourcefn dynamic_cast<T>(self) -> Result<T, Self>where
    T: ObjectType,
 
fn dynamic_cast<T>(self) -> Result<T, Self>where
    T: ObjectType,
T. This handles upcasting, downcasting
and casting between interface and interface implementors. All checks are performed at
runtime, while downcast and upcast will do many checks at compile-time already. Read moresourcefn dynamic_cast_ref<T>(&self) -> Option<&T>where
    T: ObjectType,
 
fn dynamic_cast_ref<T>(&self) -> Option<&T>where
    T: ObjectType,
T. This handles upcasting, downcasting
and casting between interface and interface implementors. All checks are performed at
runtime, while downcast and upcast will do many checks at compile-time already. Read moresourceunsafe fn unsafe_cast<T>(self) -> Twhere
    T: ObjectType,
 
unsafe fn unsafe_cast<T>(self) -> Twhere
    T: ObjectType,
T unconditionally. Read moresourceunsafe fn unsafe_cast_ref<T>(&self) -> &Twhere
    T: ObjectType,
 
unsafe fn unsafe_cast_ref<T>(&self) -> &Twhere
    T: ObjectType,
&T unconditionally. Read moresourceimpl<U> IsSubclassableExt for Uwhere
    U: IsClass + ParentClassIs,
 
impl<U> IsSubclassableExt for Uwhere
    U: IsClass + ParentClassIs,
fn parent_class_init<T>(class: &mut Class<U>)where
    T: ObjectSubclass,
    <U as ParentClassIs>::Parent: IsSubclassable<T>,
fn parent_instance_init<T>(instance: &mut InitializingObject<T>)where
    T: ObjectSubclass,
    <U as ParentClassIs>::Parent: IsSubclassable<T>,
sourceimpl<T> ObjectExt for Twhere
    T: ObjectType,
 
impl<T> ObjectExt for Twhere
    T: ObjectType,
sourcefn is<U>(&self) -> boolwhere
    U: StaticType,
 
fn is<U>(&self) -> boolwhere
    U: StaticType,
true if the object is an instance of (can be cast to) T.sourcefn object_class(&self) -> &Class<Object>
 
fn object_class(&self) -> &Class<Object>
ObjectClass of the object. Read moresourcefn class_of<U>(&self) -> Option<&Class<U>>where
    U: IsClass,
 
fn class_of<U>(&self) -> Option<&Class<U>>where
    U: IsClass,
T. Read moresourcefn interface<U>(&self) -> Option<InterfaceRef<'_, U>>where
    U: IsInterface,
 
fn interface<U>(&self) -> Option<InterfaceRef<'_, U>>where
    U: IsInterface,
T of the object. Read moresourcefn set_property<V>(&self, property_name: &str, value: V)where
    V: ToValue,
 
fn set_property<V>(&self, property_name: &str, value: V)where
    V: ToValue,
sourcefn set_property_from_value(&self, property_name: &str, value: &Value)
 
fn set_property_from_value(&self, property_name: &str, value: &Value)
sourcefn set_properties(&self, property_values: &[(&str, &dyn ToValue)])
 
fn set_properties(&self, property_values: &[(&str, &dyn ToValue)])
sourcefn set_properties_from_value(&self, property_values: &[(&str, Value)])
 
fn set_properties_from_value(&self, property_values: &[(&str, Value)])
sourcefn property<V>(&self, property_name: &str) -> Vwhere
    V: 'static + for<'b> FromValue<'b>,
 
fn property<V>(&self, property_name: &str) -> Vwhere
    V: 'static + for<'b> FromValue<'b>,
property_name of the object and cast it to the type V. Read moresourcefn property_value(&self, property_name: &str) -> Value
 
fn property_value(&self, property_name: &str) -> Value
property_name of the object. Read moresourcefn property_type(&self, property_name: &str) -> Option<Type>
 
fn property_type(&self, property_name: &str) -> Option<Type>
property_name of this object. Read moresourcefn find_property(&self, property_name: &str) -> Option<ParamSpec>
 
fn find_property(&self, property_name: &str) -> Option<ParamSpec>
ParamSpec of the property property_name of this object.sourcefn list_properties(&self) -> PtrSlice<ParamSpec>
 
fn list_properties(&self) -> PtrSlice<ParamSpec>
ParamSpec of the properties of this object.sourcefn freeze_notify(&self) -> PropertyNotificationFreezeGuard
 
fn freeze_notify(&self) -> PropertyNotificationFreezeGuard
sourceunsafe fn set_qdata<QD>(&self, key: Quark, value: QD)where
    QD: 'static,
 
unsafe fn set_qdata<QD>(&self, key: Quark, value: QD)where
    QD: 'static,
key. Read moresourceunsafe fn qdata<QD>(&self, key: Quark) -> Option<NonNull<QD>>where
    QD: 'static,
 
unsafe fn qdata<QD>(&self, key: Quark) -> Option<NonNull<QD>>where
    QD: 'static,
key. Read moresourceunsafe fn steal_qdata<QD>(&self, key: Quark) -> Option<QD>where
    QD: 'static,
 
unsafe fn steal_qdata<QD>(&self, key: Quark) -> Option<QD>where
    QD: 'static,
key. Read moresourceunsafe fn set_data<QD>(&self, key: &str, value: QD)where
    QD: 'static,
 
unsafe fn set_data<QD>(&self, key: &str, value: QD)where
    QD: 'static,
key. Read moresourceunsafe fn data<QD>(&self, key: &str) -> Option<NonNull<QD>>where
    QD: 'static,
 
unsafe fn data<QD>(&self, key: &str) -> Option<NonNull<QD>>where
    QD: 'static,
key. Read moresourceunsafe fn steal_data<QD>(&self, key: &str) -> Option<QD>where
    QD: 'static,
 
unsafe fn steal_data<QD>(&self, key: &str) -> Option<QD>where
    QD: 'static,
key. Read moresourcefn block_signal(&self, handler_id: &SignalHandlerId)
 
fn block_signal(&self, handler_id: &SignalHandlerId)
sourcefn unblock_signal(&self, handler_id: &SignalHandlerId)
 
fn unblock_signal(&self, handler_id: &SignalHandlerId)
sourcefn stop_signal_emission(&self, signal_id: SignalId, detail: Option<Quark>)
 
fn stop_signal_emission(&self, signal_id: SignalId, detail: Option<Quark>)
sourcefn stop_signal_emission_by_name(&self, signal_name: &str)
 
fn stop_signal_emission_by_name(&self, signal_name: &str)
sourcefn connect<F>(
    &self,
    signal_name: &str,
    after: bool,
    callback: F
) -> SignalHandlerIdwhere
    F: 'static + Fn(&[Value]) -> Option<Value> + Send + Sync,
 
fn connect<F>(
    &self,
    signal_name: &str,
    after: bool,
    callback: F
) -> SignalHandlerIdwhere
    F: 'static + Fn(&[Value]) -> Option<Value> + Send + Sync,
signal_name on this object. Read moresourcefn connect_id<F>(
    &self,
    signal_id: SignalId,
    details: Option<Quark>,
    after: bool,
    callback: F
) -> SignalHandlerIdwhere
    F: 'static + Fn(&[Value]) -> Option<Value> + Send + Sync,
 
fn connect_id<F>(
    &self,
    signal_id: SignalId,
    details: Option<Quark>,
    after: bool,
    callback: F
) -> SignalHandlerIdwhere
    F: 'static + Fn(&[Value]) -> Option<Value> + Send + Sync,
signal_id on this object. Read moresourcefn connect_local<F>(
    &self,
    signal_name: &str,
    after: bool,
    callback: F
) -> SignalHandlerIdwhere
    F: 'static + Fn(&[Value]) -> Option<Value>,
 
fn connect_local<F>(
    &self,
    signal_name: &str,
    after: bool,
    callback: F
) -> SignalHandlerIdwhere
    F: 'static + Fn(&[Value]) -> Option<Value>,
signal_name on this object. Read moresourcefn connect_local_id<F>(
    &self,
    signal_id: SignalId,
    details: Option<Quark>,
    after: bool,
    callback: F
) -> SignalHandlerIdwhere
    F: 'static + Fn(&[Value]) -> Option<Value>,
 
fn connect_local_id<F>(
    &self,
    signal_id: SignalId,
    details: Option<Quark>,
    after: bool,
    callback: F
) -> SignalHandlerIdwhere
    F: 'static + Fn(&[Value]) -> Option<Value>,
signal_id on this object. Read moresourceunsafe fn connect_unsafe<F>(
    &self,
    signal_name: &str,
    after: bool,
    callback: F
) -> SignalHandlerIdwhere
    F: Fn(&[Value]) -> Option<Value>,
 
unsafe fn connect_unsafe<F>(
    &self,
    signal_name: &str,
    after: bool,
    callback: F
) -> SignalHandlerIdwhere
    F: Fn(&[Value]) -> Option<Value>,
signal_name on this object. Read moresourceunsafe fn connect_unsafe_id<F>(
    &self,
    signal_id: SignalId,
    details: Option<Quark>,
    after: bool,
    callback: F
) -> SignalHandlerIdwhere
    F: Fn(&[Value]) -> Option<Value>,
 
unsafe fn connect_unsafe_id<F>(
    &self,
    signal_id: SignalId,
    details: Option<Quark>,
    after: bool,
    callback: F
) -> SignalHandlerIdwhere
    F: Fn(&[Value]) -> Option<Value>,
signal_id on this object. Read moresourcefn connect_closure(
    &self,
    signal_name: &str,
    after: bool,
    closure: RustClosure
) -> SignalHandlerId
 
fn connect_closure(
    &self,
    signal_name: &str,
    after: bool,
    closure: RustClosure
) -> SignalHandlerId
signal_name on this object. Read moresourcefn connect_closure_id(
    &self,
    signal_id: SignalId,
    details: Option<Quark>,
    after: bool,
    closure: RustClosure
) -> SignalHandlerId
 
fn connect_closure_id(
    &self,
    signal_id: SignalId,
    details: Option<Quark>,
    after: bool,
    closure: RustClosure
) -> SignalHandlerId
signal_id on this object. Read moresourcefn watch_closure(&self, closure: &impl AsRef<Closure>)
 
fn watch_closure(&self, closure: &impl AsRef<Closure>)
closure to the lifetime of the object. When
the object’s reference count drops to zero, the closure will be
invalidated. An invalidated closure will ignore any calls to
invoke_with_values, or
invoke when using Rust closures. Read moresourcefn emit<R>(&self, signal_id: SignalId, args: &[&dyn ToValue]) -> Rwhere
    R: TryFromClosureReturnValue,
 
fn emit<R>(&self, signal_id: SignalId, args: &[&dyn ToValue]) -> Rwhere
    R: TryFromClosureReturnValue,
sourcefn emit_with_values(&self, signal_id: SignalId, args: &[Value]) -> Option<Value>
 
fn emit_with_values(&self, signal_id: SignalId, args: &[Value]) -> Option<Value>
Self::emit but takes Value for the arguments.sourcefn emit_by_name<R>(&self, signal_name: &str, args: &[&dyn ToValue]) -> Rwhere
    R: TryFromClosureReturnValue,
 
fn emit_by_name<R>(&self, signal_name: &str, args: &[&dyn ToValue]) -> Rwhere
    R: TryFromClosureReturnValue,
sourcefn emit_by_name_with_values(
    &self,
    signal_name: &str,
    args: &[Value]
) -> Option<Value>
 
fn emit_by_name_with_values(
    &self,
    signal_name: &str,
    args: &[Value]
) -> Option<Value>
sourcefn emit_by_name_with_details<R>(
    &self,
    signal_name: &str,
    details: Quark,
    args: &[&dyn ToValue]
) -> Rwhere
    R: TryFromClosureReturnValue,
 
fn emit_by_name_with_details<R>(
    &self,
    signal_name: &str,
    details: Quark,
    args: &[&dyn ToValue]
) -> Rwhere
    R: TryFromClosureReturnValue,
sourcefn emit_by_name_with_details_and_values(
    &self,
    signal_name: &str,
    details: Quark,
    args: &[Value]
) -> Option<Value>
 
fn emit_by_name_with_details_and_values(
    &self,
    signal_name: &str,
    details: Quark,
    args: &[Value]
) -> Option<Value>
sourcefn emit_with_details<R>(
    &self,
    signal_id: SignalId,
    details: Quark,
    args: &[&dyn ToValue]
) -> Rwhere
    R: TryFromClosureReturnValue,
 
fn emit_with_details<R>(
    &self,
    signal_id: SignalId,
    details: Quark,
    args: &[&dyn ToValue]
) -> Rwhere
    R: TryFromClosureReturnValue,
sourcefn emit_with_details_and_values(
    &self,
    signal_id: SignalId,
    details: Quark,
    args: &[Value]
) -> Option<Value>
 
fn emit_with_details_and_values(
    &self,
    signal_id: SignalId,
    details: Quark,
    args: &[Value]
) -> Option<Value>
sourcefn disconnect(&self, handler_id: SignalHandlerId)
 
fn disconnect(&self, handler_id: SignalHandlerId)
sourcefn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerIdwhere
    F: 'static + Fn(&T, &ParamSpec) + Send + Sync,
 
fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerIdwhere
    F: 'static + Fn(&T, &ParamSpec) + Send + Sync,
notify signal of the object. Read moresourcefn connect_notify_local<F>(&self, name: Option<&str>, f: F) -> SignalHandlerIdwhere
    F: 'static + Fn(&T, &ParamSpec),
 
fn connect_notify_local<F>(&self, name: Option<&str>, f: F) -> SignalHandlerIdwhere
    F: 'static + Fn(&T, &ParamSpec),
notify signal of the object. Read moresourceunsafe fn connect_notify_unsafe<F>(
    &self,
    name: Option<&str>,
    f: F
) -> SignalHandlerIdwhere
    F: Fn(&T, &ParamSpec),
 
unsafe fn connect_notify_unsafe<F>(
    &self,
    name: Option<&str>,
    f: F
) -> SignalHandlerIdwhere
    F: Fn(&T, &ParamSpec),
notify signal of the object. Read more