Trait freya::hooks::TextEditor
pub trait TextEditor {
type LinesIterator<'a>: Iterator<Item = Line<'a>>
where Self: 'a;
Show 39 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 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,
) -> TextEvent { ... }
}
Expand description
Common trait for editable texts
Required Associated Types§
type LinesIterator<'a>: Iterator<Item = Line<'a>> where Self: 'a
Required Methods§
fn set(&mut self, text: &str)
fn lines(&self) -> Self::LinesIterator<'_>
fn lines(&self) -> Self::LinesIterator<'_>
Iterator over all the lines in the text.
fn insert_char(&mut self, char: char, char_idx: usize) -> usize
fn insert_char(&mut self, char: char, char_idx: usize) -> usize
Insert a character in the text in the given position.
fn insert(&mut self, text: &str, char_idx: usize) -> usize
fn insert(&mut self, text: &str, char_idx: usize) -> usize
Insert a string in the text in the given position.
fn char_to_line(&self, char_idx: usize) -> usize
fn char_to_line(&self, char_idx: usize) -> usize
Get line from the given char
fn line_to_char(&self, line_idx: usize) -> usize
fn line_to_char(&self, line_idx: usize) -> usize
Get the first char from the given line
fn utf16_cu_to_char(&self, utf16_cu_idx: usize) -> usize
fn char_to_utf16_cu(&self, idx: usize) -> usize
fn len_utf16_cu(&self) -> usize
fn len_utf16_cu(&self) -> usize
Total of utf16 code units
fn cursor(&self) -> &TextCursor
fn cursor(&self) -> &TextCursor
Get a readable cursor
fn cursor_mut(&mut self) -> &mut TextCursor
fn cursor_mut(&mut self) -> &mut TextCursor
Get a mutable cursor
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 get_selection_range(&self) -> Option<(usize, usize)>
fn get_identation(&self) -> u8
Provided Methods§
fn cursor_row(&self) -> usize
fn cursor_row(&self) -> usize
Get the cursor row
fn cursor_col(&self) -> usize
fn cursor_col(&self) -> usize
Get the cursor column
fn cursor_row_and_col(&self) -> (usize, usize)
fn cursor_row_and_col(&self) -> (usize, usize)
Get the cursor row and col
fn cursor_down(&mut self) -> bool
fn cursor_down(&mut self) -> bool
Move the cursor 1 line down
fn cursor_right(&mut self) -> bool
fn cursor_right(&mut self) -> bool
Move the cursor 1 char to the right
fn cursor_left(&mut self) -> bool
fn cursor_left(&mut self) -> bool
Move the cursor 1 char to the left
fn cursor_pos(&self) -> usize
fn cursor_pos(&self) -> usize
Get the cursor position
fn set_cursor_pos(&mut self, pos: usize)
fn set_cursor_pos(&mut self, pos: usize)
Set the cursor position
fn process_key( &mut self, key: &Key, code: &Code, modifiers: &Modifiers, ) -> TextEvent
Object Safety§
This trait is not object safe.