Alessandro Dentella wrote: > On Wed, Dec 24, 2008 at 01:22:49PM +0100, Gian Mario Tagliaretti wrote: > >> On Wed, Dec 24, 2008 at 9:57 AM, Frédéric >> <[email protected]> wrote: >> >> >>> PS: BTW, where did you find the stop_emission() method? I can't retreive it >>> in the doc... >>> >> it a gobject method: >> http://library.gnome.org/devel/pygobject/stable/class-gobject.html#method-gobject--stop-emission >> > > following the docs I have several questions? > > 1. the explanation is exactly the same as for "emit_stop_by_name": which > is the difference? > > They are the same. > """ > The stop_emission() method stops the current emission of the signal > specified by detailed_signal > """ > > 2. "current emission" means the emission of the signal that is now > handled? if this is the case, what's the need for specifying the name? > A signal could be emitted within a signal emission. > 3. How is it different from returning True? > I tested it with:: > > b = gtk.Button("Press me") > e = gtk.Entry() > b.connect('clicked', self.on_clicked1) > b.connect('clicked', self.on_clicked2) > > e.connect('key-press-event', self.on_key_press_event1) > e.connect('key-press-event', self.on_key_press_event2) > > > on_clicked2 cannot be inhibited returning True from on_clicked1 while > on_key_press_event1 *can* be inhibited simply returning True. > > Both can be inhibited using stop_emission. > Some signals provide an explicit means of stopping the signal emission using a return value from a handler. The "clicked" handler is not supposed to provide a return value so returning True does nothing.
John _______________________________________________ pygtk mailing list [email protected] http://www.daa.com.au/mailman/listinfo/pygtk Read the PyGTK FAQ: http://faq.pygtk.org/
