Struct SuspendCallback

Source
pub struct SuspendCallback<FN, T>
where FN: FnMut(Option<&T>),
{ /* private fields */ }
Expand description

A callback called when Ctrl-Z is pressed.

§Example

extern crate newt;
use newt::callbacks::SuspendCallback;
use newt::prelude::*;

pub fn main() {
    // Receives the new value when the SuspendCallback is activated.
    let mut value: i32 = 0;

    newt::init().unwrap();
    newt::cls();
    newt::centered_window(20, 5, Some("Suspend Callback Test")).unwrap();

    let label = Label::new(4, 1, "Press Ctrl-Z");
    let ok = CompactButton::new(7, 4, "Ok");

    let mut form = Form::new(None, 0);
    form.add_components(&[&label, &ok]).unwrap();

    // Closure `f` borrows `value` as mutable so create a new subscope here
    // allowing `value` to be borrowed immutably when printing the result
    // later.
    {
        // Create closure to be called by SuspendCallback
        let mut f = |data: Option<&i32>| {
            value = *data.unwrap();
        };
        // Create SuspendCallback using `10` as data.
        let _callback = SuspendCallback::new(Some(10), &mut f);

        form.run().unwrap();
        newt::finished();
    }

    // `value` will be `10` if Ctrl-Z was pressed.
    println!("value = {}", value);
}

Implementations§

Source§

impl<FN, T> SuspendCallback<FN, T>
where FN: FnMut(Option<&T>),

Source

pub fn new(data: Option<T>, function: FN) -> Box<SuspendCallback<FN, T>>

Create a new SuspendCallback to be called when a suspend (Ctrl-Z) event occurs.

  • data - The optional user data to pass to the function.
  • function - The function or closure to be called when a suspend event occurs.

Trait Implementations§

Source§

impl<FN, T> Drop for SuspendCallback<FN, T>
where FN: FnMut(Option<&T>),

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl<FN, T> Freeze for SuspendCallback<FN, T>
where FN: Freeze, T: Freeze,

§

impl<FN, T> RefUnwindSafe for SuspendCallback<FN, T>

§

impl<FN, T> Send for SuspendCallback<FN, T>
where FN: Send, T: Send,

§

impl<FN, T> Sync for SuspendCallback<FN, T>
where FN: Sync, T: Sync,

§

impl<FN, T> Unpin for SuspendCallback<FN, T>
where FN: Unpin, T: Unpin,

§

impl<FN, T> UnwindSafe for SuspendCallback<FN, T>
where FN: UnwindSafe, T: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.