[Glade-users] glade 3.6 and user data in callback function

daniel drmartens at gnu.univ.gda.pl
Sat May 9 17:02:43 EDT 2009


Juan Pablo Ugarte wrote:
> IIRC there is a bug in GtkBuilder
> 
> try using a custom autoconnect function like this one
> 
> void
> autoconnect_custom (GtkBuilder *builder,
> 					GObject *object,
> 					const gchar *signal_name,
> 					const gchar *handler_name,
> 					GObject *connect_object,
> 					GConnectFlags flags,
> 					gpointer data)
> {
> 	GCallback func;
> 	static GModule *module = NULL;
> 	
> 	if (!module) module = g_module_open (NULL, 0);
> 	
> 	if (!g_module_symbol (module, handler_name, (gpointer)&func))
> 	{
> 		g_warning ("could not find signal handler '%s'.", handler_name);
> 		return;
> 	}
> 	
> 	g_signal_connect (object, signal_name, func,
> 					  (connect_object) ? connect_object : data);
> }
> 
> and auto connect whit something like this
> 
> gtk_builder_connect_signals_full (builder, autoconnect_custom, NULL);
> 

Thanks. I wish I understood :) Is this possible in pygtk at all?

I have just found out, that if I use "user data" column in glade, the
object is passed, but not as a (last) user_data argument, but a widget
argument. Is this the bug you meant?

I mean, if I have a cellrenderertoggle callback like
def toggled(self, cell, path):

The cell argument would not hold a cellrenderer that fired the signal,
but actually the object I defined as user data in glade.

Now I wonder, if this is gtkbuilder or pygtk issue.

daniel




More information about the Glade-users mailing list