pub struct CodeEditor { /* private fields */ }Expand description
Canvas-based high-performance text editor.
Implementations§
Source§impl CodeEditor
impl CodeEditor
Source§impl CodeEditor
impl CodeEditor
Source§impl CodeEditor
impl CodeEditor
Sourcepub fn with_viewport_height(self, height: f32) -> Self
pub fn with_viewport_height(self, height: f32) -> Self
Sets the viewport height for the editor.
This determines the minimum height of the canvas, ensuring proper background rendering even when content is smaller than the viewport.
§Arguments
height- The viewport height in pixels
§Returns
Self for method chaining
§Example
use iced_code_editor::CodeEditor;
let editor = CodeEditor::new("fn main() {}", "rs")
.with_viewport_height(500.0);Sourcepub fn reset(&mut self, content: &str) -> Task<Message>
pub fn reset(&mut self, content: &str) -> Task<Message>
Resets the editor with new content.
This method replaces the buffer content and resets all editor state
(cursor position, selection, scroll, history) to initial values.
Use this instead of creating a new CodeEditor instance to ensure
proper widget tree updates in iced.
Returns a Task that scrolls the editor to the top, which also
forces a redraw of the canvas.
§Arguments
content- The new text content
§Returns
A Task<Message> that should be returned from your update function
§Example
use iced_code_editor::CodeEditor;
let mut editor = CodeEditor::new("initial content", "lua");
// Later, reset with new content and get the task
let task = editor.reset("new content");
// Return task.map(YourMessage::Editor) from your update functionSourcepub fn is_modified(&self) -> bool
pub fn is_modified(&self) -> bool
Returns whether the editor has unsaved changes.
§Returns
true if there are unsaved modifications, false otherwise
Sourcepub fn mark_saved(&mut self)
pub fn mark_saved(&mut self)
Marks the current state as saved.
Call this after successfully saving the file to reset the modified state.
Trait Implementations§
Source§impl Program<Message> for CodeEditor
impl Program<Message> for CodeEditor
Source§fn draw(
&self,
_state: &Self::State,
renderer: &Renderer,
_theme: &Theme,
bounds: Rectangle,
_cursor: Cursor,
) -> Vec<Geometry> ⓘ
fn draw( &self, _state: &Self::State, renderer: &Renderer, _theme: &Theme, bounds: Rectangle, _cursor: Cursor, ) -> Vec<Geometry> ⓘ
Source§fn update(
&self,
_state: &mut Self::State,
event: &Event,
bounds: Rectangle,
cursor: Cursor,
) -> Option<Action<Message>>
fn update( &self, _state: &mut Self::State, event: &Event, bounds: Rectangle, cursor: Cursor, ) -> Option<Action<Message>>
Source§fn mouse_interaction(
&self,
_state: &Self::State,
_bounds: Rectangle,
_cursor: Cursor,
) -> Interaction
fn mouse_interaction( &self, _state: &Self::State, _bounds: Rectangle, _cursor: Cursor, ) -> Interaction
Auto Trait Implementations§
impl !Freeze for CodeEditor
impl !RefUnwindSafe for CodeEditor
impl Send for CodeEditor
impl !Sync for CodeEditor
impl Unpin for CodeEditor
impl UnwindSafe for CodeEditor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<State, Message> IntoBoot<State, Message> for State
impl<State, Message> IntoBoot<State, Message> for State
Source§fn into_boot(self) -> (State, Task<Message>)
fn into_boot(self) -> (State, Task<Message>)
Application.