[][src]Macro gtk_test::observer_new

macro_rules! observer_new {
    ($widget:expr, $signal_name:ident, |$e1:pat $(,$e:pat)*|) => { ... };
    ($widget:expr, $signal_name:ident, |$e1:pat $(,$e:pat)*| $block:block) => { ... };
}

Create a new observer for signals.

Example:

extern crate gtk;
#[macro_use]
extern crate gtk_test;

use gtk::GtkWindowExt;

gtk::init().expect("initialization failed");
let window = gtk::Window::new(gtk::WindowType::Toplevel);

let observer = observer_new!(window, connect_activate_focus, |_|);
window.emit_activate_focus();
observer.wait();

You can also give a block to the macro that will be called when the signal is triggered:

extern crate gtk;
#[macro_use]
extern crate gtk_test;

use gtk::GtkWindowExt;

gtk::init().expect("initialization failed");
let window = gtk::Window::new(gtk::WindowType::Toplevel);

let observer = observer_new!(window, connect_activate_focus, |w| {
    w.set_title("Caribou !");
});
window.emit_activate_focus();
observer.wait();
assert_title!(window, "Caribou !");