Sie sind hier: Startseite / Program / Wednesday Premier Track / Widget Layout: Enabling our dialogs to look beautiful, with no code change

Widget Layout: Enabling our dialogs to look beautiful, with no code change

Demonstration and presentation of converting archaic fixed position dialog layouts to a container based optimal size layout with visual editing

Caolan McNamara
17.Oct.2012 from 15:30 to 16:30
60 minutes

Details of the Talk

Dialogs in LibreOffice are horrifically ugly, mostly because all widgets contained within them and the dialog themselves are typically fixed size and sized to contain the text of the longest translation. The other reason they are ugly is because they are so painful to edit.

The working solution demonstrated here is to:

  1. Add container layout support to LibreOffice Visual Class Library similar to the model used by GTK
  2. Extend, adapt and integrate existing support for determining the optimal size for a widget
  3. Add support to load dialogs from the XML .ui format used by GTK. Which enables the reuse of glade as a visual UI editor for LibreOffice
  4. Provide a mechanism where an old layout-unaware dialog can be converted into a layout-aware dialog without any code change
  5. Converter tool from existing .src to first-draft .ui

The upshot is that a dialog can be converted to using widget layout by dropping a new .ui file in the right place and it "just works". Any converted dialog can be extended and improved by direct editing of the .ui file with glade

Sponsored By

Copyright information

Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0. License. This does not include the source code of LibreOffice, which is licensed under the GNU Lesser General Public License ( LGPL v.3 ).


"LibreOffice" and "The Document Foundation" are registered trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.

Privacy Policy || Impressum (Legal Info)