freya_hooks

Trait TextEditor

Source
pub trait TextEditor {
    type LinesIterator<'a>: Iterator<Item = Line<'a>>
       where Self: 'a;

Show 40 methods // Required methods fn set(&mut self, text: &str); fn lines(&self) -> Self::LinesIterator<'_>; fn insert_char(&mut self, char: char, char_idx: usize) -> usize; fn insert(&mut self, text: &str, char_idx: usize) -> usize; fn remove(&mut self, range: Range<usize>) -> usize; fn char_to_line(&self, char_idx: usize) -> usize; fn line_to_char(&self, line_idx: usize) -> usize; fn utf16_cu_to_char(&self, utf16_cu_idx: usize) -> usize; fn char_to_utf16_cu(&self, idx: usize) -> usize; fn line(&self, line_idx: usize) -> Option<Line<'_>>; fn len_lines(&self) -> usize; fn len_chars(&self) -> usize; fn len_utf16_cu(&self) -> usize; fn cursor(&self) -> &TextCursor; fn cursor_mut(&mut self) -> &mut TextCursor; fn has_any_selection(&self) -> bool; fn get_selection(&self) -> Option<(usize, usize)>; fn get_visible_selection(&self, editor_id: usize) -> Option<(usize, usize)>; fn clear_selection(&mut self); fn set_selection(&mut self, selected: (usize, usize)); fn measure_new_selection( &self, from: usize, to: usize, editor_id: usize, ) -> (usize, usize); fn measure_new_cursor(&self, to: usize, editor_id: usize) -> TextCursor; fn expand_selection_to_cursor(&mut self); fn get_clipboard(&mut self) -> &mut UseClipboard; fn get_selected_text(&self) -> Option<String>; fn undo(&mut self) -> Option<usize>; fn redo(&mut self) -> Option<usize>; fn editor_history(&mut self) -> &mut EditorHistory; fn get_selection_range(&self) -> Option<(usize, usize)>; fn get_identation(&self) -> u8; // Provided methods fn cursor_row(&self) -> usize { ... } fn cursor_col(&self) -> usize { ... } fn cursor_row_and_col(&self) -> (usize, usize) { ... } fn cursor_down(&mut self) -> bool { ... } fn cursor_up(&mut self) -> bool { ... } fn cursor_right(&mut self) -> bool { ... } fn cursor_left(&mut self) -> bool { ... } fn cursor_pos(&self) -> usize { ... } fn set_cursor_pos(&mut self, pos: usize) { ... } fn process_key( &mut self, key: &Key, code: &Code, modifiers: &Modifiers, allow_tabs: bool, allow_changes: bool, allow_clipboard: bool, ) -> 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) -> usize

Insert a character in the text in the given position.

Source

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

Insert a string in the text in the given position.

Source

fn remove(&mut self, range: Range<usize>) -> 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 utf16_cu_to_char(&self, utf16_cu_idx: usize) -> usize

Source

fn char_to_utf16_cu(&self, idx: usize) -> usize

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 len_chars(&self) -> usize

Total of chars

Source

fn len_utf16_cu(&self) -> usize

Total of utf16 code units

Source

fn cursor(&self) -> &TextCursor

Get a readable cursor

Source

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

Get a mutable cursor

Source

fn has_any_selection(&self) -> bool

Source

fn get_selection(&self) -> Option<(usize, usize)>

Source

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

Source

fn clear_selection(&mut self)

Source

fn set_selection(&mut self, selected: (usize, usize))

Source

fn measure_new_selection( &self, from: usize, to: usize, editor_id: usize, ) -> (usize, usize)

Source

fn measure_new_cursor(&self, to: usize, editor_id: usize) -> TextCursor

Source

fn expand_selection_to_cursor(&mut self)

Source

fn get_clipboard(&mut self) -> &mut UseClipboard

Source

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

Source

fn undo(&mut self) -> Option<usize>

Source

fn redo(&mut self) -> Option<usize>

Source

fn editor_history(&mut self) -> &mut EditorHistory

Source

fn get_selection_range(&self) -> Option<(usize, usize)>

Source

fn get_identation(&self) -> u8

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_row_and_col(&self) -> (usize, usize)

Get the cursor row and col

Source

fn cursor_down(&mut self) -> bool

Move the cursor 1 line down

Source

fn cursor_up(&mut self) -> bool

Move the cursor 1 line up

Source

fn cursor_right(&mut self) -> bool

Move the cursor 1 char to the right

Source

fn cursor_left(&mut self) -> bool

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, allow_tabs: bool, allow_changes: bool, allow_clipboard: bool, ) -> TextEvent

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§