Trait Edit

pub trait Edit<'buffer> {
Show 27 methods // Required methods fn buffer_ref(&self) -> &BufferRef<'buffer>; fn buffer_ref_mut(&mut self) -> &mut BufferRef<'buffer>; fn cursor(&self) -> Cursor; fn set_cursor(&mut self, cursor: Cursor); fn selection(&self) -> Selection; fn set_selection(&mut self, selection: Selection); fn auto_indent(&self) -> bool; fn set_auto_indent(&mut self, auto_indent: bool); fn tab_width(&self) -> u16; fn set_tab_width(&mut self, tab_width: u16); fn shape_as_needed(&mut self, font_system: &mut FontSystem, prune: bool); fn delete_range(&mut self, start: Cursor, end: Cursor); fn insert_at( &mut self, cursor: Cursor, data: &str, attrs_list: Option<AttrsList>, ) -> Cursor; fn copy_selection(&self) -> Option<String>; fn delete_selection(&mut self) -> bool; fn apply_change(&mut self, change: &Change) -> bool; fn start_change(&mut self); fn finish_change(&mut self) -> Option<Change>; fn action(&mut self, font_system: &mut FontSystem, action: Action); fn cursor_position(&self) -> Option<(i32, i32)>; // Provided methods fn borrow_with<'font_system>( &'font_system mut self, font_system: &'font_system mut FontSystem, ) -> BorrowedWithFontSystem<'font_system, Self> where Self: Sized { ... } fn with_buffer<F, T>(&self, f: F) -> T where F: FnOnce(&Buffer) -> T { ... } fn with_buffer_mut<F, T>(&mut self, f: F) -> T where F: FnOnce(&mut Buffer) -> T { ... } fn redraw(&self) -> bool { ... } fn set_redraw(&mut self, redraw: bool) { ... } fn selection_bounds(&self) -> Option<(Cursor, Cursor)> { ... } fn insert_string(&mut self, data: &str, attrs_list: Option<AttrsList>) { ... }
}
Expand description

A trait to allow easy replacements of Editor, like SyntaxEditor

Required Methods§

fn buffer_ref(&self) -> &BufferRef<'buffer>

Get the internal BufferRef

fn buffer_ref_mut(&mut self) -> &mut BufferRef<'buffer>

Get the internal BufferRef

fn cursor(&self) -> Cursor

Get the current cursor

fn set_cursor(&mut self, cursor: Cursor)

Set the current cursor

fn selection(&self) -> Selection

Get the current selection position

fn set_selection(&mut self, selection: Selection)

Set the current selection position

fn auto_indent(&self) -> bool

Get the current automatic indentation setting

fn set_auto_indent(&mut self, auto_indent: bool)

Enable or disable automatic indentation

fn tab_width(&self) -> u16

Get the current tab width

fn set_tab_width(&mut self, tab_width: u16)

Set the current tab width. A tab_width of 0 is not allowed, and will be ignored

fn shape_as_needed(&mut self, font_system: &mut FontSystem, prune: bool)

Shape lines until scroll, after adjusting scroll if the cursor moved

fn delete_range(&mut self, start: Cursor, end: Cursor)

Delete text starting at start Cursor and ending at end Cursor

fn insert_at( &mut self, cursor: Cursor, data: &str, attrs_list: Option<AttrsList>, ) -> Cursor

Insert text at specified cursor with specified attrs_list

fn copy_selection(&self) -> Option<String>

Copy selection

fn delete_selection(&mut self) -> bool

Delete selection, adjusting cursor and returning true if there was a selection

fn apply_change(&mut self, change: &Change) -> bool

Apply a change

fn start_change(&mut self)

Start collecting change

fn finish_change(&mut self) -> Option<Change>

Get completed change

fn action(&mut self, font_system: &mut FontSystem, action: Action)

Perform an Action on the editor

fn cursor_position(&self) -> Option<(i32, i32)>

Get X and Y position of the top left corner of the cursor

Provided Methods§

fn borrow_with<'font_system>( &'font_system mut self, font_system: &'font_system mut FontSystem, ) -> BorrowedWithFontSystem<'font_system, Self>
where Self: Sized,

Mutably borrows self together with an FontSystem for more convenient methods

fn with_buffer<F, T>(&self, f: F) -> T
where F: FnOnce(&Buffer) -> T,

Get the internal Buffer

fn with_buffer_mut<F, T>(&mut self, f: F) -> T
where F: FnOnce(&mut Buffer) -> T,

Get the internal Buffer, mutably

fn redraw(&self) -> bool

Get the Buffer redraw flag

fn set_redraw(&mut self, redraw: bool)

Set the Buffer redraw flag

fn selection_bounds(&self) -> Option<(Cursor, Cursor)>

Get the bounds of the current selection

fn insert_string(&mut self, data: &str, attrs_list: Option<AttrsList>)

Insert a string at the current cursor or replacing the current selection with the given attributes, or with the previous character’s attributes if None is given.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

§

impl<'buffer> Edit<'buffer> for Editor<'buffer>