Macro gtk_test::observer_new
source · macro_rules! observer_new { ($widget:expr, $signal_name:ident, |$($arg:tt $(: $typ:ty)?),+|) => { ... }; ($widget:expr, $signal_name:ident, |$($arg:tt $(: $typ:ty)?),+| $block:block) => { ... }; }
Expand description
Create a new observer for signals.
Example:
extern crate gtk;
#[macro_use]
extern crate gtk_test;
use gtk::prelude::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::prelude::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 !");