Listing 3
// ok
handle_event on_text_chg(m_name::ev::change::arg p) {
// ... do something with p
return event_ex<m_name::ev::change>().HANDLED_BY(&me::on_text_chg);
}
// compile-time error (argument does not match event: you're listening for
// an event from m_passw, but getting an arg from m_name)
handle_event on_text_chg(m_name::ev::change::arg p) {
// ... do something with p
return event_ex<m_passw::ev::change>().HANDLED_BY(&me::on_text_chg);
}
// compile-time error (argument does not match event: you're listening for
// "Kill Focus", but getting an argument "Set Focus")
handle_event on_text_setf(m_name::ev::set_focus::arg p) {
// ... do something with p
return event_ex<m_name::ev::kill_focus>().HANDLED_BY(&me::on_text_setf);
}