template<
class R, class... T>
class Glib::SignalProxyDetailed< R(T...)>
Proxy for signals with any number of arguments and possibly a detailed name.
Use the connect() or connect_notify() method, with sigc::mem_fun() or sigc::ptr_fun() to connect signal handlers to signals.
This is the primary template. There is a specialization for signal handlers that return void
. The specialization has no connect_notify() method, and the after parameter in its connect() method has a default value.
template <
class R , class... T>
sigc::connection Glib::SignalProxyDetailed< R(T...)>::connect |
( |
const SlotType & |
slot, |
|
|
bool |
after |
|
) |
| |
|
inline |
Connects a signal handler to a signal.
For instance, connect(sigc::mem_fun(*this, &TheClass::on_something), false);
For some signal handlers that return a value, it can make a big difference whether you connect before or after the default signal handler. Examples:
- Gio::Application::signal_command_line() calls only one signal handler. A handler connected after the default handler will never be called.
- X event signals, such as Gtk::Widget::signal_button_press_event(), stop calling signal handlers as soon as a called handler returns
true
. If the default handler returns true
, a handler connected after it will not be called.
- Parameters
-
slot | The signal handler, usually created with sigc::mem_fun() or sigc::ptr_fun(). |
after | Whether this signal handler should be called before or after the default signal handler. |
- Returns
- A sigc::connection.
template <
class R , class... T>
sigc::connection Glib::SignalProxyDetailed< R(T...)>::connect_notify |
( |
const VoidSlotType & |
slot, |
|
|
bool |
after = false |
|
) |
| |
|
inline |
Connects a signal handler without a return value to a signal.
By default, the signal handler will be called before the default signal handler.
For instance, connect_notify( sigc::mem_fun(*this, &TheClass::on_something) );
If the signal requires signal handlers with a return value of type T, connect_notify() binds return T()
to the connected signal handler. For instance, if the return type is bool
, the following two calls are equivalent.
connect(sigc::bind_return<bool>(sigc::mem_fun(*
this, &TheClass::on_something),
false),
false);
sigc::connection connect_notify(const VoidSlotType &slot, bool after=false)
Connects a signal handler without a return value to a signal.
Definition signalproxy.h:399
sigc::connection connect(const SlotType &slot, bool after)
Connects a signal handler to a signal.
Definition signalproxy.h:365
- Parameters
-
slot | The signal handler, which should have a void return type, usually created with sigc::mem_fun() or sigc::ptr_fun(). |
after | Whether this signal handler should be called before or after the default signal handler. |
- Returns
- A sigc::connection.