pub trait TextEditor: Sized + Clone + Display {
    type LinesIterator<'a>: Iterator<Item = Line<'a>>
       where Self: 'a;

Show 24 methods // Required methods fn set(&mut self, text: &str); fn lines(&self) -> Self::LinesIterator<'_>; fn insert_char(&mut self, char: char, char_idx: usize); fn insert(&mut self, text: &str, char_idx: usize); fn remove(&mut self, range: Range<usize>); fn char_to_line(&self, char_idx: usize) -> usize; fn line_to_char(&self, line_idx: usize) -> usize; fn line(&self, line_idx: usize) -> Option<Line<'_>>; fn len_lines(&self) -> usize; fn cursor(&self) -> &TextCursor; fn cursor_mut(&mut self) -> &mut TextCursor; fn highlights(&self, editor_id: usize) -> Option<(usize, usize)>; fn unhighlight(&mut self); fn highlight_text(&mut self, from: usize, to: usize, editor_id: usize); fn move_highlight_to_cursor(&mut self); // Provided methods fn cursor_row(&self) -> usize { ... } fn cursor_col(&self) -> usize { ... } fn cursor_down(&mut self) { ... } fn cursor_up(&mut self) { ... } fn cursor_right(&mut self) { ... } fn cursor_left(&mut self) { ... } fn cursor_pos(&self) -> usize { ... } fn set_cursor_pos(&mut self, pos: usize) { ... } fn process_key( &mut self, key: &Key, code: &Code, modifiers: &Modifiers ) -> TextEvent { ... }
}
Expand description

Common trait for editable texts

Required Associated Types§

source

type LinesIterator<'a>: Iterator<Item = Line<'a>> where Self: 'a

Required Methods§

source

fn set(&mut self, text: &str)

source

fn lines(&self) -> Self::LinesIterator<'_>

Iterator over all the lines in the text.

source

fn insert_char(&mut self, char: char, char_idx: usize)

Insert a character in the text in the given position.

source

fn insert(&mut self, text: &str, char_idx: usize)

Insert a string in the text in the given position.

source

fn remove(&mut self, range: Range<usize>)

Remove a part of the text.

source

fn char_to_line(&self, char_idx: usize) -> usize

Get line from the given char

source

fn line_to_char(&self, line_idx: usize) -> usize

Get the first char from the given line

source

fn line(&self, line_idx: usize) -> Option<Line<'_>>

Get a line from the text

source

fn len_lines(&self) -> usize

Total of lines

source

fn cursor(&self) -> &TextCursor

Get a readable cursor

source

fn cursor_mut(&mut self) -> &mut TextCursor

Get a mutable cursor

source

fn highlights(&self, editor_id: usize) -> Option<(usize, usize)>

source

fn unhighlight(&mut self)

source

fn highlight_text(&mut self, from: usize, to: usize, editor_id: usize)

source

fn move_highlight_to_cursor(&mut self)

Provided Methods§

source

fn cursor_row(&self) -> usize

Get the cursor row

source

fn cursor_col(&self) -> usize

Get the cursor column

source

fn cursor_down(&mut self)

Move the cursor 1 line down

source

fn cursor_up(&mut self)

Move the cursor 1 line up

source

fn cursor_right(&mut self)

Move the cursor 1 char to the right

source

fn cursor_left(&mut self)

Move the cursor 1 char to the left

source

fn cursor_pos(&self) -> usize

Get the cursor position

source

fn set_cursor_pos(&mut self, pos: usize)

Set the cursor position

source

fn process_key( &mut self, key: &Key, code: &Code, modifiers: &Modifiers ) -> TextEvent

Implementors§