Struct modalkit::editing::cursor::CursorGroup
source · pub struct CursorGroup {
pub members: Vec<CursorState>,
pub leader: CursorState,
}
Expand description
A group of cursors, where one of them has on-screen focus.
Fields§
§members: Vec<CursorState>
The members of the cursor group which do not have have on-screen focus.
leader: CursorState
The main cursor, which has on-screen focus.
Implementations§
source§impl CursorGroup
impl CursorGroup
sourcepub fn new(leader: CursorState, members: Vec<CursorState>) -> Self
pub fn new(leader: CursorState, members: Vec<CursorState>) -> Self
Create a new CursorGroup with the given leader and followers.
sourcepub fn iter_mut(&mut self) -> CursorGroupIterMut<'_> ⓘ
pub fn iter_mut(&mut self) -> CursorGroupIterMut<'_> ⓘ
Iterate over mutable references to the CursorState values in this group, in cursor order.
sourcepub fn iter(&self) -> CursorGroupIter<'_> ⓘ
pub fn iter(&self) -> CursorGroupIter<'_> ⓘ
Iterate over references to the CursorState values in this group, in cursor order.
sourcepub fn close(&mut self, target: &CursorCloseTarget)
pub fn close(&mut self, target: &CursorCloseTarget)
Close some of the cursors in this cursor group.
sourcepub fn rotate(&mut self, dir: MoveDir1D, offset: usize)
pub fn rotate(&mut self, dir: MoveDir1D, offset: usize)
Rotate the cursor leader forwards or backwards n times.
sourcepub fn combine(
&self,
other: &Self,
style: &CursorGroupCombineStyle,
rope: &EditRope
) -> Result<Self, CursorGroupCombineError>
pub fn combine( &self, other: &Self, style: &CursorGroupCombineStyle, rope: &EditRope ) -> Result<Self, CursorGroupCombineError>
Combine this cursor group with another.
Trait Implementations§
source§impl Adjustable for CursorGroup
impl Adjustable for CursorGroup
source§fn adjust(&mut self, adjs: &[CursorAdjustment])
fn adjust(&mut self, adjs: &[CursorAdjustment])
Apply a CursorAdjustment to any applicable cursors.
source§impl Clone for CursorGroup
impl Clone for CursorGroup
source§fn clone(&self) -> CursorGroup
fn clone(&self) -> CursorGroup
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for CursorGroup
impl Debug for CursorGroup
source§impl Default for CursorGroup
impl Default for CursorGroup
source§fn default() -> CursorGroup
fn default() -> CursorGroup
Returns the “default value” for a type. Read more
source§impl PartialEq for CursorGroup
impl PartialEq for CursorGroup
source§fn eq(&self, other: &CursorGroup) -> bool
fn eq(&self, other: &CursorGroup) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Eq for CursorGroup
impl StructuralPartialEq for CursorGroup
Auto Trait Implementations§
impl Freeze for CursorGroup
impl RefUnwindSafe for CursorGroup
impl Send for CursorGroup
impl Sync for CursorGroup
impl Unpin for CursorGroup
impl UnwindSafe for CursorGroup
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
Mutably borrows from an owned value. Read more
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
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
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.