DC A a écrit : > Hi! First of all i want to say I'm trying to learn gtk+2.0. And I got > stuck at a section(GObject's signal api) where they mentioned that A > signal emission consists of five stages which are: > > > 1 - Invocation of the object method handler for G_SIGNAL_RUN_FIRST signals > 2 - Invocation of normal user-provided signal handlers (after flag FALSE) > 3 - Invocation of the object method handler for G_SIGNAL_RUN_LAST signals > 4 - Invocation of user provided signal handlers, connected with an after > flag of TRUE > 5 - Invocation of the object method handler for G_SIGNAL_RUN_CLEANUP > signals > > > My questions are: > > 1)what is this 'after flag'? You give it when adding a signal handler, it's an arg of g_signal_connect. On the other hand, G_SIGNAL_RUN_FIRST and friends are set when the signal is defined, with g_signal_new (in a class definition in most cases). > 2)Can anyone kindly give example and explain of a signal that goes > through these five stages? > 3) what is the difference between object method handler and > user-provided signal handler? The "object method handler" is the handler in the class vtable (so it's class-level rather than object-level). For most uses, you call g_signal_connect on a particular object. If you want more detail, you can also see the gobject tutorial: http://www.le-hacker.org/papers/gobject/ch03s02.htm _______________________________________________ gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list