Re: Glib::RefPtr
- From: Phil Wolff <adiabat centurylink net>
- To: gtkmm-list gnome org
- Subject: Re: Glib::RefPtr
- Date: Sun, 8 Oct 2017 09:53:28 -0700
Bad news, 'cause rebuilding is really slow, and copying or serializing
would be much faster.
I wasn't paying much attention to the callback because it didn't appear
to be the problem, but modifying the example accordingly does effect a cure.
I have used Gtk::Stack in another application, but I had completely
forgotten it. I'll give it a shot.
Thanks for the assist!
On 10/08/2017 09:30 AM, Daniel Boles wrote:
I've taken a look at this and think it's intentional and fairly clear:
* GTK+ and gtkmm both refer to the slot as "a slot that creates
widgets". i.e. creates, for the FlowBox's consumption. Not a slot
that returns a reference to a widget that already existed for some
other purpose.
* GtkFlowBox does gtk_flow_box_forall (GTK_CONTAINER (box), FALSE,
(GtkCallback) gtk_widget_destroy, NULL);
So, I think your original conclusion, that the widgets must always be
rebuilt, was correct.
As for the question about copying them, I'm afraid that can't work, as
far as I know; relatively few GObjects maintain all their state as
properties, often keeping essential info in private structs, so unless
the C class provides a copy/clone method, that can't be done. Not that
I think it'd help much here anyway - you'd just be copying instead of
deleting/recreating.
Perhaps you can instead build all the FlowBoxes, one for each model,
then just show the one that's currently relevant. e.g. using Gtk::Stack
_______________________________________________
gtkmm-list mailing list
gtkmm-list gnome org
https://mail.gnome.org/mailman/listinfo/gtkmm-list
--
It is better to have tried and failed than to have failed to try, but
the result's the same.
— Mike Dennison
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]