GtkBuilder has landed!

Today, after more than 2 years and 120 comments I could finally close #172535, adding support for loading interfaces created by UI designers in Gtk+.

GtkBuilder replaces libglade, it uses a similar XML format but also supports the following:

  • GtkTreeViews including columns and cell renderers
  • Menus and toolbars created using GtkUIManager, including actions & actiongroups.
  • TreeModels, it’s possible to define the data used by treemodels. It’s used by treeviews, iconviews, comboboxes, and entries.
  • SizeGroups, align all these widgets without using tables!

I’d like to especially thank Matthias Clasen for reviewing the beast, it was over 6500 lines in the end! Henrique Romano helped me to implement parts of it and Tristan Van Berkom, Tim Janik, Kalle Vahlman, Christian Perch, Dan Winship, Owen Taylor, Behdad Esfahbod and Havoc Pennington also helped out with suggestions and improvements to the patch.There are a couple of things that needs to be done to simplify the transition from libglade to gtkbuilder though:

  • Add support in UI designers. Gazpacho mostly supports it already, it’ll be easy to fix. glade-2 is out of the question and I expect glade-3 to at least partially support GtkBuilder before GNOME 2.20 is released
  • Improve migration from libglade files. There’s a script in bugzilla which converts old libglade files to files which gtkbuilder can load. It needs to be improved and tested, especially menus and toolbars
  • Some libglade features are not supported yet, such as loading only a part of a glade file and pixbuf properties. These will be fixed before the final Gtk+ 2.12 release

Now, time to party!

This entry was posted in Blogroll, General, GNOME, olpc. Bookmark the permalink.

15 Responses to GtkBuilder has landed!

  1. mike says:

    This really sound great!

    > I expect glade-3 to at least partially support GtkBuilder before GNOME 2.18 is released
    you mean 2.20, don’t you?

  2. johan says:

    mike: yeah, my mistake, updated to 2.20, thanks!

  3. Pingback: GtkBuilder has landed! | Pilka

  4. pclouds says:

    Finally. Congratulations! I’m now waiting for gtkbuilder support from glade-3.

  5. claudio says:

    This is awesome news Johan! congratulations and thanks for the good work!

  6. Congratulations, Johan. Thanks for the hard work.

  7. jdub says:

    Congratulations! Woohoo! ๐Ÿ™‚

  8. Congratulations, and good work!

  9. bersace says:

    You rock so much ! Thank you !

  10. Sri Ramkrishna says:

    Congratulations, dude! You rock! You deserve all the accolades you can get ๐Ÿ™‚


  11. Lorenzo Gil Sรกnchez says:

    Finally! Good job Johan. I’ve been waiting for this for a looooong time ๐Ÿ™‚

  12. Hongli Lai says:

    Why does GtkBuilder exist? What exactly is wrong with libglade?

  13. Where is this glade->gtkbuilder conversion script?

  14. Pingback: Tristan’s World » Blog Archive » Long time no blog

Leave a Reply

Your email address will not be published. Required fields are marked *