Struct cursive::views::EditView
[−]
[src]
pub struct EditView { /* fields omitted */ }
Input box where the user can enter and edit text.
Examples
From the edit example.
let mut siv = Cursive::new(); // Create a dialog with an edit text and a button. // The user can either hit the <Ok> button, // or press Enter on the edit text. siv.add_layer(Dialog::new() .title("Enter your name") .padding((1, 1, 1, 0)) .content(EditView::new() .on_submit(show_popup) .with_id("name") .fixed_width(20)) .button("Ok", |s| { let name = s.call_on_id("name", |view: &mut EditView| view.get_content()) .unwrap(); show_popup(s, &name); })); fn show_popup(s: &mut Cursive, name: &str) { if name.is_empty() { s.add_layer(Dialog::info("Please enter a name!")); } else { let content = format!("Hello {}!", name); s.pop_layer(); s.add_layer(Dialog::around(TextView::new(content)) .button("Quit", |s| s.quit())); } }
Methods
impl EditView
[src]
fn new() -> Self
Creates a new, empty edit view.
fn set_secret(&mut self, secret: bool)
If secret
is true
, the content won't be displayed in clear.
Only *
will be shown.
fn secret(self) -> Self
Hides the content of the view.
Only *
will be shown.
fn set_filler<S: Into<String>>(&mut self, filler: S)
Sets the character to fill in blank space.
Defaults to "_".
fn filler<S: Into<String>>(self, filler: S) -> Self
Sets the character to fill in blank space.
Chainable variant.
Examples
let edit = EditView::new() .filler(" ");
fn disable(&mut self)
Disables this view.
A disabled view cannot be selected.
fn disabled(self) -> Self
Disables this view.
Chainable variant.
fn enable(&mut self)
Re-enables this view.
fn set_style(&mut self, style: ColorStyle)
Sets the style used for this view.
When the view is enabled, the style will be reversed.
Defaults to ColorStyle::Secondary
.
fn style(self, style: ColorStyle) -> Self
Sets the style used for this view.
When the view is enabled, the style will be reversed.
Chainable variant.
fn set_on_edit_mut<F>(&mut self, callback: F) where
F: FnMut(&mut Cursive, &str, usize) + 'static,
F: FnMut(&mut Cursive, &str, usize) + 'static,
Sets a mutable callback to be called whenever the content is modified.
callback
will be called with the view
content and the current cursor position.
Warning: this callback cannot be called recursively. If you somehow trigger this callback again in the given closure, it will be ignored.
If you don't need a mutable closure but want the possibility of
recursive calls, see set_on_edit
.
fn set_on_edit<F>(&mut self, callback: F) where
F: Fn(&mut Cursive, &str, usize) + 'static,
F: Fn(&mut Cursive, &str, usize) + 'static,
Sets a callback to be called whenever the content is modified.
callback
will be called with the view
content and the current cursor position.
This callback can safely trigger itself recursively if needed
(for instance if you call on_event
on this view from the callback).
If you need a mutable closure and don't care about the recursive
aspect, see set_on_edit_mut
.
fn on_edit_mut<F>(self, callback: F) -> Self where
F: FnMut(&mut Cursive, &str, usize) + 'static,
F: FnMut(&mut Cursive, &str, usize) + 'static,
Sets a mutable callback to be called whenever the content is modified.
Chainable variant. See set_on_edit_mut
.
fn on_edit<F>(self, callback: F) -> Self where
F: Fn(&mut Cursive, &str, usize) + 'static,
F: Fn(&mut Cursive, &str, usize) + 'static,
Sets a callback to be called whenever the content is modified.
Chainable variant. See set_on_edit
.
fn set_on_submit_mut<F>(&mut self, callback: F) where
F: FnMut(&mut Cursive, &str) + 'static,
F: FnMut(&mut Cursive, &str) + 'static,
Sets a mutable callback to be called when <Enter>
is pressed.
callback
will be given the content of the view.
Warning: this callback cannot be called recursively. If you somehow trigger this callback again in the given closure, it will be ignored.
If you don't need a mutable closure but want the possibility of
recursive calls, see set_on_submit
.
fn set_on_submit<F>(&mut self, callback: F) where
F: Fn(&mut Cursive, &str) + 'static,
F: Fn(&mut Cursive, &str) + 'static,
Sets a callback to be called when <Enter>
is pressed.
callback
will be given the content of the view.
This callback can safely trigger itself recursively if needed
(for instance if you call on_event
on this view from the callback).
If you need a mutable closure and don't care about the recursive
aspect, see set_on_submit_mut
.
fn on_submit_mut<F>(self, callback: F) -> Self where
F: FnMut(&mut Cursive, &str) + 'static,
F: FnMut(&mut Cursive, &str) + 'static,
Sets a mutable callback to be called when <Enter>
is pressed.
Chainable variant.
fn on_submit<F>(self, callback: F) -> Self where
F: Fn(&mut Cursive, &str) + 'static,
F: Fn(&mut Cursive, &str) + 'static,
Sets a callback to be called when <Enter>
is pressed.
Chainable variant.
fn set_enabled(&mut self, enabled: bool)
Enable or disable this view.
fn is_enabled(&self) -> bool
Returns true
if this view is enabled.
fn set_content<S: Into<String>>(&mut self, content: S)
Replace the entire content of the view with the given one.
fn get_content(&self) -> Rc<String>
Get the current text.
fn content<S: Into<String>>(self, content: S) -> Self
Sets the current content to the given value.
Convenient chainable method.
fn set_cursor(&mut self, cursor: usize)
Sets the cursor position.
fn insert(&mut self, ch: char)
Insert ch
at the current cursor position.
fn remove(&mut self, len: usize)
Remove the character at the current cursor position.
Trait Implementations
impl Default for EditView
[src]
impl View for EditView
[src]
fn draw(&self, printer: &Printer)
Draws the view with the given printer (includes bounds) and focus.
fn layout(&mut self, size: Vec2)
Called once the size for this view has been decided, Read more
fn take_focus(&mut self, _: Direction) -> bool
This view is offered focus. Will it take it? Read more
fn on_event(&mut self, event: Event) -> EventResult
Called when a key was pressed. Read more
fn required_size(&mut self, constraint: Vec2) -> Vec2
Returns the minimum size the view requires with the given restrictions. Read more
fn needs_relayout(&self) -> bool
Returns true
if the view content changed since last layout phase. Read more
fn call_on_any<'a>(&mut self, _: &Selector, _: Box<FnMut(&mut Any) + 'a>)
Finds the view identified by the given selector. Read more
fn focus_view(&mut self, &Selector) -> Result<(), ()>
Moves the focus to the view identified by the given selector. Read more