On Mon, 2016-02-08 at 20:04 +0100, Jonas Platte wrote:
> So, I've read most of this conversation, and it seems this simple
> alternative hasn't come up yet:
> 
>   // Old code
>   auto button = Gtk::manage(new Gtk::Button("a button");
>   button->show();
>   container.add(button);
> 
>   // New code
>   auto button = container.add_managed<Gtk::Button>("a button");
>   button->show();
> 
> I don't know how feasible it is to create loads of new member
> functions
> with a _managed (or a different) suffix, but API-wise I think
> reducing
> the creation and insertion into the container to one statement would
> make sense with std::unique_ptr.

Thanks. But that wouldn't involve a std::unique_ptr<> at all. It
doesn't feel much different than what we have with Gtk::manage().

It also forces the add() to to the beginning. I tend to prefer doing
that at the end, after setting up the child widget. I generally assume
that changing the state of the child after it is in a container might
trigger useless processing which I could avoid by doing it before
adding it to the container.

Allowing use of unique_ptr<> seems more flexible.

-- 
Murray Cumming
murr...@murrayc.com
www.murrayc.com



_______________________________________________
gtkmm-list mailing list
gtkmm-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtkmm-list

Reply via email to