pub struct TextEditor { /* private fields */ }
Expand description
Creates an editable text display widget
Implementations§
Source§impl TextEditor
impl TextEditor
Sourcepub fn new<'a, T: Into<Option<&'a str>>>(
x: i32,
y: i32,
width: i32,
height: i32,
title: T,
) -> TextEditor
pub fn new<'a, T: Into<Option<&'a str>>>( x: i32, y: i32, width: i32, height: i32, title: T, ) -> TextEditor
Creates a new widget, takes an x, y coordinates, as well as a width and height, plus a title
§Arguments
x
- The x coordinate in the screeny
- The y coordinate in the screenwidth
- The width of the widgetheigth
- The height of the widgettitle
- The title or label of the widget
To use dynamic strings use with_label(self, &str)
or set_label(&mut self, &str)
.
labels support special symbols preceded by an @
sign
and for the associated formatting.
Examples found in repository?
63 pub fn new(buf: text::TextBuffer) -> Self {
64 let mut editor = text::TextEditor::new(5, 35, 790, 560, "");
65 editor.set_buffer(Some(buf));
66
67 #[cfg(target_os = "macos")]
68 editor.resize(5, 5, 790, 590);
69
70 editor.set_scrollbar_size(15);
71 editor.set_text_font(Font::Courier);
72 editor.set_linenumber_width(32);
73 editor.set_linenumber_fgcolor(Color::from_u32(0x008b_8386));
74 editor.set_when(When::Changed);
75
76 Self { editor }
77 }
Sourcepub fn default_fill() -> Self
pub fn default_fill() -> Self
Constructs a widget with the size of its parent
Source§impl TextEditor
impl TextEditor
Sourcepub fn set_insert_mode(&mut self, b: bool)
pub fn set_insert_mode(&mut self, b: bool)
Set to insert mode
Sourcepub fn insert_mode(&self) -> bool
pub fn insert_mode(&self) -> bool
Returns whether insert mode is set
Set tab navigation
Returns whether tab navigation is set
Sourcepub fn copy(&self)
pub fn copy(&self)
Copies the text within the TextEditor
widget
Examples found in repository?
189fn menu_cb(m: &mut impl MenuExt) {
190 if let Ok(mpath) = m.item_pathname(None) {
191 let ed: text::TextEditor = app::widget_from_id("ed").unwrap();
192 match mpath.as_str() {
193 "&File/&New...\t" => {
194 STATE.with(|s| {
195 if !s.buf.text().is_empty() {
196 let c = dialog::choice(
197 "Are you sure you want to clear the buffer?",
198 "&Yes",
199 "&No",
200 "",
201 );
202 if c == Some(0) {
203 s.buf.set_text("");
204 s.saved = false;
205 }
206 }
207 });
208 }
209 "&File/&Open...\t" => {
210 if let Some(c) = nfc_get_file(dialog::NativeFileChooserType::BrowseFile) {
211 if let Ok(text) = std::fs::read_to_string(&c) {
212 STATE.with(move |s| {
213 s.buf.set_text(&text);
214 s.saved = false;
215 s.current_file = c.clone();
216 });
217 }
218 }
219 }
220 "&File/&Save\t" => {
221 STATE.with(|s| {
222 if !s.saved && s.current_file.exists() {
223 std::fs::write(&s.current_file, s.buf.text()).ok();
224 }
225 });
226 }
227 "&File/Save &as...\t" => {
228 if let Some(c) = nfc_get_file(dialog::NativeFileChooserType::BrowseSaveFile) {
229 STATE.with(move |s| {
230 std::fs::write(&c, s.buf.text()).ok();
231 s.saved = true;
232 s.current_file = c.clone();
233 });
234 }
235 }
236 "&File/&Quit\t" => quit_cb(),
237 "&Edit/Cu&t\t" => ed.cut(),
238 "&Edit/&Copy\t" => ed.copy(),
239 "&Edit/&Paste\t" => ed.paste(),
240 "&Help/&About\t" => dialog::message("A minimal text editor written using fltk-rs!"),
241 _ => unreachable!(),
242 }
243 }
244}
More examples
362 pub fn launch(&mut self) {
363 while self.app.wait() {
364 use Message::*;
365 if let Some(msg) = self.r.recv() {
366 match msg {
367 Changed => {
368 if !self.modified {
369 self.modified = true;
370 self.menu
371 .menu
372 .find_item("&File/&Save\t")
373 .unwrap()
374 .activate();
375 self.menu
376 .menu
377 .find_item("&File/&Quit\t")
378 .unwrap()
379 .set_label_color(Color::Red);
380 let name = match &self.filename {
381 Some(f) => f.to_string_lossy().to_string(),
382 None => "(Untitled)".to_string(),
383 };
384 self.main_win.set_label(&format!("* {name} - RustyEd"));
385 }
386 }
387 New => {
388 if self.buf.text() != "" {
389 let clear = if let Some(x) = dialog::choice(
390 "File unsaved, Do you wish to continue?",
391 "&Yes",
392 "&No!",
393 "",
394 ) {
395 x == 0
396 } else {
397 false
398 };
399 if clear {
400 self.buf.set_text("");
401 }
402 }
403 }
404 Open => {
405 if let Some(c) = nfc_get_file(dialog::NativeFileChooserType::BrowseFile) {
406 if c.exists() {
407 match self.buf.load_file(&c) {
408 Ok(_) => self.filename = Some(c),
409 Err(e) => dialog::alert(&format!(
410 "An issue occured while loading the file: {e}"
411 )),
412 }
413 } else {
414 dialog::alert("File does not exist!")
415 }
416 }
417 }
418 Save => {
419 self.save_file().unwrap();
420 }
421 SaveAs => {
422 self.save_file_as().unwrap();
423 }
424 Print => {
425 let mut printer = printer::Printer::default();
426 if printer.begin_job(0).is_ok() {
427 let (w, h) = printer.printable_rect();
428 self.printable.resize(
429 self.printable.x(),
430 self.printable.y(),
431 w - 40,
432 h - 40,
433 );
434 // Needs cleanup
435 let line_count = self.printable.count_lines(
436 0,
437 self.printable.buffer().unwrap().length(),
438 true,
439 ) / 45;
440 for i in 0..=line_count {
441 self.printable.scroll(45 * i, 0);
442 printer.begin_page().ok();
443 printer.print_widget(&self.printable, 20, 20);
444 printer.end_page().ok();
445 }
446 printer.end_job();
447 }
448 }
449 Quit => {
450 if self.modified {
451 match dialog::choice(
452 "Would you like to save your work?",
453 "&Yes",
454 "&No",
455 "",
456 ) {
457 Some(0) => {
458 if self.save_file().unwrap() {
459 self.app.quit();
460 }
461 }
462 Some(1) => self.app.quit(),
463 Some(_) | None => (),
464 }
465 } else {
466 self.app.quit();
467 }
468 }
469 Cut => self.editor.cut(),
470 Copy => self.editor.copy(),
471 Paste => self.editor.paste(),
472 About => dialog::message(
473 "This is an example application written in Rust and using the FLTK Gui library.",
474 ),
475 }
476 }
477 }
478 }
Sourcepub fn cut(&self)
pub fn cut(&self)
Cuts the text within the TextEditor
widget
Examples found in repository?
189fn menu_cb(m: &mut impl MenuExt) {
190 if let Ok(mpath) = m.item_pathname(None) {
191 let ed: text::TextEditor = app::widget_from_id("ed").unwrap();
192 match mpath.as_str() {
193 "&File/&New...\t" => {
194 STATE.with(|s| {
195 if !s.buf.text().is_empty() {
196 let c = dialog::choice(
197 "Are you sure you want to clear the buffer?",
198 "&Yes",
199 "&No",
200 "",
201 );
202 if c == Some(0) {
203 s.buf.set_text("");
204 s.saved = false;
205 }
206 }
207 });
208 }
209 "&File/&Open...\t" => {
210 if let Some(c) = nfc_get_file(dialog::NativeFileChooserType::BrowseFile) {
211 if let Ok(text) = std::fs::read_to_string(&c) {
212 STATE.with(move |s| {
213 s.buf.set_text(&text);
214 s.saved = false;
215 s.current_file = c.clone();
216 });
217 }
218 }
219 }
220 "&File/&Save\t" => {
221 STATE.with(|s| {
222 if !s.saved && s.current_file.exists() {
223 std::fs::write(&s.current_file, s.buf.text()).ok();
224 }
225 });
226 }
227 "&File/Save &as...\t" => {
228 if let Some(c) = nfc_get_file(dialog::NativeFileChooserType::BrowseSaveFile) {
229 STATE.with(move |s| {
230 std::fs::write(&c, s.buf.text()).ok();
231 s.saved = true;
232 s.current_file = c.clone();
233 });
234 }
235 }
236 "&File/&Quit\t" => quit_cb(),
237 "&Edit/Cu&t\t" => ed.cut(),
238 "&Edit/&Copy\t" => ed.copy(),
239 "&Edit/&Paste\t" => ed.paste(),
240 "&Help/&About\t" => dialog::message("A minimal text editor written using fltk-rs!"),
241 _ => unreachable!(),
242 }
243 }
244}
More examples
362 pub fn launch(&mut self) {
363 while self.app.wait() {
364 use Message::*;
365 if let Some(msg) = self.r.recv() {
366 match msg {
367 Changed => {
368 if !self.modified {
369 self.modified = true;
370 self.menu
371 .menu
372 .find_item("&File/&Save\t")
373 .unwrap()
374 .activate();
375 self.menu
376 .menu
377 .find_item("&File/&Quit\t")
378 .unwrap()
379 .set_label_color(Color::Red);
380 let name = match &self.filename {
381 Some(f) => f.to_string_lossy().to_string(),
382 None => "(Untitled)".to_string(),
383 };
384 self.main_win.set_label(&format!("* {name} - RustyEd"));
385 }
386 }
387 New => {
388 if self.buf.text() != "" {
389 let clear = if let Some(x) = dialog::choice(
390 "File unsaved, Do you wish to continue?",
391 "&Yes",
392 "&No!",
393 "",
394 ) {
395 x == 0
396 } else {
397 false
398 };
399 if clear {
400 self.buf.set_text("");
401 }
402 }
403 }
404 Open => {
405 if let Some(c) = nfc_get_file(dialog::NativeFileChooserType::BrowseFile) {
406 if c.exists() {
407 match self.buf.load_file(&c) {
408 Ok(_) => self.filename = Some(c),
409 Err(e) => dialog::alert(&format!(
410 "An issue occured while loading the file: {e}"
411 )),
412 }
413 } else {
414 dialog::alert("File does not exist!")
415 }
416 }
417 }
418 Save => {
419 self.save_file().unwrap();
420 }
421 SaveAs => {
422 self.save_file_as().unwrap();
423 }
424 Print => {
425 let mut printer = printer::Printer::default();
426 if printer.begin_job(0).is_ok() {
427 let (w, h) = printer.printable_rect();
428 self.printable.resize(
429 self.printable.x(),
430 self.printable.y(),
431 w - 40,
432 h - 40,
433 );
434 // Needs cleanup
435 let line_count = self.printable.count_lines(
436 0,
437 self.printable.buffer().unwrap().length(),
438 true,
439 ) / 45;
440 for i in 0..=line_count {
441 self.printable.scroll(45 * i, 0);
442 printer.begin_page().ok();
443 printer.print_widget(&self.printable, 20, 20);
444 printer.end_page().ok();
445 }
446 printer.end_job();
447 }
448 }
449 Quit => {
450 if self.modified {
451 match dialog::choice(
452 "Would you like to save your work?",
453 "&Yes",
454 "&No",
455 "",
456 ) {
457 Some(0) => {
458 if self.save_file().unwrap() {
459 self.app.quit();
460 }
461 }
462 Some(1) => self.app.quit(),
463 Some(_) | None => (),
464 }
465 } else {
466 self.app.quit();
467 }
468 }
469 Cut => self.editor.cut(),
470 Copy => self.editor.copy(),
471 Paste => self.editor.paste(),
472 About => dialog::message(
473 "This is an example application written in Rust and using the FLTK Gui library.",
474 ),
475 }
476 }
477 }
478 }
Sourcepub fn paste(&self)
pub fn paste(&self)
Pastes text from the clipboard into the TextEditor
widget
Examples found in repository?
189fn menu_cb(m: &mut impl MenuExt) {
190 if let Ok(mpath) = m.item_pathname(None) {
191 let ed: text::TextEditor = app::widget_from_id("ed").unwrap();
192 match mpath.as_str() {
193 "&File/&New...\t" => {
194 STATE.with(|s| {
195 if !s.buf.text().is_empty() {
196 let c = dialog::choice(
197 "Are you sure you want to clear the buffer?",
198 "&Yes",
199 "&No",
200 "",
201 );
202 if c == Some(0) {
203 s.buf.set_text("");
204 s.saved = false;
205 }
206 }
207 });
208 }
209 "&File/&Open...\t" => {
210 if let Some(c) = nfc_get_file(dialog::NativeFileChooserType::BrowseFile) {
211 if let Ok(text) = std::fs::read_to_string(&c) {
212 STATE.with(move |s| {
213 s.buf.set_text(&text);
214 s.saved = false;
215 s.current_file = c.clone();
216 });
217 }
218 }
219 }
220 "&File/&Save\t" => {
221 STATE.with(|s| {
222 if !s.saved && s.current_file.exists() {
223 std::fs::write(&s.current_file, s.buf.text()).ok();
224 }
225 });
226 }
227 "&File/Save &as...\t" => {
228 if let Some(c) = nfc_get_file(dialog::NativeFileChooserType::BrowseSaveFile) {
229 STATE.with(move |s| {
230 std::fs::write(&c, s.buf.text()).ok();
231 s.saved = true;
232 s.current_file = c.clone();
233 });
234 }
235 }
236 "&File/&Quit\t" => quit_cb(),
237 "&Edit/Cu&t\t" => ed.cut(),
238 "&Edit/&Copy\t" => ed.copy(),
239 "&Edit/&Paste\t" => ed.paste(),
240 "&Help/&About\t" => dialog::message("A minimal text editor written using fltk-rs!"),
241 _ => unreachable!(),
242 }
243 }
244}
More examples
362 pub fn launch(&mut self) {
363 while self.app.wait() {
364 use Message::*;
365 if let Some(msg) = self.r.recv() {
366 match msg {
367 Changed => {
368 if !self.modified {
369 self.modified = true;
370 self.menu
371 .menu
372 .find_item("&File/&Save\t")
373 .unwrap()
374 .activate();
375 self.menu
376 .menu
377 .find_item("&File/&Quit\t")
378 .unwrap()
379 .set_label_color(Color::Red);
380 let name = match &self.filename {
381 Some(f) => f.to_string_lossy().to_string(),
382 None => "(Untitled)".to_string(),
383 };
384 self.main_win.set_label(&format!("* {name} - RustyEd"));
385 }
386 }
387 New => {
388 if self.buf.text() != "" {
389 let clear = if let Some(x) = dialog::choice(
390 "File unsaved, Do you wish to continue?",
391 "&Yes",
392 "&No!",
393 "",
394 ) {
395 x == 0
396 } else {
397 false
398 };
399 if clear {
400 self.buf.set_text("");
401 }
402 }
403 }
404 Open => {
405 if let Some(c) = nfc_get_file(dialog::NativeFileChooserType::BrowseFile) {
406 if c.exists() {
407 match self.buf.load_file(&c) {
408 Ok(_) => self.filename = Some(c),
409 Err(e) => dialog::alert(&format!(
410 "An issue occured while loading the file: {e}"
411 )),
412 }
413 } else {
414 dialog::alert("File does not exist!")
415 }
416 }
417 }
418 Save => {
419 self.save_file().unwrap();
420 }
421 SaveAs => {
422 self.save_file_as().unwrap();
423 }
424 Print => {
425 let mut printer = printer::Printer::default();
426 if printer.begin_job(0).is_ok() {
427 let (w, h) = printer.printable_rect();
428 self.printable.resize(
429 self.printable.x(),
430 self.printable.y(),
431 w - 40,
432 h - 40,
433 );
434 // Needs cleanup
435 let line_count = self.printable.count_lines(
436 0,
437 self.printable.buffer().unwrap().length(),
438 true,
439 ) / 45;
440 for i in 0..=line_count {
441 self.printable.scroll(45 * i, 0);
442 printer.begin_page().ok();
443 printer.print_widget(&self.printable, 20, 20);
444 printer.end_page().ok();
445 }
446 printer.end_job();
447 }
448 }
449 Quit => {
450 if self.modified {
451 match dialog::choice(
452 "Would you like to save your work?",
453 "&Yes",
454 "&No",
455 "",
456 ) {
457 Some(0) => {
458 if self.save_file().unwrap() {
459 self.app.quit();
460 }
461 }
462 Some(1) => self.app.quit(),
463 Some(_) | None => (),
464 }
465 } else {
466 self.app.quit();
467 }
468 }
469 Cut => self.editor.cut(),
470 Copy => self.editor.copy(),
471 Paste => self.editor.paste(),
472 About => dialog::message(
473 "This is an example application written in Rust and using the FLTK Gui library.",
474 ),
475 }
476 }
477 }
478 }
Sourcepub fn kf_default(&mut self, c: Key)
pub fn kf_default(&mut self, c: Key)
Inserts the text associated with key ‘c’
Sourcepub fn kf_backspace(&mut self)
pub fn kf_backspace(&mut self)
Does a backspace
Sourcepub fn kf_shift_move(&mut self, c: Key)
pub fn kf_shift_move(&mut self, c: Key)
Extends the current selection in the direction of key ‘c’
Sourcepub fn kf_ctrl_move(&mut self, c: Key)
pub fn kf_ctrl_move(&mut self, c: Key)
Moves the current text cursor in the direction indicated by control key ‘c’
Sourcepub fn kf_c_s_move(&mut self, c: Key)
pub fn kf_c_s_move(&mut self, c: Key)
Extends the current selection in the direction indicated by control key ‘c’
Sourcepub fn kf_meta_move(&mut self, c: Key)
pub fn kf_meta_move(&mut self, c: Key)
Moves the current text cursor in the direction indicated by meta key ‘c’
Sourcepub fn kf_m_s_move(&mut self, c: Key)
pub fn kf_m_s_move(&mut self, c: Key)
Extends the current selection in the direction indicated by meta key ‘c’
Sourcepub fn kf_page_up(&mut self)
pub fn kf_page_up(&mut self)
Moves the text cursor up one page
Sourcepub fn kf_page_down(&mut self)
pub fn kf_page_down(&mut self)
Moves the text cursor down one page
Sourcepub fn kf_delete(&mut self)
pub fn kf_delete(&mut self)
Does a delete of selected text or the current character in the current buffer
Sourcepub fn kf_select_all(&mut self)
pub fn kf_select_all(&mut self)
Selects all text in the associated buffer
Sourcepub fn add_key_binding(
&mut self,
key: Key,
shortcut: Shortcut,
cb: fn(key: Key, editor: TextEditorPtr) -> i32,
)
pub fn add_key_binding( &mut self, key: Key, shortcut: Shortcut, cb: fn(key: Key, editor: TextEditorPtr) -> i32, )
Add a key binding
Sourcepub fn remove_key_binding(&mut self, key: Key, shortcut: Shortcut)
pub fn remove_key_binding(&mut self, key: Key, shortcut: Shortcut)
Remove a key binding
Trait Implementations§
Source§impl Clone for TextEditor
impl Clone for TextEditor
Source§fn clone(&self) -> TextEditor
fn clone(&self) -> TextEditor
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for TextEditor
impl Debug for TextEditor
Source§impl Default for TextEditor
impl Default for TextEditor
Source§impl DisplayExt for TextEditor
impl DisplayExt for TextEditor
Source§fn buffer(&self) -> Option<TextBuffer>
fn buffer(&self) -> Option<TextBuffer>
TextBuffer
Source§fn set_buffer<B: Into<Option<TextBuffer>>>(&mut self, buffer: B)
fn set_buffer<B: Into<Option<TextBuffer>>>(&mut self, buffer: B)
TextBuffer
.
Since the widget is long-lived, the lifetime of the buffer is prolonged to the lifetime of the programSource§fn style_buffer(&self) -> Option<TextBuffer>
fn style_buffer(&self) -> Option<TextBuffer>
TextBuffer
Source§fn set_text_font(&mut self, font: Font)
fn set_text_font(&mut self, font: Font)
Source§fn text_color(&self) -> Color
fn text_color(&self) -> Color
Source§fn set_text_color(&mut self, color: Color)
fn set_text_color(&mut self, color: Color)
Source§fn set_text_size(&mut self, sz: i32)
fn set_text_size(&mut self, sz: i32)
Source§fn set_insert_position(&mut self, new_pos: i32)
fn set_insert_position(&mut self, new_pos: i32)
Source§fn insert_position(&self) -> i32
fn insert_position(&self) -> i32
Source§fn count_lines(&self, start: i32, end: i32, is_line_start: bool) -> i32
fn count_lines(&self, start: i32, end: i32, is_line_start: bool) -> i32
Source§fn show_cursor(&mut self, val: bool)
fn show_cursor(&mut self, val: bool)
Source§fn set_highlight_data<B: Into<Option<TextBuffer>>, E: Into<Vec<StyleTableEntry>>>(
&mut self,
style_buffer: B,
entries: E,
)
fn set_highlight_data<B: Into<Option<TextBuffer>>, E: Into<Vec<StyleTableEntry>>>( &mut self, style_buffer: B, entries: E, )
Source§fn unset_highlight_data<B: Into<Option<TextBuffer>>>(&mut self, style_buffer: B)
fn unset_highlight_data<B: Into<Option<TextBuffer>>>(&mut self, style_buffer: B)
Source§fn set_cursor_style(&mut self, style: Cursor)
fn set_cursor_style(&mut self, style: Cursor)
Source§fn set_cursor_color(&mut self, color: Color)
fn set_cursor_color(&mut self, color: Color)
Source§fn set_scrollbar_size(&mut self, size: i32)
fn set_scrollbar_size(&mut self, size: i32)
Source§fn set_scrollbar_align(&mut self, align: Align)
fn set_scrollbar_align(&mut self, align: Align)
Source§fn cursor_style(&self) -> Cursor
fn cursor_style(&self) -> Cursor
Source§fn cursor_color(&self) -> Color
fn cursor_color(&self) -> Color
Source§fn scrollbar_size(&self) -> i32
fn scrollbar_size(&self) -> i32
Source§fn scrollbar_align(&self) -> Align
fn scrollbar_align(&self) -> Align
Source§fn line_start(&self, pos: i32) -> i32
fn line_start(&self, pos: i32) -> i32
Source§fn line_end(&self, start_pos: i32, is_line_start: bool) -> i32
fn line_end(&self, start_pos: i32, is_line_start: bool) -> i32
Source§fn skip_lines(&mut self, start_pos: i32, lines: i32, is_line_start: bool) -> i32
fn skip_lines(&mut self, start_pos: i32, lines: i32, is_line_start: bool) -> i32
start_pos
Source§fn previous_word(&mut self)
fn previous_word(&mut self)
Source§fn word_start(&self, pos: i32) -> i32
fn word_start(&self, pos: i32) -> i32
Source§fn word_end(&self, pos: i32) -> i32
fn word_end(&self, pos: i32) -> i32
Source§fn set_linenumber_width(&mut self, w: i32)
fn set_linenumber_width(&mut self, w: i32)
Source§fn linenumber_width(&self) -> i32
fn linenumber_width(&self) -> i32
Source§fn set_linenumber_font(&mut self, font: Font)
fn set_linenumber_font(&mut self, font: Font)
Source§fn linenumber_font(&self) -> Font
fn linenumber_font(&self) -> Font
Source§fn set_linenumber_size(&mut self, size: i32)
fn set_linenumber_size(&mut self, size: i32)
Source§fn linenumber_size(&self) -> i32
fn linenumber_size(&self) -> i32
Source§fn set_linenumber_fgcolor(&mut self, color: Color)
fn set_linenumber_fgcolor(&mut self, color: Color)
Source§fn linenumber_fgcolor(&self) -> Color
fn linenumber_fgcolor(&self) -> Color
Source§fn set_linenumber_bgcolor(&mut self, color: Color)
fn set_linenumber_bgcolor(&mut self, color: Color)
Source§fn linenumber_bgcolor(&self) -> Color
fn linenumber_bgcolor(&self) -> Color
Source§fn set_linenumber_align(&mut self, align: Align)
fn set_linenumber_align(&mut self, align: Align)
Source§fn linenumber_align(&self) -> Align
fn linenumber_align(&self) -> Align
Source§fn in_selection(&self, x: i32, y: i32) -> bool
fn in_selection(&self, x: i32, y: i32) -> bool
Source§fn wrap_mode(&mut self, wrap: WrapMode, wrap_margin: i32)
fn wrap_mode(&mut self, wrap: WrapMode, wrap_margin: i32)
AtColumn
, wrap margin is the column.
If the wrap mode is AtPixel
, wrap margin is the pixel.
For more infoSource§fn wrapped_column(&self, row: i32, column: i32) -> i32
fn wrapped_column(&self, row: i32, column: i32) -> i32
Source§fn wrapped_row(&self, row: i32) -> i32
fn wrapped_row(&self, row: i32) -> i32
Source§fn set_grammar_underline_color(&mut self, color: Color)
fn set_grammar_underline_color(&mut self, color: Color)
Source§fn grammar_underline_color(&self) -> Color
fn grammar_underline_color(&self) -> Color
Source§fn set_spelling_underline_color(&mut self, color: Color)
fn set_spelling_underline_color(&mut self, color: Color)
Source§fn spelling_underline_color(&self) -> Color
fn spelling_underline_color(&self) -> Color
Source§fn set_secondary_selection_color(&mut self, color: Color)
fn set_secondary_selection_color(&mut self, color: Color)
Source§fn secondary_selection_color(&self) -> Color
fn secondary_selection_color(&self) -> Color
Source§fn show_insert_position(&mut self)
fn show_insert_position(&mut self)
Source§impl PartialEq for TextEditor
impl PartialEq for TextEditor
Source§impl WidgetBase for TextEditor
impl WidgetBase for TextEditor
Source§unsafe fn from_widget_ptr(ptr: *mut Fl_Widget) -> Self
unsafe fn from_widget_ptr(ptr: *mut Fl_Widget) -> Self
Source§unsafe fn from_widget<W: WidgetExt>(w: W) -> Self
unsafe fn from_widget<W: WidgetExt>(w: W) -> Self
Source§fn handle<F: FnMut(&mut Self, Event) -> bool + 'static>(&mut self, cb: F)
fn handle<F: FnMut(&mut Self, Event) -> bool + 'static>(&mut self, cb: F)
Fl_Widget::handle(int)
.
Handled or ignored events should return true, unhandled events should return false.
takes the widget as a closure argument.
The ability to handle an event might depend on handling other events, as explained hereSource§fn draw<F: FnMut(&mut Self) + 'static>(&mut self, cb: F)
fn draw<F: FnMut(&mut Self) + 'static>(&mut self, cb: F)
WidgetBase::draw
actually calls drawing functionsSource§fn resize_callback<F: FnMut(&mut Self, i32, i32, i32, i32) + 'static>(
&mut self,
cb: F,
)
fn resize_callback<F: FnMut(&mut Self, i32, i32, i32, i32) + 'static>( &mut self, cb: F, )
Source§unsafe fn assume_derived(&mut self)
unsafe fn assume_derived(&mut self)
Source§impl WidgetExt for TextEditor
impl WidgetExt for TextEditor
Source§fn set_label(&mut self, title: &str)
fn set_label(&mut self, title: &str)
@
sign.
and for the associated formatting.Source§fn unset_label(&mut self)
fn unset_label(&mut self)
Source§fn measure_label(&self) -> (i32, i32)
fn measure_label(&self) -> (i32, i32)
Source§fn as_widget_ptr(&self) -> *mut Fl_Widget
fn as_widget_ptr(&self) -> *mut Fl_Widget
Fl_Widget
, for internal useSource§fn deactivate(&mut self)
fn deactivate(&mut self)
Source§fn redraw_label(&mut self)
fn redraw_label(&mut self)
Source§fn resize(&mut self, x: i32, y: i32, width: i32, height: i32)
fn resize(&mut self, x: i32, y: i32, width: i32, height: i32)
Source§fn widget_resize(&mut self, x: i32, y: i32, width: i32, height: i32)
fn widget_resize(&mut self, x: i32, y: i32, width: i32, height: i32)
Source§fn set_tooltip(&mut self, txt: &str)
fn set_tooltip(&mut self, txt: &str)
Source§fn label_color(&self) -> Color
fn label_color(&self) -> Color
Source§fn set_label_color(&mut self, color: Color)
fn set_label_color(&mut self, color: Color)
Source§fn label_font(&self) -> Font
fn label_font(&self) -> Font
Source§fn set_label_font(&mut self, font: Font)
fn set_label_font(&mut self, font: Font)
Source§fn label_size(&self) -> i32
fn label_size(&self) -> i32
Source§fn set_label_size(&mut self, sz: i32)
fn set_label_size(&mut self, sz: i32)
Source§fn label_type(&self) -> LabelType
fn label_type(&self) -> LabelType
Source§fn set_label_type(&mut self, typ: LabelType)
fn set_label_type(&mut self, typ: LabelType)
Source§fn set_changed(&mut self)
fn set_changed(&mut self)
Source§fn clear_changed(&mut self)
fn clear_changed(&mut self)
Source§fn set_when(&mut self, trigger: When)
fn set_when(&mut self, trigger: When)
when()
Source§fn selection_color(&self) -> Color
fn selection_color(&self) -> Color
Source§fn set_selection_color(&mut self, color: Color)
fn set_selection_color(&mut self, color: Color)
Source§fn do_callback(&mut self)
fn do_callback(&mut self)
Source§fn top_window(&self) -> Option<Box<dyn WindowExt>>
fn top_window(&self) -> Option<Box<dyn WindowExt>>
Source§fn takes_events(&self) -> bool
fn takes_events(&self) -> bool
Source§fn set_visible_focus(&mut self)
fn set_visible_focus(&mut self)
Source§fn clear_visible_focus(&mut self)
fn clear_visible_focus(&mut self)
Source§fn visible_focus(&mut self, v: bool)
fn visible_focus(&mut self, v: bool)
Source§fn has_visible_focus(&self) -> bool
fn has_visible_focus(&self) -> bool
Source§fn was_deleted(&self) -> bool
fn was_deleted(&self) -> bool
Source§fn set_damage(&mut self, flag: bool)
fn set_damage(&mut self, flag: bool)
Source§fn damage_type(&self) -> Damage
fn damage_type(&self) -> Damage
Source§fn set_damage_type(&mut self, mask: Damage)
fn set_damage_type(&mut self, mask: Damage)
Source§fn set_damage_area(&mut self, mask: Damage, x: i32, y: i32, w: i32, h: i32)
fn set_damage_area(&mut self, mask: Damage, x: i32, y: i32, w: i32, h: i32)
Source§fn clear_damage(&mut self)
fn clear_damage(&mut self)
Source§fn as_window(&self) -> Option<Box<dyn WindowExt>>
fn as_window(&self) -> Option<Box<dyn WindowExt>>
Source§fn as_group(&self) -> Option<Group>
fn as_group(&self) -> Option<Group>
Source§fn inside<W: WidgetExt>(&self, wid: &W) -> bool
fn inside<W: WidgetExt>(&self, wid: &W) -> bool
Source§fn get_type<T: WidgetType>(&self) -> T
fn get_type<T: WidgetType>(&self) -> T
Source§fn set_type<T: WidgetType>(&mut self, typ: T)
fn set_type<T: WidgetType>(&mut self, typ: T)
Source§fn set_image_scaled<I: ImageExt>(&mut self, image: Option<I>)
fn set_image_scaled<I: ImageExt>(&mut self, image: Option<I>)
Source§fn set_deimage<I: ImageExt>(&mut self, image: Option<I>)
fn set_deimage<I: ImageExt>(&mut self, image: Option<I>)
Source§fn set_deimage_scaled<I: ImageExt>(&mut self, image: Option<I>)
fn set_deimage_scaled<I: ImageExt>(&mut self, image: Option<I>)
Source§fn deimage(&self) -> Option<Box<dyn ImageExt>>
fn deimage(&self) -> Option<Box<dyn ImageExt>>
Source§fn set_callback<F: FnMut(&mut Self) + 'static>(&mut self, cb: F)
fn set_callback<F: FnMut(&mut Self) + 'static>(&mut self, cb: F)
Source§fn emit<T: 'static + Clone + Send + Sync>(&mut self, sender: Sender<T>, msg: T)
fn emit<T: 'static + Clone + Send + Sync>(&mut self, sender: Sender<T>, msg: T)
Source§unsafe fn as_widget<W: WidgetBase>(&self) -> W
unsafe fn as_widget<W: WidgetBase>(&self) -> W
WidgetExt
to some widget type Read moreSource§fn visible_r(&self) -> bool
fn visible_r(&self) -> bool
Source§fn is_same<W: WidgetExt>(&self, other: &W) -> bool
fn is_same<W: WidgetExt>(&self, other: &W) -> bool
Source§fn active_r(&self) -> bool
fn active_r(&self) -> bool
Source§fn handle_event(&mut self, event: Event) -> bool
fn handle_event(&mut self, event: Event) -> bool
Source§fn is_derived(&self) -> bool
fn is_derived(&self) -> bool
Source§fn as_base_widget(&self) -> Widgetwhere
Self: Sized,
fn as_base_widget(&self) -> Widgetwhere
Self: Sized,
WidgetExt
to a WidgetSource§impl WidgetProps for TextEditor
impl WidgetProps for TextEditor
Source§fn with_label(self, title: &str) -> Self
fn with_label(self, title: &str) -> Self
Initialize with a label
Source§fn with_align(self, align: Align) -> Self
fn with_align(self, align: Align) -> Self
Initialize with alignment
Source§fn with_type<T: WidgetType>(self, typ: T) -> Self
fn with_type<T: WidgetType>(self, typ: T) -> Self
Initialize with type
Source§fn below_of<W: WidgetExt>(self, wid: &W, padding: i32) -> Self
fn below_of<W: WidgetExt>(self, wid: &W, padding: i32) -> Self
Initialize at bottom of another widget
Source§fn above_of<W: WidgetExt>(self, wid: &W, padding: i32) -> Self
fn above_of<W: WidgetExt>(self, wid: &W, padding: i32) -> Self
Initialize above of another widget
Source§fn right_of<W: WidgetExt>(self, wid: &W, padding: i32) -> Self
fn right_of<W: WidgetExt>(self, wid: &W, padding: i32) -> Self
Initialize right of another widget
Source§fn left_of<W: WidgetExt>(self, wid: &W, padding: i32) -> Self
fn left_of<W: WidgetExt>(self, wid: &W, padding: i32) -> Self
Initialize left of another widget
Source§fn center_x<W: WidgetExt>(self, w: &W) -> Self
fn center_x<W: WidgetExt>(self, w: &W) -> Self
Initialize center of another widget on the x axis
Source§fn center_y<W: WidgetExt>(self, w: &W) -> Self
fn center_y<W: WidgetExt>(self, w: &W) -> Self
Initialize center of another widget on the y axis
Source§fn center_of_parent(self) -> Self
fn center_of_parent(self) -> Self
Initialize center of parent
Source§fn size_of_parent(self) -> Self
fn size_of_parent(self) -> Self
Initialize to the size of the parent
impl Eq for TextEditor
impl Send for TextEditor
single-threaded
only.impl Sync for TextEditor
single-threaded
only.