On Thu, 2013-08-08 at 10:26 +0200, Murray Cumming wrote: > Over the last few days I've spent a long time wrestling with gio's new > GAction API, trying to port some gtkmm code that used GtkAction and > GtkUIManager, both of which GTK+ has now deprecated. This email is to > get some feedback in case I've lost perspective. > > Note that several GTK+ developers feel that this API has been deprecated > too soon, but I am not confident that it will be reversed. We might want > to avoid the deprecation in gtkmm even if they do it in GTK+. > > Here is some code that I've ported in gtkmm-documentation, in the gmenu > branch (whose commits must be squashed before putting this in master): > http://tinyurl.com/lbgv3uo > > And here is what the old code looks like in master, using GtkUIManager: > http://tinyurl.com/ktmllcb > > I've tried to make the C++ API as nice as possible, avoiding the need > for magic incantations, or the need to understand the overly-conceptual > documentation, and avoiding the need to deal with GVariant > (Glib::VariantBase and Glib::Variant<>) too much. For instance, using > templated get_*() and set_*() methods as we do with Glib::Value<> > elsewhere. However, we are limited because we have already declared some > of the API stable: > http://tinyurl.com/kmbyt8d > Therefore, our application code still sometimes has to create and cast > Variants that it gets from, or needs to give to, some methods. Which is > annoying. > > The convenience API, for toggle items and radio items, that I've created > is not pretty. I guess that derived classes would be nicer. I've > suggested that the C API should have these: > https://bugzilla.gnome.org/show_bug.cgi?id=705655 > > There are other problems that prevent a simple deprecation of GtkAction: > * There is no replacement yet for GtkRadioActionItem: > https://bugzilla.gnome.org/show_bug.cgi?id=705656
I meant GtkRecentAction: https://bugzilla.gnome.org/show_bug.cgi?id=707422 This is still the major obstacle to us really deprecating GtkAction and GtkUIManager. I don't see much chance that it will be fixed in the GTK+ API soon enough. > * GtkBuilder's <menu> syntax does not let us define toolbars, like > GtkUIManager's syntax did. But apparently I'll be able to get this > working with GtkBuilder's old syntax and the items' action-name > properties. -- murr...@murrayc.com www.murrayc.com www.openismus.com _______________________________________________ gtkmm-list mailing list gtkmm-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtkmm-list