Re: gchar * properties
- From: Pablo Yanez Trujillo <yanezp informatik uni-freiburg de>
- To: Tadej Borovšak <tadeboro gmail com>
- Cc: gtk-list gnome org
- Subject: Re: gchar * properties
- Date: Thu, 16 Oct 2008 20:37:24 +0200
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi
> As far as I my experience go, it is usually safe to assume that
> g_object_set( widget, "prop", value, NULL ) does the same thing as
> gtk_widget_set_prop( widget, value ). In the case of gchar * values,
> the value gets it's own copy of a string via g_strdup.
thanks, I've checked the original pointer with the returning pointer and they were different. So it seems that a copy is
always done.
> This is a copy from gtkwidget.h file. I cannot say if it is safe to
> change that, but you can always try and see what happens;)
I've made a test with a glade file:
GtkWindow *setting_window;
setting_window = g_object_new(GTK_TYPE_WINDOW,
"title", "Settings",
"border-width", 6,
"window-position", GTK_WIN_POS_MOUSE,
NULL);
g_printf("win name = %s\n", gtk_widget_get_name(GTK_WIDGET(setting_window)));
GtkVBox *vbox = GTK_VBOX(glade_xml_get_widget(new_xml, "mainwin_vbox"));
g_printf("vbox name = %s\n", gtk_widget_get_name(GTK_WIDGET(vbox)));
gtk_container_add(GTK_CONTAINER(setting_window), GTK_WIDGET(vbox));
button = GTK_BUTTON(glade_xml_get_widget(new_xml, "mainwin_close"));
g_signal_connect(button, "clicked", G_CALLBACK(close_me), setting_window);
image = GTK_IMAGE(glade_xml_get_widget(new_xml, "image1"));
g_object_set(image,
"file", "supertux.gif",
NULL);
g_printf("image name = %s\n", gtk_widget_get_name(GTK_WIDGET(image)));
This was the result:
win name = GtkWindow
vbox name = mainwin_vbox
image name = image1
it seems to me that it's safe to use the name property since glade uses it too. You can set any widget name within
glade-3 and I've never had problems with it.
I know that I can get an answer for some things directly out from the code but sometimes I don't know whether the piece
of code I've looked into is just a exception or if there's a policy for suchs things, that's why I've asked in the first
place ;)
It's seems great if I'm able to save "custom data" in the 'name' property. Sometimes it's handy to do that.
Regards
Pablo
- --
Pablo Yánez Trujillo
http://klingsor.informatik.uni-freiburg.de/
My public key: http://klingsor.informatik.uni-freiburg.de/gpg/supertux.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)
iEYEARECAAYFAkj3ieQACgkQDzf8xo+0xRXrFQCfTKLeEmUdAJIOBRLulKEc5N6n
m6MAoL9542p8W1VbcNbMeTNXwLvYV4W0
=KAPa
-----END PGP SIGNATURE-----
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]