Gtk::MenuToolButton, Gtk::ListBox, Gtk::ListBoxRow are all container
widgets. When you add a Gtk::Image, it becomes a child of the parent
container. A Gtk::Image is a widget, and a widget can be the child of at
most one container. You can't add the same Gtk::Image to more than one
Gtk::MenuToolButton or more than one Gtk::ListBoxRow.
Usually when you try to add a widget to more than one container, you get
the g_warning() message
"Can't set a parent on widget which has a parent". Unfortunately
gtk_tool_button_construct_contents() handles the situation in such a way
that this message is not printed.
Kjell
2014-07-07 19:59, Phil Wolff skrev:
I have just discovered that this isn't confined to
Gtk::MenuToolButton, it happens when attempting to re-use a Gtk::Image
instance in multiple Gtk::ListBoxRows as well.
On 07/07/2014 12:27 AM, Kjell Ahlstedt wrote:
2014-07-05 23:08, Phil Wolff skrev:
I'm using GTKMM 3.10.1 on 64-bit Ubuntu 14.04. I've got three
Gtk::MenuToolButtons in my UI, and I want the same icon to appear on
all three of them. This seems not to work -- my icon appears only on
the last button to be instantiated, and the first two have no icon,
only the activate arrow. To get my icon to appear on all three
buttons, I've had to fetch the icon as a Gdk::Pixmap and create from
it three unique Gtk::Image instances, one for each button. Should I
presume there's some arcane Gtk requirement that makes this necessary?
If you can give me a (preferably short) test case to experiment with,
I can look into this. I don't know if it's a bug or by design.
And, in a closely related but extremely minor issue, I've noticed
that run-time error messages related to Gtk::Image problems in
Gtk::Builder mis-identify the source, e.g.
gtkmm-CRITICAL **: gtkmm: Gtk::_Buidler_: widget `FolderIcon'
was not found in the GtkBuilder file, or the specified part of it.
I've fixed the typo in Gtk::Builder.
Kjell
_______________________________________________
gtkmm-list mailing list
gtkmm-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtkmm-list