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

Reply via email to