The Gtk--'s signal system function and object prototypes
All these are with no arguments and a return type and they scale
directly to many arguments. These might be useful in finding compile
time errors coming from the compiler. If there's any situations that
these cannot handle, let me know.
What kind of Signal -objects are there available?
(gtk-- provides signals up to 5 parameters)
Signal0 mysignal;
Signal1<int> mysignal_with_one_parameter;
Signal0_r<rettype> signal_with_return_type;
Signal1_r<rettype,int> signal_with_return_type_and_one_parameter;
Signals used for interfacing with C widget hierarchy
Signal_proxy0<rettype, widgettype> signal0;
Signal_proxy1<rettype, widgettype,P1> signal1;
What kind of connect() function signatures does gtk-- provide?
template<class rettype, class T>
Connection connect(Signal0_r<rettype>& signal, T* receiver, rettype (T::*method)());
template<class T>
Connection connect(Signal0 &signal, T* receiver, void (T::*method()));
template<class rettype, class T, class E>
Connection connect(Signal0_r<rettype>& signal, T* receiver, rettype (T::*method)(E), E cbd);
template<class T, class E>
Connection connect(Signal0 &signal, T* receiver, void (T::*method)(E), E cbd);
template<class rettype>
Connection connect(Signal0_r<rettype> &signal, rettype(*func)());
template<class rettype, class M>
Connection connect(Signal0_r<rettype> &signal, M& functionobject);
Connection connect(Signal0 &signal, void (*func)());
template<class M>
Connection connect(Signal0 &signal, M& functionobject);
template<class rettype, class E>
Connection connect(Signal0_r<rettype> &signal, rettype (*func)(E),E cbd);
template<class rettype, class M, class E>
Connection connect(Signal0_r<rettype> &signal, M& functionobject, E cbd);
template<class E>
Connection connect(Signal0 &signal, void (*func)(E), E cbd);
template<class E, class M>
Connection connect(Signal0 &signal, M& functionobject, E cbd);
The next ones are for interfacing with C language widget hierarchy
template<class rettype, class widgettype, class T>
Connection connect(Signal_proxy0<rettype, widgettype> &signal, T* receiver, rettype (T::*method)());
template<class rettype,class widgettype, class T, class E>
Connection connect(Signal_proxy0<rettype,widgettype> &signal, T *receiver, rettype (T::*method)(E), E arg );
template<class rettype,class widgettype>
Connection connect(Signal_proxy0<rettype,widgettype> &signal, rettype (*method)() );
template<class rettype,class widgettype, class M>
Connection connect(Signal_proxy0<rettype,widgettype> &signal, M &functionobject );
template<class rettype, class widgettype, class E>
Connection connect(Signal_proxy0<rettype,widgettype> &signal, rettype (*method)(E), E arg );
template<class rettype, class widgettype, class M, class E>
Connection connect(Signal_proxy0<rettype,widgettype> &signal, M &functionobject, E arg );
Some obsolete connect()'s that are not anymore supported
(do not use these)
template <class T>
void connect(Gtk_Object* sender, const char *name, T staticfunction);
template<class rettype, class T>
rettype connect(Gtk_Object* sender, const char *name, T* receiver, rettype (T::*method)());
template<class rettype, class T, class E>
void connect(Gtk_Object* sender, const char* name, T* receiver, rettype (T::*method)(), E e);
Tero Pulkkinen (terop@modeemi.cs.tut.fi)