Richard Riley wrote: > "Matt Hoosier" <[EMAIL PROTECTED]> writes:
>> On 11/25/06, Richard <[EMAIL PROTECTED]> wrote: >>> >>> Could someone explain the reason for this function >>> >>> "g_signal_connect_swapped" >>> >>> I have read the manual here: >>> >>> http://www.gtk.org/tutorial/x159.html >>> >>> where it says: >>> >>> ,---- >>> | g_signal_connect_swapped() is the same as g_signal_connect() except that >>> | the instance on which the signal is emitted and data will be swapped >>> | when calling the handler. So when using this function to connect >>> | signals, the callback should be of the form >>> | >>> | >>> | void callback_func( gpointer callback_data, >>> | ... /* other signal arguments */ >>> | GtkWidget *widget); >>> | >>> | where the object is usually a widget. >>> `---- >>> >>> Could anyone express this a little clearer? I (as a gtk beginner) can >>> see no reason for it. >> >> This just means that the "widget" and "callback_data" pointers will be >> pushed onto the call stack in the opposite order from their ordering >> if hooked up with g_signal_connect(). If you're designing your own >> callback function, this probably isn't useful; just use >> g_signal_connnect() with a callback that has GObject* and gpointer >> parameters [in that order]. > I can see the order has changed - it was the reason I was looking for. I > don't currently see the point. Maybe it will become clearer as I learn > more. The point is being able to connect a signal to a method that you didn't write, but one that's already defined. If you wouldn't have g_signal_connect_after you'd need to create methods that do nothing but modify argument order. -- Michael 'Mickey' Lauer | IT-Freelancer | http://www.vanille-media.de _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list