pub struct Entry { /* private fields */ }
Expand description
A field for reading text input from the user.
An EntryFilter can be use to filter characters as the user
enters them into the Entry
.
§Example
extern crate newt;
use newt::callbacks::EntryFilter;
use newt::prelude::*;
pub fn main() {
newt::init().unwrap();
newt::cls();
newt::centered_window(22, 5, None).unwrap();
// last character entered
let mut g_ch: char = '\0';
// last cursor position
let mut g_cursor: i32 = 0;
// user data from last Entry modified
let mut g_data: i32 = 0;
// Create closure to be used to filter the Entry field.
let mut f = |_e: &Entry, data: Option<&i32>, ch: char, cursor: i32| {
g_data = *data.unwrap(); // set user data
g_ch = ch; // set character entered
g_cursor = cursor; // set cursor position
// The returned character gets added to the entry.
// If for example you want to fill an entry with asterisks despite
// what the user entered, then return '*' here.
return ch; // Return the entered character.
};
let l1 = Label::new(1, 1, "Entry 1:");
let l2 = Label::new(1, 2, "Entry 2:");
let e1 = Entry::new(10, 1, None, 10, 0);
let e2 = Entry::new(10, 2, None, 10, 0);
let ok = CompactButton::new(7, 4, "Ok");
let components: &[&dyn Component] = &[&l1, &l2, &e1, &e2, &ok];
let mut form = Form::new(None, 0);
form.add_components(components).unwrap();
// Filter the first Entry, passing user data `5`.
let mut filter = EntryFilter::new(&e1, Some(5), &mut f);
// Filter the second Entry, passing user data `10`.
filter.add_entry(&e2, Some(10));
form.run().unwrap();
newt::finished();
println!("Entry 1: {}", e1.get_text());
println!("Entry 2: {}", e2.get_text());
// Display the last values set by the filter.
println!("ch = {}", g_ch);
println!("cursor = {}", g_cursor);
println!("data = {}", g_data);
}
Implementations§
Source§impl Entry
impl Entry
Sourcepub fn new(
left: i32,
top: i32,
initial_value: Option<&str>,
width: i32,
flags: i32,
) -> Entry
pub fn new( left: i32, top: i32, initial_value: Option<&str>, width: i32, flags: i32, ) -> Entry
Create a new Entry
.
left
- The left-most position of theEntry
.top
- The top-most position of theEntry
.initial_value
- The optional inital text of theEntry
.width
- The width of theEntry
.flags
- Flags modifying the behavior of theEntry
. See also generalized flags.
Sourcepub fn set_text(&self, text: &str, cursor_at_end: bool)
pub fn set_text(&self, text: &str, cursor_at_end: bool)
Set the current text in the Entry
.
text
- The text to enter into theEntry
.cursor_at_end
- Move the cursor to the end of the string after setting the text.
Sourcepub fn set_flags(&self, flags: i32, sense: FlagsSense)
pub fn set_flags(&self, flags: i32, sense: FlagsSense)
Set flags modifying the Entry
’s behavior.
See Entry flags as well as flags for possible flags.
flags
- A logicalor
ed list of flags.sense
- The operation used to set the flags (Set
,Reset
, orToggle
).
Sourcepub fn set_colors(&self, normal: i32, disabled: i32)
pub fn set_colors(&self, normal: i32, disabled: i32)
Set the colors of the Entry
.
See COLORSET_CUSTOM for defining new color sets.
normal
- The color set to use when in a normal state.active
- The color set to use when activated or selected.
Sourcepub fn get_cursor_position(&self) -> i32
pub fn get_cursor_position(&self) -> i32
Get the current cursor position in the Entry
.
Sourcepub fn set_cursor_position(&self, position: i32)
pub fn set_cursor_position(&self, position: i32)
Set the current cursor position in the Entry
.
Trait Implementations§
Source§impl PartialEq<ExitReason> for Entry
impl PartialEq<ExitReason> for Entry
Auto Trait Implementations§
impl !Freeze for Entry
impl !RefUnwindSafe for Entry
impl !Send for Entry
impl !Sync for Entry
impl Unpin for Entry
impl UnwindSafe for Entry
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
Mutably borrows from an owned value. Read more