[][src]Struct newt::widgets::Entry

pub struct Entry { /* fields omitted */ }

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, &mut f, Some(5));
    // 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

impl Entry[src]

pub fn new(
    left: i32,
    top: i32,
    initial_value: Option<&str>,
    width: i32,
    flags: i32
) -> Entry
[src]

pub fn get_text(&self) -> String[src]

pub fn set_text(&self, text: &str, cursor_at_end: bool)[src]

pub fn set_flags(&self, flags: i32, sense: FlagsSense)[src]

pub fn set_colors(&self, normal: i32, disabled: i32)[src]

pub fn get_cursor_position(&self) -> i32[src]

pub fn set_cursor_position(&self, position: i32)[src]

Trait Implementations

impl Component for Entry[src]

impl Drop for Entry[src]

impl PartialEq<Box<dyn Component + 'static>> for Entry[src]

impl PartialEq<ExitReason> for Entry[src]

impl<Rhs: Component> PartialEq<Rhs> for Entry[src]

impl WidgetFns for Entry[src]

Auto Trait Implementations

impl !RefUnwindSafe for Entry

impl !Send for Entry

impl !Sync for Entry

impl Unpin for Entry

impl UnwindSafe for Entry

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> WidgetFns for T where
    T: Grid, 
[src]