Trait freya::prelude::TextEditor
pub trait TextEditor: Sized + Clone + Display {
type LinesIterator<'a>: Iterator<Item = Line<'a>>
where Self: 'a;
Show 30 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 has_any_highlight(&self) -> bool;
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);
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(&self) -> Option<(usize, usize)>;
// 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§
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)
fn insert_char(&mut self, char: char, char_idx: usize)
Insert a character 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 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_highlight(&self) -> bool
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)
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(&self) -> Option<(usize, usize)>
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_down(&mut self)
fn cursor_down(&mut self)
Move the cursor 1 line down
fn cursor_up(&mut self)
fn cursor_up(&mut self)
Move the cursor 1 line up
fn cursor_right(&mut self)
fn cursor_right(&mut self)
Move the cursor 1 char to the right
fn cursor_left(&mut self)
fn cursor_left(&mut self)
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.