Recently I had an idea to help with this. The connect and disconnect methods should look like: ret method(...) const;
and the emit method should looks like: ret method(...); The PushButton widget should looks like: class PushButton: public Widget { public: const sigc::signal<void> &get_on_clicked() const { return sigc::on_clicked; } private: // or protected sigc::signal<void> on_clicked; } Then the class members could emit the signal and non-members could connect and disconnect the signal. It's a simple and efficient way to resolve the problem. I care if there are problems with this approach. 2010/5/6 VinIPSmaker <vini.ipsma...@gmail.com> > I can develop the weak_signal class, and integrate with libSigC++ > Extras<http://libsigcx.sourceforge.net/>maybe, or I can develop it and use > only for me, closed to the rest of the > world. > Is anyone wanting help me? > > > private: > sigc::signal<void> signal; > public: > sigc::weak_signal<void> on_clicked(signal, SIGNAL_IS_CONNECTABLE); > > 2010/5/6 Stephan Beal <step...@s11n.net> > >> On Thu, May 6, 2010 at 8:45 AM, Murray Cumming <murr...@murrayc.com>wrote: >> >>> I'm not sure that Qt's signals can't be emitted by other classes, though >>> I'd like to know for sure. >>> >> >> It's true - Qt signals are either private or protected, i don't remember >> which. i do remember, however, adding proxy functions to allow other classes >> to fire the signal, e.g. >> >> public: >> void emitMySignal() >> { >> emit ....; >> } >> >> -- >> ----- stephan beal >> http://wanderinghorse.net/home/stephan/ >> >> _______________________________________________ >> libsigc-list mailing list >> libsigc-list@gnome.org >> http://mail.gnome.org/mailman/listinfo/libsigc-list >> >> >
_______________________________________________ libsigc-list mailing list libsigc-list@gnome.org http://mail.gnome.org/mailman/listinfo/libsigc-list